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 <Directory> 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.

--------------------------------
