Answered by the Webhosting Experts
Tags +

Managed Services

Just Leave Linux to Us
Is maintaining your Linux server keeping your team bogged down? Alleviate unnecessary stress with one of Hivelocity’s Linux Managed Services plans. With reboots, monitoring, updates, and more, your team can rest easy knowing your hardware and OS are in the hands of hosting experts.

Configure your server today and see the benefits a Hivelocity managed Linux solution can offer you!

Tags +

How to Fix Internal Server Error 500

Sometimes, an error in permissions or syntax within a script will result in an Internal Server Error 500, also known as an HTTP Error 500. But what does this mean, and how do you fix it?

Well, in order to fix an HTTP Error 500, you must first understand what it means to receive one.


What is HTTP Error 500?

An HTTP Error 500, is an error code that designates a general error within the server keeping it from processing users’ requests. This is usually related to an incorrect permission, a request timing out, or a coding error.

If you’re online visiting a website and receive a 500 error, there is usually little you can do to resolve it. Apart from contacting the webmaster and letting them know, chances are, the problem exists within the server hosting the site and is outside of your control.

But what if you’re receiving an Internal Server Error 500 on your own server or website?


Common Causes of Internal Server Error 500

As the HTTP Error 500 only denotes a general issue with the server, it is possible for multiple issues to cause a 500 error. If you’re not sure where to begin looking to diagnose the issue, you’ll probably want to start by checking your error logs. This can be done within your control panel under “Statistics -> Show Error Logs”.

The following are several of the more common causes of an HTTP Error 500 as well some basic troubleshooting solutions. 

Bad Permissions, Writable by Group

This is probably the most common cause of an Internal Server Error 500. Typically it is caused by incorrect file permissions on a PHP or CGI script, but it may also be an issue with another file or directory used by the script.

Check and make sure that your directories and folders are set to 755 or rwxr-xr-x. Do not make your CGI scripts 777 (or rwxrwxrwx). Doing so would allow them to be editable by other users on the same server. Executable scripts within the cgi-bin folder should be 755. If your script contains password information for connecting to a MySQL database, you should make it and its directory’s permissions 700 (rwx– —). Images, media, and text files like HTML should be 644.

In the terminal, you can use the “ls -l” command to list the files in a directory alongside their permission settings. From there, you can use:

chmod +rwx filename

to add or change permissions on a file.

You might also want to determine if your script’s paths are set correctly. Start by verifying that the first line of your script is the path to Perl and that it is set correctly. It should be set to:


You should also verify that the scripts were uploaded in the correct mode (either ASCII or Binary). You can check the readme for the scripts to see if any special instructions are included. Typically, the correct mode will be ASCII.

For more information, check out our article on troubleshooting CGI scripts.

Bad .htaccess, Invalid Command

Within the (dot) htaccess file, it’s possible to receive an Internal Server 500 Error due to lines you may have added that are either worded badly or are conflicting in some way. The best way to troubleshoot this is to comment out the lines in the htaccess and determine by process of elimination which line or lines are causing issues.

*Note: It would be wise to save an original copy of any files you intend to edit before you start making changes.

You can comment out a line in the .htaccess by adding “# “to the beginning of it. For example, if the .htaccess looks like:

DirectoryIndex default.html
AddType application/x-httpd-php5 php

Then try something like this:

DirectoryIndex default.html
#AddType application/x-httpd-php5 php

Broken lines and lines that start with php_flag are the most common mistakes. If you cannot determine which line is the source of the problem, then comment out every line.

Exceeding Resources, Nothing in the Error Log

If the above two options yield no results, it is possible your 500 error is caused by too many processes in the server queue.

With SSH (shell) access, you can view the processes running on your account using the command:

ps faux

Or, type this to view a specific user’s account (be sure to replace username with the actual username):

ps faux |grep username

Once you have the process ID (“pid”), you can kill the specific process using the following command (be sure to replace pid with the actual process ID):

kill -9 pid


Popular Links

Looking for more information on Linux? Search our Knowledge Base!

