Those choosing a Linux distribution for their virtual private server or dedicated server have an almost limitless number of options. Because the Linux ecosystem is open source, anyone with the necessary skills can build and release their own distribution. There’s even a distribution called Linux from Scratch, which is a set of instructions for putting together a distribution from source — although I wouldn’t recommend anyone uses it for their web hosting server.
In spite of the number of Linux distributions, two are dominant on servers: CentOS and Ubuntu Server. They are both excellent choices, but when choosing between them it’s useful to know the ways in which they are different. I want to have a quick look at the origins of each and the differences between them.
Ubuntu is based on the venerable Debian distribution. CentOS is a free clone of Red Hat Enterprise Linux. The respective origins of each distribution shape the most important difference from a user’s perspective: the package management system.
Ubuntu uses Debian’s .deb format and the tools created to manage it, namely apt-get and its siblings. CentOS uses the RPM format and the yum management tool. They are different, but more or less equivalent in functionality. Users who learned Linux on a Debian derivative will be more comfortable with apt-get, and those familiar with Red Hat systems may prefer CentOS, but if you’re new to Linux, the package managers aren’t really a strong differentiating factor.
RHEL is fairly conservative when it comes to upgrading software, privileging consistency and security over being on the cutting edge. Ubuntu is less conservative with a shorter release cycle, so new software will almost certainly land in the Ubuntu repos before CentOS users get it. Which a user prefers depends on their specific use case.
A major factor that might influence web hosting clients to choose CentOS is web hosting control panel compatibility. Within the web hosting industry, CentOS dominates, and most web hosting control panels, including InterWorx and cPanel, focus on RHEL derivatives like CentOS. If you plan to offer web hosting services using a control panel, then CentOS is probably your best bet.
As I mentioned, CentOS has a longer release cycle; it also has a much longer support cycle. Ubuntu’s Long Term Support releases, which are released every two years, have a support life of 5 years. CentOS 6 was first released in 2010, has had 5 minor point releases, and will be supported until November 2020. If you value consistency and a long support cycle, CentOS is an excellent choice, especially now that it has officially become part of Red Hat.
There are a number of other minor differences between the two with regard to security philosophy (Ubuntu forces sudo use by default and disables the root account), packages, and development, which don’t have much of an impact on the vast majority of users.
It might appear that I’m in favor of CentOS, but Ubuntu Server is also an excellent choice and can do everything that CentOS can. However, CentOS is the preferred distribution in the hosting industry, so if you want your server to be compatible with the majority of that industry, it’s the safe choice.
Image: Flickr/Eduardo Quagliato