This trilogy titled ‘Setting up my press’, will definitely not serve as a tutorial, is only an account of my decade long experience with web hosts & getting along with WordPress. In Part 1, I discussed my build-or-use decision and WordPress PoC. In this part, I will put my decade long experience with web hosting to use to help buy web-estate wisely. Do stick around for Part 3 on installation tips & must-have plug-ins.
Checking the land beneath my feet
Just like civil engineers & architects survey land before starting construction, webmasters need to evaluate web-hosts for their services. And like agents & brokers, there are several jokers in the websphere offering good-looking free hosting, but with poor QoS and/or a lot of restrictions. This is where my experience comes to play as I have tried over a dozen hosts. This time I prepared a RFQ for myself, to understand what I required, and then started trying out hosts before choosing one to build on.
Offers you should refuse!
I have never found a host who makes an offer you can’t refuse. You need to pick and choose various parameters that suit your need, for which you have to be familiar with some hosting jargon. Here is a quick list of features, along with some explanation, that should be part of the deal:
Storage Space: Do not nose-dive into a host by simply looking at the offered space. If you, like me, are looking at only hosting pages on the server, and embedding other content (like photos & videos) hosted elsewhere, 200MB would be just enough. My pictures are coming from a Picasa feed, while my videos are stored at Google Video.
Bandwidth: Bandwidth exhaustion error page is commonplace with free servers. Each host limits the traffic for your website on a daily or monthly basis. Anything between 500MB-5GB a day or 25GB-1TB a month should keep you care-free. Note that using feeds or content hosted elsewhere does not eat up bandwidth.
Control Panel: This is a place where the webmaster gets to perform administrative tasks like managing files & folders, access control, databases, web-site settings, meta-data & optionally server settings (like PHP INI configuration). It will also report usage in terms of bandwidth & storage space, and may display statistics. An online file manager is a desirable mode of accessing your content.
FTP: 99% hosts offer FTP services. A single account should do unless you want users to upload using a restrictive account. Note that accessing your content, both via File Manager & FTP consumes band-width. Do check restrictions on file types without fail; I had to reject BlackAppleHost (although ad-free) as it wouldn’t allow me to upload SVGs and some file-types found in WP Plugins. Although not a striking feature, check if your host allows setting custom server error pages (403,404).
Server Configuration: Incase you are planning to use a CMS (WordPress, Joomla, Drupal,etc) as your platform, you want a server running PHP & MySQL (I am not restricting to Apache since IIS now offers great support for PHP) You are anyways transparent to the OS on which the server runs, so don’t bother about it.
You’ve found God if someone lets you play with the HTACCESS or PHP.ini files. Although I installed WP in the root, I had to fake it in a sub-dir as my host only allows HTACCESS in sub-dirs.
PHP: PHP v5 is preferred as some plugins won’t work without it. Even with PHP & MySQL offered, watch out for internal settings that can prove to be a show-stopper. I had to reject AgilityHoster as it wouldn’t let me ‘CURL’ and open sockets, without which most plugins (like WP-to-Twitter, Shashin, cForms, etc) fail. The best way to check for available DLLs & PECL extensions is to create an empty PHP page and called the phpinfo() function, like this: <?php phpinfo(); ?> Permissions to install new extensions is an oversized expectation.
Allowing to toggle between the SAFE-MODE is desired to allow some unsafe, but trusted, operations. Basic extensions for database communication (MySQL/PostGre/MSSQL), compression, encryption, network communication (Sockets, CURL, RPC), XML parsing, Email, etc are available. Advanced extensions like the PEAR & Zend libraries, GD, etc could prove handy. Permissions to open sockets [fsockopen()], send email [mail()] and communicate using the CURL library (libcurl) is a must.
MySQL: Majority of the hosts offer a single database (do check the storage limit), but that should be enough for a single CMS installation. PHPMyAdmin is an interface to operate & maintain your database (most imp to back-up), without which you would have to write SQL for everything (although there may not be a place, like console, to write).
Quick Install Options: Some hosts offer one-click install of major CMS platforms while others may allow runnings script libraries like Fantastico. Although not a requisite, it is sure to save you some time if available.
Not only lunch, my Ma says, nothing in life comes free. You have to shell out that extra buck if you want flexibility & control. I tried 3 hosts before ceding to banners; Don’t mind a pop-up or a line of text or Google Adsense recos at the top/bottom, if you want to spend nothing. I have finally chosen to host without ads for about $25/year (that includes the domain name)