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]
