How to pick a Joomla! host

There are a lot of things to consider when choosing a web host. Usually the first things we look at are price, storage, and bandwidth, but I would argue that storage and bandwidth are mostly irrelevant as criteria for choosing a host. Buying a hosting service because it offers a huge amount of storage and bandwidth is like buying a car because it has tires. Every web host offers tons of storage and tons of bandwidth for a reasonably low price, so that really takes those two things out of the equation. Price is important, but I would also argue that it should not be the most important factor either. Read on to get some tips for what to look for in a Joomla! host.

What should I look for?

The answer to the question of what you should look for in a host really varies depending on the needs of your site. However, there are some basic features that you will need if you want to install Joomla! successfully:

  • Apache 1.3 or above or Microsoft IIS (Apache 2.2 or above is optimal)
  • PHP 4.3.10 or above (PHP 5.x or above is optimal)
  • MySQL 3.23.x or above (MySQL 5.x is optimal)

Most web hosts that offer Linux hosting offer these minimum requirements, so that is usually not a problem. Another thing I like to look for in a host is whether or not they offer easy tools for managing a MySQL database, like phpMyAdmin. Again, most web hosts offer phpMyAdmin.

The Joomla! installation application checks for some basic requirements that also must be met in order to install Joomla!. These requirements are as follows:

  • PHP Version >= 4.3.10: Most web hosts meet this requirement. If your web host does not meet this requirement, you need to consider switching hosts.
  • Zlib Compression Support: Joomla! uses Zlib compression for installing extensions. If your server does not have Zlib Compression support, you cannot use the extension installer.
  • XML Support: Joomla! uses XML for extension installation, and for managing extension parameters.
  • MySQL Support: Joomla! uses the MySQL database engine to store and retrieve data.
  • MB Language is Default: MB stands for multibyte. Multibyte language support allows for supporting languages that use so many characters that they cannot be contained in a single byte like English can.
  • MB String Overload Off: MB String Overload is a PHP setting that enables programmers to use standard string functions for handling multibyte strings. Joomla! requires this setting to be off.
  • configuration.php Writable: You can actually go through the installation process if configuration.php is not writable, but it makes installation easier if it is writable. This is not a web host requirement, because this can easily be overcome by changing the file permissions on the server.

These basic requirements are also usually met by most hosts. Another set of recommended settings in the Joomla! installer are as follows:

  • Safe Mode Off: Safe mode is a setting that limits PHP so that it can only perform actions on files and folders with the same owner as the one PHP uses. This should be turned off so that Joomla! can perform actions on any file or folder with the proper permission settings.
  • Display Errors Off: For a live site, you want the PHP display errors setting turned off because if there is a PHP error, you want to be able to control the display of that error. For testing, it actually makes sense to have Display Errors On so that you can debug potential issues in your site.
  • File Uploads On: If your server prevents file uploads via http, you cannot use the powerful extension installer built into Joomla!. There are other ways to install extensions, but the installer makes it so much easier.
  • Magic Quotes Runtime Off: Magic quotes is a setting in PHP that automatically adds slashes to strings to escape quote characters for the purpose of saving the string to a database. The problem with this setting is that it can potentially add slashes to strings where you do not want slashes. Joomla! has built-in libraries for handling strings for saving them to the database, so Magic Quotes is not necessary.
  • Register Globals Off: Having Register Globals on leaves your site open to security vulnerabilities. You can read more about Register Globals at https://us.php.net/register_globals/. Joomla! has libraries that emulate the register globals setting, so it is not necessary.
  • Output Buffering Off: Output buffering can enhance performance, but the directive should be set to off and output buffering should be explicitly enabled in the program code.
  • Session Auto Start Off: The session auto start directive enables PHP scripts to work with sessions without requiring the script to explicitly start the session. The problem with session auto start is that if it is enabled in PHP, objects in the session classes must be loaded before the session starts. This can cause issues if the objects are not loaded, so Joomla! starts sessions explicitly to maintain control over the session starting process.

These settings are just recommendations, but you should really try and find a host that either a) meets these recommendations, or b) allows you to change settings on your server so that it meets these recommendations.

Ultimately, for me the choice of a web host boils down to reliability and support. The most common measure of reliability is uptime, meaning what percentage of time is your server up and running so that your site is available to your visitors. Support is another key thing because, let's face it, things happen. When they do happen, you want to have a web host that you can trust to help get your server and your site back up and running.

Recommended Hosts

For a regular web host, I host all of my sites with Eleven2.com. They offer tons of storage and bandwidth for a reasonable price. They meet all of the basic requirements for Joomla!, and the reliability and support are outstanding.

SimplWeb - Managed Joomla! Hosting

If you are looking for a faster, easier way to get your site up and running with Joomla!, I recommend using a Joomla!-specific host called SimplWeb. SimplWeb hosts Joomla!-powered sites, so when you set up your SimplWeb account, Joomla! is automatically installed with a number of high-quality templates available to be used. It takes all of the headaches and expense out of setting up a Joomla! site and makes the process simple. It's a lot like WordPress.com, but for Joomla! instead of Wordpress.

Questions/Comments

I hope you found this helpful. As always, if you have any questions or comments, please feel free to post them below.