1. Installing a new server

1.1. Obtaining a copy of Interact

The latest version of Interact can be downloaded from http://www.interactlms.org/. Here you will find details about the latest stable release as well as package downloads in several formats.

1.2. License

Interact is release under the GNU GPL

1.3. System Requirements

Interact was developed on Linux using PHP, Apache and MySQL. It has also been tested on Windows using EasyPHP, and on Mac OSX. It should run on any webserver and platform that can support php and mysql. The requirements for Interact are :

  • Some sort of web server. Apache is the most common, but it should work under any server that can support PHP.

  • PHP version 4.3.0 or higher, with the following settings:

    • Safe Mode must be turned OFF

    • Session support turned ON

    • File uploading turned ON

    • Mysql database supprt switched on

If you are wanting to run Interact on a hosted server, ie. one that you don't have full control over, then make sure the above things are available before you sign up.

1.4. Installation Steps

  1. Create a databse in mysql and grant all to the username you are going to use to run interact, eg.

    create database interact;

    grant all on interact.* to interactuser@localhost identified by 'topsecretpassword';

  2. Untar/Unzip the Interact installation package.

    If you want Interact to run in the root of your webserver, ie. Interact runs when you go to http://yourserver.com/, then copy all of the files in the interact/ directory to your webserver root direcory.

    If you want Interact to run in a sub-directory, ie. Interact runs when you go to http://yourserver.com/interact/, then copy the interact/ directory to your webserver root.

  3. Rename the config_default.inc.php file to config.inc.php then open this file in a text editor and edit file to reflect your server settings. For maximum security you may want to set the DATA_PATH setting to a directory outside of your webserver root, but the .htaccess files will prevent direct access (requires Apache server with htaccess overrides allowed)

  4. Give your webserver user write access to the following directory

    /local

    eg. for linux if your webserver runs as nobody from the interact home directory type >chown nobody local/modules/sharing etc. For the users subdir use >chown -R nobody local/users in order to give write access to the subfolders for the two default users.

    If you are on a hosted server with no shell access then you may be able to set the permissions for these folders via your ftp client. You will need to chmod the above folder to 777

    For Windows right click on the above folders and select Permissions - Security and add give your webserver user permissions to write to the above directories.

  5. If htaccess file overrides are not allowed on your server then Set 'magic_quotes_gpc=off' and 'php_flag register_globals off' in your php.ini file.

  6. Set a cron job to run the admin/auto.php file every 5 minutes or so. This can be run with standalone version of PHP or invoked via the web server. Use a batch file and 'at' or schedule to do this if you are on a Windows platform. eg wget -q -O /dev/null 'http://interact.yourserver.com/admin/auto.php' or php /home/httpd/html/admin/auto.php

  7. Go to http://yourserver.com/interact/admin/setup/ and run the database installation scripts

  8. You should now be ready to run. Go to http://your.interactserver.com/

    And log in with username = admin and the password you set during the installation procedure.

  9. In order for the 'unzip' option to work when upoading files you need to have an unzip utility (ftp://sunsite.unc.edu/pub/Linux/utils/compress/) or (http://www.info-zip.org/pub/infozip/UnZip.html for windows) installed and in your server path.

    You will also need to install imagemagik (http://freealter.org/doc_distrib/ImageMagick-5.1.1/) if you want uploaded photos to be automatically resized (once installed you need to make sure 'mogrify' is in your server path settings).

  10. IMPORTANT SECURITY NOTE. Make sure you have directory indexing/browsing switched off for all of the Interact directories otherwise users may be able to browse through uploaded dropbox files, etc.

    Also, to prevent users uploading and running their own php files within the system add the following lines to your apache conf file, replacing the directory path with the path to your interact installation.

    If you do not have access to your apache conf file then rename the htacess.txt file in the local subdirectory to .htaccess (AllowOverride needs to be on for this directory in order for this to work though).

    <Directory "/home/httpd/interact/local/users">
    AddType text/html .php .php3
    </Directory>
    <Directory "/home/httpd/interact/local/modules">
    AddType text/html .php .php3
    </Directory>