We host all our OM4 websites on Linux and take care of all the technical details (so our clients don’t have to). Small business owners really should not try and do hosting themselves, in my view. There are too many variables.
That said, if you are interested in hosting your own website on Linux, before you go looking for a hosting provider you have a few options to consider. You’ll find your choice of hosting provider will vary a lot depending on which option is best for you.
This is the cheapest by far. A hosting provider gives you access – along with an unknown number of other customers – to an account on a Linux server. You generally get Cpanel access to your account, and install/manage your software. Some hosting providers have 1 click installation options for popular software, which makes setting up and upgrading a lot easier.
There are a few drawbacks with shared hosting. If you have any non-standard requirements (for example, specific configuration for your DNS, or changes to PHP/MySQL parameters) your hosting provider may not have any way of letting you make the changes. It is a shared host after all.
Because sites are shared, if a hacker compromises one shared account, depending on how well the hosting provider has setup the server, it can make it easier for a hacker to look across into other accounts. Like yours.
If your site is in any way successful at pulling traffic (for example, you write a blog post that hits the front page of Digg), you could well find your hosting provider just drops you. It happens more often than you might think. Look at it from the hosting provider’s perspective. You can cram lots of low traffic sites onto a server … then one of them pops its head above the wall by using a lot of system resources (which stops them cramming more customers onto that host). $10 says they apply the good old shoot first ask questions later policy.
Virtual Private Server
A virtual private server gives you the equivalent of your own Linux server. VPS software such as Virtuozzo or Xen segments the server.
Because you have root access to your own server, you have full control over your configuration. You probably won’t get 1 click installers, so you need more technical skills to set one up and maintain it. You get a lot more control over security, but you also have to do the work to keep it secure.
Typically your VPS won’t be shared by as many customers (although that changes according to host), so you are less likely to be pinged for using too much in the way of resources. But it is still fundamentally a shared plan, so you do need to watch out.
This is your own Linux server. Like a VPS, unless you have arrangements in place you will need to do a lot more setup and management yourself, so technical skills are important.
This is a relatively expensive option, but you get a lot of control.
If scaling up from a single dedicated server to multiple servers is something you are worried about, then first of all ask yourself, is it really a problem? It is common to worry about scaling issues that never present themselves in real life.
One strategy for making it easier to administer a dedicated server is to implement your own VPS on the dedicated server. Backing up and moving a VPS image from one physical server to another can mean you are able to move servers a lot more easily. So you can start with a smaller capacity server and upgrade to a newer (higher capacity one) later with out too much trouble.
The most interesting of the 4 options for Linux hosting is Amazon’s Elastic Compute Cloud (EC2). We haven’t done this ourselves, so instead I’ll point you to Mike Brittain’s article.
Getting your LAMP servers via EC2 seems like a great idea. We use Amazon’s Simple Storage Service (S3) for our high capacity web resources, as well as backup. It is impressive, and very cost effective. I have no reason to doubt that EC2 will work equally as well. Right now we are pretty Ok for computing resource, but this will be top of our list for a look when we need more.