Choosing A New Server OS

Project Web Server TileAs I previously mentioned, it’s time for some significant web site and server updates. I already looked at other web hosts and decided to stay right where I am, with Linode. The next step is to decide what operating system I want. With Linode, they provide a virtual private server (vps) and a selection of ready-made base OS images.

I’m currently on Ubuntu 9.10 and need to move off of it since it’s end of life’d. The obvious choice is simply to update to the next version of Ubuntu. But let’s not stick to the obvious.

This is my web server so stability, reliability and security take center stage. Ease of use goes a long way to achieving those goals but isn’t a requirement in itself. Ease of use is often the enemy of security and reliability.


CentOS has come to my attention via a FLOSS Weekly podcast and jumped to the top of my list for consideration. CentOS describes itself as:

CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.  CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. (CentOS mainly changes packages to remove upstream vendor branding and artwork.)  CentOS is free.

That “North American Enterprise Linux vendor” is Red Hat.

CentOS 5.6 is the latest release and CentOS 5.x has an end-of-life (EOL) date of March 31, 2014. So I’d have about 2 1/2 years before being forced into another upgrade.

CentOS 6 should be out in early June which would give it a distant EOL date. Reading about CentOS 6 in their forums would make someone question its future. There seems to be a lot of unrest in the CentOS community and questions about its future. Most of the complaints are about delays with CentOS 6 and the lack of openness about it. I don’t know enough about CentOS to judge whether the complaints have merit or were the ramblings of impatient children. It’s not like Cent OS 5 is broken and in fact they had just released CentOS 5.6 to keep up with Read Hat’s 5.x release. While there’s no denying this has a negative affect on my choice it didn’t have a huge effect as I suspect it’s something that will blow over. Worst case, since so many web hosts use it, it will be a long slow death if the comments are true and it will be years before I’m affected.

Benefits of CentOS include reliability and stability. The cost for that stability is that the software typically doesn’t get the latest Linux technologies until the next major release which could be years. For a server OS this is clearly a benefit. I’m not looking for bleeding edge in my web server.

Another intangible benefit is the experience I would get using a Linux distro popular with business.


Ubuntu 11.04 was just released. I had thought that all x.04 release where long term support (LTS) releases but found this wasn’t the case as 11.04 EOL’s in October 2012. Rather, the LTS version is released every two years. I don’t want to go through another upgrade in a year so Ubuntu 11.04 is out of consideration.

Ubuntu Server 10.04 LTS is supported through April 2015 which means it will outlive CentOS by over a year. The longer I can put off a forced upgrade the more I like it.

Ubuntu has served me well so far and I’m familiar with it, so that’s a plus. Documentation is plentiful due to Ubuntu’s popularity. More importantly, I’ve found more Ubuntu specific documentation for things I want to do than I’ve found CentOS specific docs.


None of the other OS’s jumped out as having a reason to consider them.

My Decision

It seems that Ubuntu 10.04 is the right choice. It’s a newer version of what I have now so the migration/upgrade should be easier. Plus it’s got the longest life of what’s available today. I also can’t understate the benefit of having more Ubuntu 10.04 specific documentation.

On the other hand  CentOS has security, stability and reliability which are strong reasons. Another strong reason is that that I’d have something new to play with and get experience with an enterprise OS.

In the end I decided to stick with the logical choice and go with Ubuntu 10.04 LTS.

I’ve already cloned my current server. I then did an in-place upgrade of the clone to get to Ubuntu 10.04 LTS.  I changed DNS to redirect the sites to the new server, but if I find problems I can easily switch the DNS back. This provided a quick way to get off the obsolete Ubuntu and if you’re reading this it worked. I’ll start building the new server once the DNS has time to fully propagate and I know all is well.

I’ll soon start building the new server. I’ll do some more research and testing of CentOS but will rebuild the original server on 10.04 LTS. Existing documentation and having more packages already in the repository tipped the scales in Ubuntu’s favor.

Why build a new Ubuntu 10.04 server if the clone is already upgraded to 10.04? I want to have a nice clean server for the future. I’ve always been of the opinion that flattening the OS every couple of years is a good thing.

There’s still a chance my urge to try something new will have me try CentOS over the logical choice of Ubuntu 10.04. Should I give CentOS a deeper look?

This is the second article in the series about my latest web server project. Find the other articles under the Web Server 2.0 tag.