[ic] Internal Server Error - How to trace problem?
jonc at webmaint.com
Sun Jan 30 11:08:43 EST 2005
> > >Having manually installed DBD::mysql on my server with no root
> access, the
> > >foundation catalog now seems to build ok and the server runs
> with the ...low
> > >traffic setings etc. However any attempt to display the
> catalog or admin
> > >results in an Internal Server Error 500. How do I trace this
> problem, the
> > >error.log shows nothing abnormal?
> > The first place I'd look is in the web server logs. Specifically the
> > error_log. That should tell you what file and path it's trying to
> > access when you get the error. Chances are the path is different from
> > where you're script is.
> > You also should check the permissions of the cgi for the catalog.
> > Here's what mine look like:
> > -rwsr-xr-x 1 interch interch 7716 Aug 29 08:52
> > /home/downhom/www/cgi-bin/demo
> > --
> I fixed it, I did "chmod -s cgifile" where cgifile is the catalog file eg
> /cgi-bin/foundation or whatever it was called and now it works, I
> am missing
> all the admin graphics but I suspect this will be easier to fix.
> For anyone who finds this in the future, it is possible to
> install local perl
> (5.6.2) including DBD::mysql and compile interchange (5.2.0) without root
> access and run it, don't give up! By the way I am playing with this on a
> Hostroute re-seller account via SSH access, NOT using the cpanel,
> they removed
> the cpanel script anyway.
Also for the archives, the reason for this is that apache is running suexec.
Servers running Plesk Server Administrator for example operate like this.
This is a security feature and there are certain things apache is more
particular about when running a cgi script. These are:
* cgi-bin directory must only be writable by the user, not the group.
* script must be owned by the user, and only writable by the user.
* script must not have the sticky bit set (s).
The server will return a 500 error if any one of these is not true. The
specific error is available in the suexec_log file which in your case you
may not have had access to anyway. On our servers its in
/var/log/httpd/suexec_log (Red Hat Linux).
The makecat process asks if you are running suexec when you create a
catalog. If you say yes it sets permissions of the link file to rwxr-xr-x,
Webmaint.com - Building Clever Websites http://www.webmaint.com
Webmaint.net - Business Web Hosting http://www.webmaint.net
Cartridge SAVE - Printer Consumables Online
WireTel - Internet Connectivity Solutions http://www.wiretel.net
More information about the interchange-users