This is the INSTALL README for ClaSS-0.8 (last updated 2008/05/08) For additional help and advice refer to the ClaSS homepage: http://www.laex.org/class/ If it still doesn't work or you have further questions then email your query to: stj@laex.org ------------------------------ The five steps to install. ------------------------------ (0) Preparation. ClaSS uses PHP and MySQL. It is assumed you already have these correctly installed on your webserver and that you have full command-line access to the server. In addition, the PEAR libraries for PHP are used. The PEAR:DB package is essential. ClaSS will install but won't work correctly without the PEAR:XML_Serializer package. If you turn the automated emailing on, setting $CFG->emailoff='no' in school.php, then you will also need the phpmailer library installed. Under debian this is installed at /usr/php/libphp-mailer and this is the default setting in in school.php. If your install path is different then edit $CFG->phpmailerpath. The versions of these packages you are running is probably not so important as long as they are not ancient. ClaSS-0.8 is known to work with the following: PEAR::DB 1.6.2 PHP 4.3.10-13 Apache 1.3.33 MySQL 4.0.24 and has been reported woking happily running on higher versions including MySQL 4.1.x, MySQL 5.0.22 and PHP 4.4.x. It is yet to be fully tested with PHP5. Please do let stj@laex.org know about your successes and failures. ------------------------------ (1) Locating the application in your webspace. (1.1) Create a toplevel directory in your webspace, the name of which will be the name users see when accessing your ClaSS site. eg. /var/www/class-site/ (1.2) Move the ClaSS.tar package into this toplevel directory. And unpack the tarball. eg. tar -xvf ClaSS-0.8.tar (1.3) Unpacking created the class directory under which all application files exist. In addition a sub-directory (class/install) includes all the files needed to install and configure the database. The following files from the install directory need to be moved to be located in your class-site directory using the command: mv class/install/toplevel/* . These files, located outside the class application directory, are not automatically replaced when ClaSS is next updated. This procedure is intended to preserve any school-specific changes you make to these top-level files. (1.4) Edit school.php, following the in-line comments, to make it relevant to your installation. (1.5) To optimise local php and apache settings there is a .htaccess file provided to get you started. This will needs to go in in your class-site directory and you may want to check the options. You will also need "AllowOverride all" set in your apache config file for the htaccess file to work. However, htaccess files are not themselves optimal and if you have full access to your master apache server files then its recommended to include the options from the htaccess file within a section in your main config file and set "AllowOverride none". For Apache2 you'll find your config files in /etc/apache2/site-available. For further guidance: http://httpd.apache.org/docs/1.3/howto/htaccess.html ------------------------------ (2) Preparing MySQL for the first time (if you already have a mysql user this won't be necessary). (2.1) Run mysql as root user at the command line: mysql (2.2) Add a user: GRANT ALL PRIVILEGES ON *.* -> TO username@localhost -> IDENTIFIED BY 'some_password' WITH GRANT OPTION; (2.3) Make sure root gets a password if they haven't already: SET PASSWORD FOR root@localhost=PASSWORD('new_password'); (2.4) exit ------------------------------ (3) Installing the empty database and connection script. (3.1) Ensure that the toplevel directory is writable by the webserver. This can be done most simply (if insecurely!) by executing the command: chmod 777 /var/www/class-site Be warned! You must change this setting back once the install script has been run or else you risk leaving your site wide open to security issues. Probably you need: chmod 755 /var/www/class-site (3.2) Run the install script by pointing your browser at: http://localhost/class-site/class/install/ (3.3) You will be asked to supply the MySQL user details you just set-up above. If it fails go back to (3.1) and check the directory permissions are set so the webserver script is allowed to write to the class-site directory. (3.4) If you used chmod in step (3.1) then make sure you use it again now. Change the settings back to how they were using something like: chmod 755 /var/www/class-site ------------------------------ (4) Getting started. (4.1) Point your browser at http://localhost/class-site/ and login using username:administrator and password:(the MySQL connect password you gave above). (4.2) For security, it is recommended the install directory is removed once all is working. And check the permissions of the webspace are secure. (4.3) Read the ClaSS Administrator's Guide at http://www.laex.org/class/adminguide.html to get yourself started on populating the database for your school. ClaSS can be configured to work with (almost?) any curriculum structure using a "Curriculum Pack" to define codes for subjects and courses, yeargroups and forms etc. The packs are made up of a set of easy to read and edit xml files, they are distributed seperately from the source code but are also available for download from the ClaSS site on sourceforge. (4.4) Send an email to stj@laex.org with your feedback or just to say you've given ClaSS a try. All your comments and encouragement help in making ClaSS a better piece of software. --------------------------------