17
votes

I have limited Linux server experience. I am looking for recommendations on distributions. What's your favorite for servers and why?

EDIT: Clarification: I'm hoping for one, general purpose distribution, not specific to a particular function. Something for use on file servers, web servers, anything really. Community support, timely patching, administration friendly tools, good track record, etc. are more the angle I'm going for here.

2
  • 3
    What are you going to be using it for?
    – cagcowboy
    Apr 30, 2009 at 15:54
  • Sorry I could have been clearer. I'm hoping for one, general purpose distro--file servers, web servers, anything really. Community support, timely patching, admin friendly tools, etc. are more the angle I'm going for here. I'll clarify the question.
    – TorgoGuy
    Apr 30, 2009 at 16:13

16 Answers 16

17
votes

Red Hat Enterpise Linux or CentOS. They are stable, you can buy support for them if you care to, and every major release has a guaranteed 5 year support cycle, which is invaluable (don't even get me started on the Fedora server a semi-rogue administrator installed here that we now can't upgrade).

Also, it tends to be the supported solution when installing commercial software on Linux (Oracle comes to mind, but we have other commercial products that state they'll install on anything, but they will only guarantee interoperability with Red Hat/CentOS).

3
  • Another flavor of this, similar to CentOS is Scientific Linux. It is rebranded RHEL just like CentOS but supported by the national labs and large universities. That's the distro I'm using for my sites
    – dagorym
    Apr 30, 2009 at 16:26
  • The support cycle is 7 years of RHEL releases for security updates.
    – wzzrd
    Aug 18, 2009 at 15:36
  • When looking for a linux distro, look at the community first. What is their focus? In the case of RHEL, Debian, CentOS, SLES, and Scientific Linux, they focus on creating stable, well maintained platforms. Some people will swear up and down that the best Linux for job X "Is whatever you feel comfortable with." This avoids the question, and is more confusing than helpful to someone who doesn't feel comfortable with ANY of them. Aug 26, 2009 at 12:50
40
votes

Debian or Ubuntu (server) due to dist-upgrade. Any distro can be installed from scratch - but how many can be upgraded in place? I've got a debian machine that hasn't been reinstalled from scratch since approximately 1995.

There are good communities around both, and also good documentation on making your own packages so you can make the package system work for you personally. It's Very Cool to be able to easily roll a custom package to deploy to your internal machines.

Getting the most up-to-date versions of software can be a challenge, but backports have filled that gap pretty well.

4
  • 5
    I have been using Debian on about 30 servers for the past 5 years and found it very good, stable and secure - except if you need really up-to-date stuff - for instance, if you are hosting Ruby on Rails websites you won't find the most recent versions in the repos. Ubuntu is great, if you're prepared to upgrade every 6 months - or stick to the LTS versions. Debian and Ubuntu are similar enough that you use both, without much of a learning curve.
    – Brent
    May 1, 2009 at 15:07
  • 1
    @Brett Nesbitt: Agree 100%, but I have a minor nitpick: it's arguably much better from a stability point of view not to use the latest and greatest on a server. May 2, 2009 at 19:46
  • @Mihai Limbason: Sadly Debian's release schedule has historically been so slow that their packaged software can be years out of date, which is okay for some software but doesn't really suffice for fast-moving targets like python, ruby, django, svn, etc.
    – pjz
    May 3, 2009 at 18:08
  • with using Ubuntu, just make sure to stick with the LTS releases
    – warren
    Sep 8, 2009 at 11:51
14
votes

Ubuntu

Reason: The community - there is a big community and if you need to do something, you can nearly always find someone that has done it first and posted a great set of instructions.

1
  • I started out with Red Hat and then Fedora, but after trying Ubuntu I can't go back. I have an Ubuntu server running in a VM on my windows server, I run Ubuntu desktop in a vm on my Vista desktop, and I dual boot my Mac mini to Ubuntu. I've been installing the desktop version and then installing server stuff as needed even on my server. I did it the other way once the first time and I just find it easier to start with the desktop version. Compatibility with my various hardware has been good and updates and upgrades have gone smoothly.
    – bruceatk
    May 1, 2009 at 1:45
13
votes

I run all my servers at work on Gentoo. While a lot of fellow Linux sysadmins will consider me crazy, I must say I've had little to no troubles. One server run as a build host for the others (they're all the same hardware) and serves the binaries to the others. I like Gentoo a lot because it gives you loads of control about what is installed and what is not installed. Community is great, the forums are the best online. If you stay on the stable branch, it's smooth sailing. Currently I've been leaning a bit more towards Arch Linux because of the lack of compiling, but I haven't installed a server with it yet. Source based/meta distros can make great servers!

1
6
votes

Debian is my server's distribution of choice : it's very stable, available for almost all server platforms and security is a keypoint on that distro !

6
votes

I recommend Ubuntu server (LTS preferable for production) as it is the only free of charge Enterprise class linux server distribution.

