How to Choose Your Hosting Provider for Your Drupal Installation
Written by LevelTen Guest Blogger: David Murton
This guide provides resources for choosing a web hosting service that supports the Drupal content management system. Links to authoritative sources on the topic are included at the end. One link leads to a site that lets you choose from just under 200 providers who support the Drupal CMS. Some of the providers are best for small blogs, others are better suited for small business, and others still are meant for large scale, enterprise class deployments.
A few considerations have to be made when choosing the most fitting host. How will Drupal be installed? What software versions work together? There are issues to consider with regard to databases, tech support, and modules. The .htaccess file, as well as best practices for file transfers, are regarded also.
Drupal-ready Hosting, PHP Support, and Code Snippets
These can be installed either manually or via the CMS panel of providers who offer Drupal for download. However, it is best to install Drupal manually. An automatic install may not sport the latest bells, whistles, and security patches. What's more, essential security updates are required, so manually installing Drupal is the way to go.
Drupal is written in PHP code. With this in mind, what version does the host use, and how often do they update it? Will the host update PHP on demand if you need the latest version, either because a module requires it or for some other reason? Taking care of this in advance could save you the hassle of changing providers later on.
The Drupal community offers code snippets, written by fellow users, free for download. The snippets enhance themes, blocks and pages in many different ways. If a module or block of code fails to do exactly what you want, chances are someone has written a code snippet that fills the gap. Not all snippets work on all sites, but tweaking the snippets to that end is relatively easy
Tech support
Drupal databases tend to fill up quickly, especially when several modules are added. MySQL and PostgreSQL are both supported under Drupal 7, but whichever database you use, use this as a benchmark: 25MB is just enough space for a minimal install, the bare essentials. Double that amount, or 50MB, is plenty of space for an above average website.
Does your potential host have genuine technical support staff, not just customer service, who can answer questions and provide real solutions from common to obscure? Are they open on holidays and at other critical times? Drupal is easy enough to get up and running, but there are some options that can have the most savvy searching for assistance. Consider the competency and availability of tech support staff when choosing a host.
Modules Galore
The functionality of Drupal is extended by the incorporation of modules. Most modules are quite small, so hard drive space is not a factor unless an install uses hundreds of them. Drupal performs great even when running three or four dozen modules. Some modules speed up Drupal incredibly; the most notable speed enhancers are Boost, Varnish and fastpath_fscache.
It is best to implement only necessary modules; avoid stuffing an install with modules that consume precious resources to the point that any benefits gained from the modules are countered or nullified. Ensure your potential host has the program versions required to load and run modules correctly.
The .htacces file
Not all hosting services allow htaccess to be configured due to security concerns, but look for a host that grants you this freedom. Drupal has several options, from basic to advanced, many of which are handled by htaccess. Chances are that you will need to edit the .htaccess file sooner or later, and you want a host that gives you the ability to configure htaccess for any reason, at any time.
File Transfers, SSH
File uploads made using standard File Transfer Protocol (FTP) are quite slow. Uploading several files takes a very long time because FTP starts a new connection for each and every file. File transfers are much faster when the files are compressed, for example, in ZIP format.
Make sure the hosting company allows decompressing files on their server after uploading. Some companies do this automatically; once a compressed file reaches the server, it is decompressed and extracted. When it comes to Drupal modules, each one contains more than one file; some modules contain hundreds of files apiece. This means you will be doing a lot of uploading, so remember to compress files before sending them.
Secure Shell (SSH) is a robust protocol that encrypts data in transit, creating a secure line of exchange. Some hosting providers today offer Telnet, an insecure predecessor of SSH that sends data in plain text. Secure Shell is a must-have to secure data on the move. The use of Telnet is discouraged due to its insecure nature.
Recap
Install Drupal manually instead of installing automatically through a provider's CMS panel. Make sure the provider's version of PHP is what you need, and can be upgraded on demand. Configure your system further with tweakable code snippets. Whether MySQL or PostgreSQL, your database needs a minimum of 25MB. 50MB is suggested for an above average website. Extend Drupal's functionality with modules, but don't overdo it. Use a host that allows editing htaccess. Finally, compress files before uploading them, and use SSH instead of the insecure Telnet protocol.