Harris Tsam Personal Website

 
  • Increase font size
  • Default font size
  • Decrease font size
English繁體中文
Build Your First Linux Server Guide - Part 1 - Choose Right Operating System E-mail
Written by Harris Tsam   
Sunday, 23 August 2009 00:11

Build Your First Linux Server Guide - Part 1 - Choose Right Operating SystemThis is a basic installation and security hardening guide to giving idea to whom willing to build their own SOHO/small office Linux Web, Email or Database server.  I hope you can find this guide useful.

In this part, I will start talking about the Planning and Preparation, helping you decide what operating system and hardware to use, which is very important part from this guide.  If you made wrong planning, you probably need start everythings from beginning again, and it’s really wasting your money and time!

I have seen many topics in Hong Kong forums talking about which Linux distribution most suitable for server, mostly Fedora vs. CentOS because they are free.  Surprisly I found many people suggesting Fedora to build their server, maybe because Fedora is very easy to build, you don't really need care about the hardware compatibility problem, and the installation media already come with almost all softwares you needed.  Why I don't suggest Fedora as your server, especially for production or mission critical server?  I think you will find out why after read the following comparison table:

Distribution Fedora CentOS
Hardware Compatibility Widely support hardwares available on market, even new server or PC Intel and AMD motherboard chipsets. Only support RedHat certified server hardwares to ensure server realibility. Mostly HP, Dells, IBM, and Intel server board.  DON’T even think about buying latest powerfullPC or Workstation to build CentOS.
Reliability Not really realiable as a server because it’s loaded with reposities and drivers that not well tested for production enviroment. Very reliable as all reposities and drivers are well tested for production enviroment and certified by Redhats.
Performance Loaded with new drivers, the performance is optimized. Due to maintaining reliability of the server, it will only loaded with older certified driver and older version of reposities.
Security Security problem is a concern due to new reposities and drivers not well tested, some of them may have bugs or vulnerabilty problems.  Also the support and security patchs immediately end when new release launch ( launch new release every year), meants you need reinstall Fedora every year to maintain latest security patch, and there is no direct upgrade path from older version to newer version. Very secure, same lifecycle as Redhat Enterprise, support and security patch up to five years.  Use same security updates as Redhat Enterprise.
Troubleshooting Online support and document updates end every new release launch (once a year). Online support and document updates valid for five years.  Can refer to official Redhat Enterprice documentation.

So, if you want to build a production server, CentOS will be the best choice.  There’s actually no different between Redhat Enterprise with CentOS except the branding and the support. CentOS also maintaining same security patch and software updates on their server through Yum as Redhat Network did.  What you can install on Redhat Enterprise you can install the same on same version of CentOS.

Fedora is suitable for workstation that build on new hardware that performance and hardware compatiblity is a concern, or if you interested to testing linux latest software or very new reposities. I never experience any driver problems installing Fedora on a very new hardwares, but carefully do updates through Yum, some updates may cause problem or crash on your server services.

32bit or 64bit?

There is no reason not to choosing 64bit OS for your server.  Ram is very important factor for your server especially if you running server-side program, and database, in order the server support RAM more than 4GB or if you plan to upgrade more RAM in the future, you must install 64bit OS for your server.