500 Internal Server Errors can be caused by many issues. Please be advised if you are using Internet Explorer as your browser, it is known to display an internal server error when there isn’t one. Try using another browser first to eliminate this possibility.
If you are using a different browser, then the error may be due to one of the following: permissions/ownerships of files, memory usage, or coding (.htaccess, premature end of script, software specific).
To troubleshoot the 500 internal error you need to be ready to work on the command line via an SSH connection to your server.
To determine what is causing the 500 internal server error, log in to your server via SSH and run a ‘top’ command, which will let you know if you have maxed-out your memory. If it is near full or you are unable to do this due to a ‘cannot allocate memory’ error, then you have likely found the issue. To resolve a max memory issue the server will usually need to be rebooted, especially if there is not enough memory to log in or run commands.
If memory is not the issue, then the next step is to take a look at your apache error log. On a cPanel server this log is located in: /usr/local/apache/logs/
Run ‘tail -f’ on the log to view the log as streaming, and then refresh the page giving you the 500 error. Once you have refreshed the page end your ‘tail’ command via ctrl c.
Take a look at the output of the log and it should give you more information about the error and what is causing it to occur.
photo by Andy Melton