Installation

Read this in French

Contents

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. For detailed, step-by-step instructions for different types of local server environments (could be your home computer), see the operating specific instructions at the bottom of the page.

1. Upload Elgg

  • Download the latest version of Elgg to your computer and then unzip it.
  • On the webserver, you can store elgg in one of two ways:
    • In its own directory (i.e. /home/www/elgg)
    • In the document root (i.e. /home/www)
  • Upload the files with an FTP client to your web server.

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

We recommend that this folder be called "data". For security reasons, this folder must be stored outside of your document root. For example, if Elgg is installed in:

 /home/www/elgg/

You might want to create the data folder in:

 /home/www/data

Alternately, if Elgg is installed in:

 /home/username/public_html/

then you may want to create it in:

 /home/username/data/

Once this folder has been created, you'll need to make sure the web server Elgg is running on has permission to write to and create directories in it. This shouldn't be a problem on Windows-based servers, but if your server runs Linux, Mac OS X or a UNIX variant, you'll need to set the permissions on the directory.

If you are using a graphical FTP client to upload files, you can usually set permissions by right clicking on the folder and selecting 'properties' or 'Get Info'.

NOTE: Setting your data directory to 777 will work, but it is insecure and is not recommended. If you are unsure how to correctly set permissions, read this documentation or contact your host for more information.

3. Create a MySQL database

Using your database administration tool of choice (if you're unsure about this, ask your system administrator), create a new MySQL database for Elgg. You can create a MySQL database with any of the following tools:

Make sure you add a user to the database with all privileges and record the database name, username and password. You will need this information when installing Elgg.

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. The first account that you create at the end of the installation process will be an administrator account.

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 these files can't be automatically generated, for example because the web server doesn't have write permissions in the directories, Elgg will tell you how to create them. You could also temporarily change the permissions on the root directory and the engine directory. Set the permissions on those two directories so that the web server can write those two files, complete the install process, and them change the permissions back to their original settings. 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

Note for installation on a virtual host (e.g. Rackspace, Amazon EC2)

For installation to proceed successfully, modify the .htaccess file in the root, and uncomment:

117: #RewriteBase /

To be:

117: RewriteBase /
  • When you are setting up elgg and you are requested for your email address, you must provide an email address that you have access to and is on the same server as the elgg installation. If you use gmail, or any other email service for your admin email address, you will have problems with the site.

Operating System Specific Instructions

Search docs