We're rewriting our docs. This page has been ported to github. Join the effort!
Read this in French
You'll want to first recheck that your server meets the technical requirements for Elgg. Are you sure that your server is not configured to run in cgi mode or safe mode? Have you verified that mod_rewrite is being loaded? Is the mysql apache being loaded?
Keep notes on steps that you take to fix the install. Sometimes changing some setting or file to try to fix a problem may cause some other problem later on. If you need to start over, just delete all the files, drop your database, and begin again.
Elgg relies on the
mod_rewrite Apache extension in order to simulate certain URLs. For example, whenever you perform an action in Elgg, or when you visit a user's profile, the URL is translated by the server into something Elgg understands internally. This is done using rules defined in an
.htaccess file, which is Apache's standard way of defining extra configuration for a site.
This error suggests that the
mod_rewrite rules aren't being picked up correctly. This may be for several reasons. If you're not comfortable implementing the solutions provided below, we strongly recommend that you contact your system administrator or technical support and forward this page to them.
.htaccess, if not generated automatically (that happens when you have problem with
mod_rewrite), you can create it by renaming
htaccess_dist file you find with elgg package to
.htaccess. Also if you find a
.htaccess file inside the installation path, but you are still getting 404 error, make sure the contents of
.htaccess are same as that of
mod_rewrite isn't installed.
httpd.conf to make sure that this module is being loaded by Apache. You may have to restart Apache to get it to pick up any changes in configuration. You can also use PHP info to check to see if the module is being loaded.
The rules in
.htaccess aren't being obeyed.
In your virtual host configuration settings (which may be contained within
httpd.conf), change the AllowOverride setting so that it reads:
This will tell Apache to pick up the
mod_rewrite rules from
See the item below about installing in a subdirectory of your html root.
This is a problem with your mod_rewrite setup (see previous troubleshooting item).
DO NOT, REPEAT, DO NOT change any directory names!
If you installed Elgg so that it is reached with an address like http://example.org/mysite/ rather than http://example.org/, there is a small chance that the rewrite rules in .htaccess will not be processed correctly. This is usually due to using an alias with Apache. You may need to give mod_rewrite a pointer to where your Elgg installation is.
RewriteBase /path/to/your/elgg/installation/(Don't forget the trailing slash)
Please note that the path you are using is the web path, minus the host.
For example, if you reach your elgg install at http://example.org/elgg/, you would set the base like this:
Please note that installing in a subdirectory does not require using RewriteBase. There are only some rare circumstances when it is needed due to the set up of the server.
Maybe there is a problem with the file .htaccess. Sometimes the elgg install routine is unable to create one and unable to tell you that. If you are on this point and tried everything that is written above:
Check that the Apache mysql module is installed and is being loaded.
If you see a 404 error during the install or on the creation of the first user with a url like:
that means your site url is incorrect in your sites_entity table in your database. This was set by you on the second page of the install. Elgg tries to guess the correct value but has difficulty with shared hosting sites. Use phpMyAdmin to edit this value to the correct base url.
This is highly server specific so it is difficult to give specific advice. If you have created a directory for uploading data, make sure your http server can access it. The easiest (but least secure) way to do this is give it permissions 777. It is better to give the web server ownership of the directory and limit the permissions.
The top cause of this issue is PHP configured to prevent access to most directories using open_basedir. You may want to check with your hosting provider on this.
Make sure the path is correct and ends with a /. You can check the path in your database in the datalists table.
If you only have ftp access to your server and created a directory but do not know the path of it, you might be able to figure it out from the www file path set in your datalists database table. Asking for help from your hosting help team is recommended at this stage.
On certain versions of MAMP, Elgg will either fail to install or have intermittent problems while running.
This is a known issue with MAMP and is related to the Zend Optimizer. Until Zend/MAMP have resolved this issue it is recommended that you turn off the Zend Optimizer in your PHP settings.
While it's true that normal accounts (aside from those created from the admin panel) require their email address to be authenticated before they can log in, the admin account does not.
Once you have registered your first account you will be able to log in using the credentials you have provided!
Elgg 1.0 is an entirely new codebase and data model, and is not backwards compatible with Elgg Classic! Additionally, it has different installation requirements.
You must install Elgg 1.0 to a new database, and in a different directory on your server.
Elgg is not running under PHP 5.
Remember, PHP has three components - the php module, php cli and php cgi. Running php -v on the console and getting 5.x.x back does not necessarily mean that the apache module is running PHP 5!
Confirm you have PHP 5 installed and activated as an apache module.
It is possible that during the process of debugging your install you have broken something else. Make sure that you have confirmed that your server meets Elgg's technical requirements. Test your mod_rewrite. Then do a clean install (drop your elgg database, delete all the files in your elgg directory, and start the process again).
If that fails, you may want to seek the help of the Elgg community by posting at Elgg community site. Be sure to mention what version of Elgg you are installing, details of your server platform, and any error messages that you may have received including ones in the error log of your server.