Helping people with computers... one answer at a time.
An "Internal Server Error" is an error that's happened within the web server attempting to show you an HTML page. It's typically a server-side problem out of your control.
I'm trying to download software from a specific site, and no matter what I try to download I get this error message:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
How is this resolved?
I'm all too familiar with this error. I see it all the time when setting up or making changes to web sites.
The good news? It's not your fault.
The bad news? There's nothing you can do.
Quite literally an "Internal Server Error" is an error on the web server that you're trying to access. That server is misconfigured in some way that is preventing it from responding properly to what you're asking for.
Aside from informing the site owner - which may, or may not, be the "webmaster" email address that's included in the error message - there's absolutely nothing you can do to resolve this problem, because it's not your problem. The person who is responsible for the website needs to fix it.
So what if that's you? What if you're the webmaster?
Nine times out of 10, this error results from one of two very common errors:
An error in a cgi script that caused it to fail or output an error message before it started producing valid HTML. It happens to me all the time if I have a syntax error in one of my Perl cgi scripts.
A permissions issue attempting to access a cgi script. Depending on how your web server is configured, quite often it's not enough for the script to have "execute" permission, but it must also be owned by the correct user, and belong to the correct group. I can't tell you what that should be, since it varies widely from server to server (and even site to site on the same server). My best recommendation is to look at the attributes of a script that's working, and copy that.
The format of the error described here is common for Apache web servers. That means we can also look for common error logs. Once again, the location of these logs can vary a great deal based on the specific web server configuration.
access_log is the log of successful accesses. On a shared or virtual hosting server there may be many of these, one per web site, often with site-specific names, or in site-specific locations on the server.
error_log is the log of errors. On some hosts, there is an error log per site. On others, though, even though each site may have its own access_log, there may only be a single error_log for the system.
suexec_log is the log most people forget about. This log deals with the permissions used to execute cgi and other scripts. When a cgi fails to execute because its ownership is wrong, the generic "Internal Server Error" shows in the error log, but a more specific error detailing the permissions involved shows in this log.
And for the record, the message: "Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument..." indicates a second configuration error. When the web server encounters an error, the page it displays to report the error is actually just another .html file stored on the server. In all likelihood, the website has been configured to use "custom" error pages (meaning that the website can provide its own custom error messages), but the custom error pages were never created or configured.
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.