I'm trying to install Elgg on a website. It is on the site's root directory. So far I'm on the installing.php (http://www.domain.com/install.php) and stuck up as I'm having problems. Whenever I hit the 'save' button an error page appears. It says:
Not Found
The requested URL /action/systemsettings/install was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.41 Server at -------.com Port 80
Help please! I have tried the trouble shooting methods from the installation documents but nothing seem to work.
Thanks in advance!
Troubleshooting page here: http://docs.elgg.org/wiki/Troubleshooting
The first one is likely your problem and the solution is there. Try out the mod_rewrite test in that section.
Hi, I have the same problem. I've tried every solution I've seen in the post, the mailing lista and the troubleshooting page with no luck.
My mod_rewrite is working (I followed the test you suggested above, the phpinfo() also confirms it), but I'm not sure if it's maybe an error when I try to apply this instruction:
"
Please note that the path you are using is the WEB path, minus the host.
For example, if your Elgg install is in:
/home/marcus/public_html/
Your RewriteBase line should look like:
RewriteBase /~marcus/"
I think I don't understand that clearly. Where is that line suppose to be? At the beginning of the file? My web root is /var/www/ and my path is /var/www/elgg/. I don't get that RewriteBase example.
So far I have all of this new lines in my .htaccess:
1) Options -MultiViews
2) RewriteBase /var/www/elgg/
3) RewriteEngine On
This .htaccess file is placed in /var/www/elgg/. Do I need to do anything else?? Am I doing something wrong?
Thanks a lot for your help, I hope you can guide me finding a solution for this. I've spent too many hours trying to make it work.
Cheers!
Let's say your domain name is example.com
a directory path of /var/www/ maps to a web path of http://example.com/
a directory path of /var/www/elgg/ maps to a web path of http://example.com/elgg/
RewriteBase works with web paths so it will be /elgg/
Ugh, I hate elgg's url parsing...
In the first case it should http://example.com/
Second should be http://example.com/elgg/
Hi again!
Cash, thanks a lot for that effort you do to help us even against the Elgg+TinyMCE combination you have there hehe.
I'm still stucked with this problem. I changed my RewriteBase path as you suggested to only /elgg/, saved the file and it didn't work at all. The same message keeps coming on to me:
The requested URL /elgg/action/systemsettings/install was not found on this server.
I have a pretty clean installation in my linux (debian) machine. I installed the AMP with apt-get and I checked on the phpinfo() that I have DOM, JSON, GD and everything Elgg asks for.
I activated the the mod_rewrite as it's supposed to be done (symlinking from mods_available to mods_enable), I've done a couple of mod_rewrite tests in it (including the one recommended here) and both went ok. The phpinfo() also tells me the module is loaded.
I have every permission to the database and I'm the root user in this machine. As in every debian installation I have my apache webroot at /var/www/ and I unzipped elgg's folder there. So I have /var/www/egg/.
Inside the elgg folder I created a .htaccess file from scratch and I've pasted the code I was told to paste. After the initial problems I've changed that file a couple of times. I added a line "Options -MultiViews" at the top of it following instructions from a post at the forum, I added "RewriteBase /elgg/" anywhere (I don't know if the place matters, I just put it before <IfModule !mod_rewrite.c>), I also added "RewriteEngine On" because I read it in the forum.
The link I see in my browser is like this: http://example.com/elgg/action/systemsettings/install, and this is the page I get after hitting SAVE before.
I've restarted Apache after every change, I've changed every "AllowOverride all" even when I don't see the point and I'm really about to give up even I don't want to do it.
So, after all that story, do you have any last suggestion for me??
Thanks a lot in advanced for everything.
Cheers!
Ok problem solved.
This is what I did:
1) Get rid of the .htaccess I created
2) Rename the system htaccess (htaccess_dist) to make it .htaccess
3) Edit the new .htaccess with /elgg/ in the RewriteBase
4) Restart Apache (I think this is not necessary but at this point I'm paranoid)
Everything went well this time :)
Thanks a lot again..
I was having the exact same problem but fixed it with the last post. Thanks Juan.
Now I have another problem: I got past the install and tried to register the first user... upon submission I get another 404 and my URL reads:
http://example.com/homepages/26/d147515119/htdocs/elgg/action/register
Seems like an .htaccess fix... but I'm not sure what to do to fix it. I'm a noob with mod rewrite stuff :P
Looks like a problem with your site url in your sites_entity database table.
I'm assuming it should be example.com/elgg/ and not the long, convoluted one you posted.
The Elgg install has a tough time automatically picking up the site url on shared servers. Change the url using phpMyAdmin or whatever your hosting site provides.
You're correct, Cash.. URL should be short and sweet.
Yea I figured the shared hosting is the problem (using 1and1). This stuff is ALWAYS a headache to get situated. Trying out the URL change in phpmyAdmin.
Great fix Cash.
This fix should definitely be mentioned in the troubleshooting page.
Thanks for the pointer to the troubleshooting resource cash. Solved my problem for me. :)
Hi! I do have the same problem as you, Benjamin... but, to be honest, basically i don't know how to change the URL in the elgg_site_entry database table. I can access to PhpMyAdmin but don't know how to figure it out...
I'm getting started in managing phpmyadmin so I would appreciate help.
thanks!!
@xav - Browse the elgg_sites_entity table and you should see one row with the wrong URL. Edit it to make it right (don't forget the / at the end).
If you're just starting out and not comfortable editing raw SQL, you can always just delete the database and start again the installation again.
@kxx4:
Check your settings.php in the engine folder. Does it exist yet? What entries are there for the following variables?
$CONFIG->dbuser
$CONFIG->dbpass
$CONFIG->dbname
$CONFIG->dbhost
$CONFIG->dbprefix
Are the entries correct? If not, you can correct them. If the file settings.php does not exist yet, you can rename the file settings.example.php to settings.php (or copy the file with the new name settings.php).
Then edit in settings.php the following lines (remove the {{ }}):
// Database username
$CONFIG->dbuser = 'your_database_username';
// Database password
$CONFIG->dbpass = 'your_password';
// Database name
$CONFIG->dbname = 'your_database_name';
// Database server
// (For most configurations, you can leave this as 'localhost')
$CONFIG->dbhost = 'localhost';
// Database table prefix
// If you're sharing a database with other applications, you will want to use this
// to differentiate Elgg's tables. (Set it to elgg_ otherwise)
$CONFIG->dbprefix = 'elgg_';
If it still doesn't work it's likely a permission issue with accessing the mysql database.
@kxx4: I've never used SSL myself. Isn't it enough to just uncheck "Enable HTTPS logins" in Site Administration?
As I said before I've never tried SSL login myself. The doc includes this page:
http://docs.elgg.org/wiki/Https_login_turned_on_accidently
I hope this helps you.