The latest version of the installation instructions is available at: [http://docs.elgg.org/wiki/Installation] Installation Troubleshooting is available at: [http://docs.elgg.org/wiki/Troubleshooting] 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. (Elgg can also run on other web servers such a nginx and IIS, but requires further configuration). 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+. * PHP 5.2+ needs to be installed as an Apache module with the following libraries: o GD (for graphics processing such as avatar cropping) o Multibyte String support (for internationalization) 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. 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 that your web server 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 figure out what user Apache runs under. For Debian-based distros, it is usually www-data and for RedHat, it is often apache. If you cannot figure out what the ownership and permissions should be, you can set the permissions for world access (though not recommended): 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. 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.php 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 your web server does not have permission to create these files, you will need to either 1. Change the permissions on the directory where you are installing Elgg and the engine directory and try again. Remember to change the permissions back to the original values after installation is complete. 2. Copy engine/settings.example.php to engine/settings.php, open it up in a text editor and fill in your database details. Then copy /htaccess_dist to /.htaccess The latest version of this document is available at: [http://docs.elgg.org/wiki/Installation] Installation Troubleshooting is available at: [http://docs.elgg.org/wiki/Troubleshooting]