When it comes to setup web servers, or Internet servers (web, email and ftp) there is usually two GNU/Linux distributions that comes to mind, Debian and CentOS. Some people are starting to use Ubuntu server, but let's focus on CentOS and Debian, as Ubuntu is a Debian derivative.
I think you should consider two main points when choosing a web server.
- Software versions
- Easy of upgrades
CentOS (Community Enterprise Operating System) is a Linux distribution which attempts to provide a free enterprise class computing platform which has 100% binary compatibility with its upstream source, Red Hat Enterprise Linux (RHEL). As of version 6.4, it officially supports x86 and x86-64 architecture with Physical Address Extension, while a beta is expected to be available for PowerPC – Wikipedia
So CentOS is a community driven clone of Red Had Enterprise Linux. This should make it very, very stable and suitable to be used as web server. In fact by the time of this writing CentOS is the second most used distribution for web servers, according to Wikipedia.
Main Software versions
By the time of this writing, the main software version needed for web server applications in "vanilla" CentOS are:
- Apache -> 2.2.15
- PHP -> 5.3.3
- MySQL -> 5.1.66
- PostgreSQL -> 8.4.13
When you are choosing a software, any kind of software that is going to be used in a production environment. You should always consider how easy or hard it to upgrade it.
Consider that this server is almost for sure going to be located far from you, and you will only have ssh access to it.
CentOS is not an easy GNU/Linux distribution to upgrade, actually in the official Wiki it recommends:
A fresh install is generally strongly preferred over an upgrade.
And at the end of the page, it says.
Good Luck. Enjoy!
CentOS is one of the most tested and stable GNU/Linux distributions, and that is why it is also one of the most used ones.
I have personally run a CentOS server for seven years, actually it is still the same machine for all those years. I still run CentOS 4 on it. It is my office firewall and DHCP server, it was once my mail and web server too.
I have never had a problem with it. I am sure that if something is going to fail, it will be the hardware.
Debian is an operating system—developed by the Debian project mostly composed of free and open source software carrying the GNU General Public License. However, it also includes non-GPL software outside its official repositories to comply with its guidelines of providing free software.
Main Software versions
By the time of this writing, Debian Stable Wheezy has these software versions.
- Apache -> 2.2.22
- PHP -> 5.4.4
- MySQL -> 5.5.30
- PostgreSQL -> 9.1.9
Upgrading Debian from one stable version to the next stable version is easy and not painful. I have written in the past about upgrade Debian Squeeze to Wheezy. And I have done it in the past as I still have a Desktop I started running Debian Sarge, and now it is running Debian Jessie.
The Debian's release philosophy "Release when ready" makes it stable to the most, only when all bugs have been addressed, only when everything has been fully tested and only when everybody is sure that there are no issues, a new stable version is released. This make Debian one of the most stable distributions available.
Finally, which one should you choose?
I would pick Debian, because it usually have more up to date packages, and because it is easier to upgrade. I have started my GNU/Linux journey with Red Hat Linux, and then I have always used CentOS and Fedora in my Desktop. Some years ago I tested Debian, and switched to it for me servers (except the one I have talked about above).
But, if you are more used to CentOS and are more accustomed to work with it, then there is no real reason to switch to Debian. CentOS and Debian are both the best options you have when choosing a GNU/Linux distribution to install in your web server. They both:
- Have The most possible updated version of packages 1
- Are a very solid and stable GNU/Linux distribution
They are not equally easy to upgrade, but you only have to do so once every two to three years, so you should even be able to afford a fresh installation.
Update: June 5, 2013: One more thing you have to consider when installing a Web Server. If you are going to use this server as a reseller tool. You may want to install CPanel, and in such a case you have to go with CentOS, as it is officially supported.
The most possible updated version, without sacrifice stability. ↩