ELGG INSTALLATION INSTRUCTIONS TECHNICAL REQUIREMENTS Elgg runs on a combination of the Apache web server, MySQL database system and the PHP interpreted scripting language. This is the most popular web server environment in the world. Due to Elgg's advanced functionality, there are some extra configuration requirements: * The Apache web server needs to be installed with the following modules: o mod_rewrite o PHP * MySQL 5+ is needed for data storage * PHP 5.2+ needs to be installed as an Apache module (not in CGI mode or safe mode) with the following libraries: o GD (for graphics processing, eg user icon rescaling) o JSON (for API functionality) It is recommended that you increase the memory available to PHP threads beyond the standard 8 or 12M, and increase the maximum uploaded filesize (which defaults to 2M). In both cases, this can be found in your php.ini. * The following PHP libraries are also recommended for some plugins and extra functionality: o mbstring (to allow emails to be sent with non-Latin characters) o SOAP o DOM INSTALLING ELGG Before you begin, make sure you have read Elgg's technical requirements. If you discover problems after following these instructions, check out the troubleshooting page at [http://docs.elgg.org/wiki/Troubleshooting]. 1. Upload Elgg Unzip Elgg and upload it to your site's document root. 2. Create a data folder Elgg needs a special folder to store uploaded files, including profile icons and photos. You will need to create this for it. We recommend that this folder is called data, and is stored outside of your document root. For example, if Elgg is installed in /home/elgg/html/, you might create it in /home/elgg/data. Once this folder has been created, you'll need to make sure Elgg has permission to write to it. This shouldn't be a problem on Windows- based servers, but if your server runs Linux or a UNIX variant, you'll need to type something like: chmod 777 /home/elgg/data/ If you use a graphical client to upload files, you can usually set this by right or shift-clicking on the folder and selecting 'properties'. 3. Create a database Using your database administration tool of choice (if you're unsure about this, ask your system administrator), create a new database for Elgg. Make sure you know the username and password necessary to access this. 4. Install your crontab (UNIX ONLY) Cron is a UNIX command which allows programs to be run at set times of the day. If you want to take advantage of some of the maintenance functions such as log rotation or garbage collection, you must install a cron tab to trigger these events. We have provided an example crontab as /crontab.example. Edit this with a text editor to provide the details of your site, rename it to another filename (eg 'crontab.mine') and install it with the following command: crontab crontab.mine Substitute your filename for 'crontab.mine'. 5. Visit your Elgg site Once you've performed these steps, visit your Elgg site in your web browser. Elgg will take you through the rest of the installation process from there. A note on settings and .htaccess The Elgg installer will try and create two files for you: * engine/settings.php, which contains the database settings for your installation * .htaccess, which allows Elgg to generate dynamic URLs If these files can't be automatically generated, for example because you don't have the correct directory permissions, Elgg will tell you how to create them. If, for some reason, this won't work, you will need to: * Copy engine/settings.example.php to engine/settings.php, open it up in a text editor and fill in your database details * Copy /htaccess_dist to /.htaccess The latest version of this document is available at: [http://docs.elgg.org/wiki/Installation]