I keep getting a 500 Internal Server Error. Why?

  • March 17, 2022
  • 1 Comment
There are many different possibilities. 
If you have a problem, misconfiguration, or syntax error in you script, you will probably be able to find it by checking your error logs which can be found in your your control panel under "Statistics -> Show Error Logs".

Although this is generally caused by a problem within the script, many times it is caused by incorrect file permissions either on the script itself, or another file or directory used by the script. 
You should also verify the that the script paths are set correctly.

You should verify that the first line of your script is the path to Perl, and that it is correct. It should be set to:

/usr/bin/perl
OR
/usr/local/bin/perl

You should also verify that the scripts were uploaded in the correct mode (ASCII or Binary - check the readme for the scripts to see any special instructions. Normally it is ASCII).

Another problem could be permissions of the file or directory. Your script permissions should be 755, or rwxr-xr-x. Do Not make your CGI scripts 777 (or rwxrwxrwx). This would make them editable by other customers on the same server. In fact, if you script contains password information to connect to a MariaDB database, you should make them 700 (rwx------) so no one else would even be able to read them. The same thing applies to directories where the scripts reside.

How helpful was this article to you?

Paul Louderback
February 13, 2013

Appears to be working..

My server tech may have fixed it..

Posting has been disabled.