You’ve finally decided you wanted to make a site, then realized you need to spend days, maybe even weeks to find a system to run it. Or maybe you just stumbled on to Drupal. Next up is a possibly even bigger issue. You have to pick a host. While you need to be careful in making your decision, I hope this guide makes it easier for you.
Drupal server requirements
Drupal has very basic requirements. All you need is a server with at least PHP 4.3.5, MySQL 4.1 and Apache 1.3 or IIS 5.
Drupal recommends, and I agree with, that you have PHP 5.2, MySQL 4.1 or higher and Apache 2.2 or IIS 7.
I personally recommend that you stay away from IIS, also known as Windows hosting, as a server because URL rewriting does not work nearly as well, and you may run into several other small issues. Support for the Apache web server is much better.
PHP4 development has been stopped, so at this point it is considered insecure. While Drupal runs under PHP4 it is very strongly recommended to only use hosts that run PHP5. A host running PHP4 likely does not take the security of their servers very seriously, so you will want to ask them about their plans to upgrade or find a new host. In upcoming versions of Drupal they will be removing support for PHP4 as well, to introduce better functions to help the software run faster.
You will also want to be sure you’re on a server with Apache 2.2. Both PHP and Apache agree that both run best when running PHP5 and Apache 2.2.
What hosts meet these requirements?
Most hosts will have the server software requirements covered. The software, however, is but a very small portion of what needs to be covered. Any host should be using enterprise-grade hardware on it’s servers. This includes at least 2 CPUs with 4 cores each (8 cores total), hard drives in RAID10 configuration and 8 GB of RAM. RAID10 hard drives offer not only the fastest speeds but the greatest redundancy in the case of hardware failure.
You will also want to look for a host with a no overselling guarantee. Some hosts who have really good hardware pack too many sites on to each server (overselling it) to increase their profit margin. While this may be good for the hosts bottom line, it’s bad for your site.. That is another way to increase the chances of having a faster site and a happier experience.
Could my site be running faster? It works great with Drupal sites, despite being built for Joomla sites. After it runs you will want to scroll all the way down to the “Grades” section. The number you’re interested in is the Generation Time. This explains how long it took to generate the HTML on your site. You want to shoot for a load time under 0.5 seconds.
Things you might not even realize exist To get the most of your experience you will want to look for a hosting company that has experience with Drupal, so if you run into an issue you can ask them for help instead of hoping someone on a forum somewhere can help.
The single biggest people most people don’t consider when looking at hosts is the backups. These users have likely never had to use a backup before. But in the world of web hosting, it’s not a question of if you’ll need to use backups, it’s a question of when. Most hosts just setup cPanel to take a backup (most of the time just weekly, sometimes daily if you’re lucky). This setup often includes just leaving backups on a second drive in the server. Doing backups this way is a ticking timebomb and is asking for trouble. That, and restoring a single file on your site is a huge headache you don’t need. Along with keeping backups in a remote datacenter, good hosts will offer what’s known as continuous data protection (CDP) backups. CDP creates several backups of your site each day.
You can restore your entire site, a single file, or anything in between. You can also choose from several different restore points for each file. If you need to restore a single file, you don’t want to bother with asking your host to move your backup to your home directory, download the backup, extract the file, find the file you need and upload the file with FTP.
With CDP you use the web interface to select the file you want and the time you want to restore it from, click a couple of buttons, and the file has been restored for you.