Installation of Elgg
(Note: Elgg requires
installing an instance of MySQL.)
Steps to make adjustment and disposal of trial installations easier.
At this point, we assume you've set up your MySQL database
- Start your mysqld server daemon.
(For the sake of this example, we'll assume we're running on port 9999;
you shouldn't actually use this port because only one daemon can
run on any port number.)
- Login to the server as root user, using the mysql client.
- Create a database to store Elgg's tables. We'll call the database elggalpha.
mysql> create database elggalpha;
- Grant access to a user — for this example we'll call him/her
mysql> grant all privileges on elggalpha.* to 'elggalphauser'@'moxie'
-> identified by 'secretpassword';
- Type umask 022
- Change into your public_html directory (aka folder).
- make a directory called elgg
- Change into the elgg subdirectory of public_html.
- download elgg into this directory
- you'll end up with a file named
(It's not literally X.X.X.X, it might be
elgg-184.108.40.206.zip, for example.)
- unzip elgg
unzip -q elgg-220.127.116.11.zip
- you'll end up with a directory (folder) named
- make a symbolic link (aka shortcut) to this
ln -s elgg-X.X.X.X alpha
(For example, ln -s elgg-18.104.22.168 alpha)
- Give user nobody access to this directory
/usr/misc/bin/acl.sh -r -u nobody elgg-22.214.171.124
- create a data directory for elgg (get into your
home directory first):
mkdir -p elgg/alpha/data
chmod -R 755 elgg/alpha/data
- Change into the elgg/alpha directory.
- Give user nobody access to this subdirectory data
/usr/misc/bin/acl.sh -u nobody data
- In your browser, navigate to your elgg installation
You'll have a screen which includes this message:
Installing Elgg has 6 simple steps and reading this welcome is the first one!
If you haven't already, read through the installation instructions included with Elgg (or click the instructions link at the bottom of the page).
If you are ready to proceed, click the Next button.
- Follow configuration process:
- The first screen probably will contain a success message
in green and a failure message in pink:
Your server failed the requirements check. After you have fixed the below issues, refresh this
page. Check the troubleshooting links at the bottom of this page if you need further assistance.
Your server's PHP satisfies all of Elgg's requirements.
We think your server is running the Apache web server.
The rewrite test failed and the most likely cause is that AllowOverride is not set to All for
Elgg's directory. This prevents Apache from processing the .htaccess file which contains the
A less likely cause is Apache is configured with an alias for your Elgg directory and you need
to set the RewriteBase in your .htaccess. There are further instructions in the .htaccess file
in your Elgg directory.
The database requirements are checked when Elgg loads its database.
- To correct this, replace the .htaccess file that Elgg created
with one that you can edit:
cp -ip .htaccess temp-htaccess
mv temp-htaccess .htaccess
- Edit the .htaccess file:
Go to approximately line 101 (where it says #RewriteBase /)
and add the line:
- Be sure to save the edited file.
- Click the Refresh
- If this hasn't fixed things, seek professional help.
- Click the Next
- Fill in the parameters appropriate to your MySQL installation.
If you haven't already created a database for Elgg, do that now. Then fill in the values below to
initialize the Elgg database.
User that has full priviledges to the MySQL database that you created for Elgg
Password for the above database user account
Name of the Elgg database
Hostname of the MySQL server (usually localhost)
‡You might need to use 127.0.0.1:9999 for the host
if you haven't set up MySQL as we've done.
Database Table Prefix
The prefix given to all of Elgg's tables (usually elgg_)
- Continue filling in forms as requested.
Database has been installed.
We need some information about the site as we configure Elgg. If you haven't created a data directory for Elgg, you need to do so now.
My Elgg Site version Alpha
The name of your new Elgg site
Site Email Address
Email address used by Elgg for communication with users
The address of the site (Elgg usually guesses this correctly)
Elgg Install Directory
The directory where you put the Elgg code (Elgg usually guesses this correctly)
The directory that you created for Elgg to save files (the permissions on this directory are checked
when you click Next)
Default Site Access
The default access level for new user created content
Create admin account
Site settings have been saved.
It is now time to create an administrator's account.
The name that is displayed on the site for this account
Account username used for logging in
Account password must be at least 6 characters long
Retype password to confirm