Internal server errors can be caused by a few different things. Please check the Error Logs in cPanel for specific information.
The most common reasons for http 500 internal server errors are:
1. Incorrect file permissions
This is usually caused by incorrect file permissions on one or more files or folders. In most of these cases, an incorrect permission on a PHP or CGI script is to blame.
Directories and folders should only ever be set to 755 and individual files should be set to 644. Executable scripts within the cgi-bin folder must be 755 and all other images, media, and text files like HTML should be 644.
To run without errors, and more importantly for security, you should never have a file or folder with world-writeable (777) permissions.
2. Incorrect .htaccess
In the .htaccess file, you may have added lines that are either incorrect or conflicting. The best way to troubleshoot this is to comment out the lines in the htaccess by adding # to the beginning of each line in turn. You may wish to save an original copy of the file before making any changes.
3. PHP Timeout
If your script is poorly written or is calling resources that are not responding in time, this can cause the process to timeout or fail.
4. Malware or corrupted software
This applies especially to CMS driven sites such as WordPress and Joomla etc, where a Plugin or Theme may be outdated and not work with the version of the App that you are using.