2
  • 1
    Huh? Are you claiming that CentOS is not a zero-cost Enterprise class server distribution? May 9, 2009 at 16:31
  • No. It is build by community and never ever any big enterprise will support its software on CentOS. May 10, 2009 at 5:11
5
votes

Slackware

Since its first beta release in April of 1993, the Slackware Linux Project has aimed at producing the most "UNIX-like" Linux distribution out there. Slackware complies with the published Linux standards, such as the Linux File System Standard. We have always considered simplicity and stability paramount, and as a result Slackware has become one of the most popular, stable, and friendly distributions available.

I learned a lot working with this distro, but you will need plenty of time and patience. Slackware is user-friendly, it's just very selective about who its friends are.

4
  • 2
    You got that right :-)
    – jassuncao
    Apr 30, 2009 at 16:33
  • Slackware is interesting to learn stuff on, and I've fond memories of using it as one of my first linux distros, but a system good for learning stuff is just that -- not a general purpose tool. For general use, I think ubuntu is probably the way to go. It's hard to beat have good, well maintained and integrated packages for every purpose available at the touch of a button, and being able to upgrade/remove/reconfigure the entire server at any time.
    – Lee B
    Jan 17, 2010 at 18:10
  • YMMV, but I found Slackware to be rock-solid and as good as any other alternatives (paid or free). As a bonus, it forces you to learn some extra things along the way.
    – alexandrul
    Jan 19, 2010 at 17:51
  • 1
    The nice part about Slack is how simple it is. I love using it for servers that will do one task (firewall, apache, dns, etc) because the entire thing can fit easily into 400MB and uptime is clocked in years. When you do this, security updates are few because you don't have things like libPNG (just an example) that nothing on the server uses, but has a security bug that needs to be patched. That said, Slack does no hand holding so you will know what you are doing to administrate it. So if anyone else is going to work on the box, then I go Ubuntu Server LTS.
    – Porch
    Mar 5, 2011 at 21:50
3
votes

Ubuntu if your server is for learning about Linux and servers, CentOS if it's for production. I find the Ubuntu community to be more active then CentOS which may be helpful if your just getting started. CentOS doesn't have a new release every six months which is nice for a server OS. It also uses older but more tested versions of software which is important with a server.

2
votes

Debian for it's stability and popularity

1
vote

Whatever you choose, if it will be exposed to the public internet, you want to ensure that it supports selinux. This has saved my butt on at least one occasion where otherwise I surely would have gotten hacked due to a security flaw in software I had installed. Not only did selinux totally block the attack, but via setroubleshoot it raised a pop-up window to warn me about it.

1
vote

I use Arch Linux. I like it for great package manager, "rolling" release, nice community package repository (ABS), nice configuration, great wiki. For me it is much like Gentoo, but with binary packages.

You can find comparison with other distro on: Arch vs Others.

1
vote

I use either CentOS or Ubuntu LTS releases. Both are stable, well-known and well-supported.

1
vote

Personally, OpenSuSE for me. Mainly because of YaST and autoYaST; great package management, upgrades/updates, etc.

0
votes

I just voted up the "function" comment, as it asks a relevant question .. the primary function matters, to some extent.

The other key decision you have is whether you want access to professional support. If the answer is yes, get Red Hat. If the answer is no, then I would start with Ubuntu.

Additional note .. Gert's (implied) point about using the same distro for multiple servers is also a great one!

1
  • You can get professional support for Ubuntu from Canonical, but you can try ubuntu without paying anything. Apr 30, 2009 at 17:12
0
votes

I recommend using CentOS.

  • It's the Red Hat Enterprise Linux recompiled from the Red Hat's sources
  • You can upgrade the distro without a support contract
  • Red Hat is usually used with commercial software, so being exposed before will help in your journey
  • Once you pick Red Hat you can go to other distributions and know what's important
  • Lots of information on internet
0
votes

I think there are two approaches:

  1. Rolling distribution
  2. Release distribution

ad.1 I personally prefer rolling distros, since there is no such thing as upgrade to a newer version (which either way might be risky). That's why I prefer Gentoo for my servers. Unfortunately setting up gentoo requires a bit more effort, yet thanks to portage system maintaince (if you use the stable branch) is really easy and painless. The very cool feature is slots and ability do downgrade to literally any old version of the package with one simple command. On the other hand gentoo packages, even in the stable branch tend to be much newer than Debian (see point 2) - if you need a machine with recent software gentoo is for you.

ad.2 Release distro - I'd choose Debian here, mainly for it's popularity around all the hosting companies and a huge packet base. Although I don't use it myself it seems to be the most reasonable distribution with a really high security level. Deployment is fast, no need to compile packages (unless you really need to).

1
  • Debian excels at both rolling and release upgrades, but you're right that some distros fail at one or the other, and so it's an important distinction.
    – Lee B
    Jan 17, 2010 at 18:13

Not the answer you're looking for? Browse other questions tagged .