Interested in more articles about Operating Systems? Navigate to our Categories page using the bar on the left or check out these popular articles:

Popular tags within this category include: Linux, Windows, Apache, CentOS, Debian, Fedora, RedHat, and more.

Don’t see what you’re looking for? Use the search bar at the top to search our entire Knowledge Base.


The Hivelocity Difference

Seeking a better Dedicated Server solution? In the market for Private Cloud or Colocation services? Check out Hivelocity’s extensive list of products for great deals and offers.

With best-in-class customer service, affordable pricing, a wide-range of fully-customizable options, and a network like no other, Hivelocity is the hosting solution you’ve been waiting for.

Unsure which of our services is best for your particular needs? Call or live chat with one of our sales agents today and see the difference Hivelocity can make for you.



Need More Personalized Help?

If you have any further issues, questions, or would like some assistance checking on this or anything else, please reach out to us from your account and provide your server credentials within the encrypted field for the best possible security and support.

If you are unable to reach your account or if you are on the go, please reach out from your valid account email to us here at: [email protected] We are also available to you through our phone and live chat system 24/7/365.

Rapid Restore

Backup your entire server’s data every night and have access to 5 days of rolling restore points.  Restore your server’s data, OS and configuration any time you need it.

Our Rapid Restore service saves the day during accidental data loss, hardware failures and virus contraction. Simply pick your recovery point and restore the data from that day. 

DDoS Protection

While our competitors may advertise DDoS protection, most often, they are merely implementing easily evaded router rules or simply black-holing targeted servers. They consider this “DDoS protecting their network.” However, neither of these solutions should give comfort to any online business. Should your site be attacked, chances are likely both of these options will end with your server being taken offline. At Hivelocity, we take the responsibility of keeping your servers online very seriously. For this reason, we offer two very serious forms of DDoS protection.


Every solution we provide includes our Filtering Edge of Network System (FENS). FENS is a series of proprietary systems that proactively monitors and protects the entire Hivelocity Network from most common Denial of Service (DOS) and Distributed Denial of Service (DDoS) attacks.


For an extra fee, you can enhance your server’s protection further with the addition of our Server Defense System. Our Server Defense System sits in front of your server, inspecting inbound data and looking for malicious traffic. The moment an attack is detected, it instantly begins scrubbing each data packet. Hivelocity’s Server Defense System delivers business continuity even in the face of massive and complex attacks.

Our Server Defense System is like adding an alarm and armed guard to your business, alerting you to and destroying anything attempting to jump that fence. Our Server Defense System utilizes internally developed proprietary systems in addition to Corero’s Threat Defense Smartwalls for data packet scrubbing. Each of our data centers is a scrubbing center with Corero Smartwalls on-premise, allowing us to provide on-prem zero-lag data scrubbing.

SSL Certificates

The security of your online commerce and protecting your customers’ data is as important to us as it is to you. When your customers see the green bar, they will know their connection to you is protected. We offer single domain, multi-domain, and wild-card certificates.

We offer industry leading 128-bit encryption certificates, allowing you to conduct e-commerce with complete security. Inspire confidence in your customers by displaying any number of seals and indicators certifying that your site is secure.

Load Balancing

Adding this service to two servers with identical content will allow you to distribute your load evenly across your hardware. Don’t lose business because you couldn’t handle the demand. Load balance and handle your biggest resource spikes with ease.


Stop attacks, prevent unauthorized access, and achieve regulatory compliance. Our Juniper hardware firewalls offload the work so your server never has to consume resources protecting itself from malicious traffic. A single firewall can be used to protect multiple servers.

Cloud Storage

Cloud storage offers users redundancy and easy accessibility, ensuring your data remains secure and readily available. Scale to as much as you need for only a 20¢/GB.

Cloud Storage is distributed and replicated across many servers, protecting your data from hardware failure. Highly scalable, it can handle thousands of client connections via TCP/IP. Connect to your virtual drive with SFTP, FTP, and SSHMount and in the future NFS and AFP. Cloud Storage is based on a stackable design which is upgradeable up to 2TB per instance.