Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to setup a Linux-based server which is going to be the backend for our web services.

This is what I need: (In order of importance)

  1. A GUI to manage applications and files
  2. It would be running a custom built C++ server
  3. Probably also the LAMP stack, if needed.
  4. I would be trying out ERP or other serverside software on it also (optional).

Which Linux distribution do you recommend for such a use-case, considering I'm not an expert at any Unix-like OS (a week of experience with CentOS, some experience with Ubuntu).

This is what I understand about each distro:

  • Ubuntu - easy to use, the most popular, easy to install apps, no hassle
  • Debian - older, but might be tough to configure
  • CentOS - troublesome, hard to install apps
  • Mint - popular, based on Ubuntu and Debian

Edit: I have a lot of people recommending Ubuntu over CentOS(1, 2) for serverside apps. Is Ubuntu fine for such things? Its not slower than CentOS or anything troublesome?

And should I go with Ubuntu or Ubuntu Server? what are the advantages of either?

"Software installation is a breeze on Ubuntu. Even the server applications come with decent default configurations and are normally usable out-of-the-box. It's a software paradise."

share|improve this question

closed as not constructive by Sven, EEAA, jscott, wzzrd, Jeff Ferland Mar 21 '12 at 15:06

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

For your use cases, it makes no difference. I'm not sure that any of your bullet points are correct. I've used all 4 of those distributions for development and running a LAMP stack. – Kyle Smith Mar 21 '12 at 13:47
See my answer, it just comes down to preference. We actively work on RH/CentOS/Debian/Ubuntu and there is no real functional differences. Other than SLAs and file installation locations. – Ben Lessani - Sonassi Mar 21 '12 at 14:15

CentOS will probably be your best bet regarding ERP stuff as it's going to be the closest to the big commercial distros that these software are designed to run on. Otherwise any of them will meet your criteria. I think Ubuntu and Mint are more popular for desktop use though so I'd say stick with Debian or CentOS.

share|improve this answer

Debian isn't older - its the same base as Ubuntu ... the same way CentOS is the same base as RedHat.

All our servers run Debian (without a GUI) out of preference for aptitude over yum, and the far better organisation of files (/var/logs etc.)

However, we do have a lot of machines running CentOS and RedHat and are equally as easy to use, just a little bit more of a nuisance when logs/confs/bins are all over the place. But RedHat does come with the option of an SLA (if you can pay for it).

Ubuntu has a slicker GUI than Debian, but that is because it was originally aimed at the desktop market, Ubuntu Server LTS was a relatively new addition.

It mostly comes down to preference and not much else.

share|improve this answer
Debian as a distro, is in-fact, older. Ubuntu is a child project from Debian's Unstable branch. Your last sentence is the most important. – gWaldo Mar 21 '12 at 13:53
@gWaldo Define older ... Debian 2.0 is old, Debian 6.0 is new ... I think the OP is confused and thinks that Debian isn't actively developed/maintained. From a command line perspective, Debian is no different to Ubuntu. Debian by name, is older than Ubuntu, but in terms of kernel recency, application recency or maintenance, it is as new/or newer than Ubuntu. – Ben Lessani - Sonassi Mar 21 '12 at 14:12
I mean that is has an older pedigree. – gWaldo Mar 21 '12 at 16:55

I would recommend Debian, even if it's the older one, is very stable {that is the reason why is "old" as you call it, since before releasing new package on the repositories the stability is checked twice ;) }

Moreover it's a good compromise to "easy to use" and "reliability"...

Otherwise if you want to acquire skills ;) --> go CentOS... but the time will increase as well as Unix Like OS skills ;)

share|improve this answer

In your case I would say CentOS, as you already deployed them for the web hosts already, it does come with a fine desktop and access to different development tools.

share|improve this answer

I have a preference for CentOS on the server, mainly because it will essentially be Red Hat Enterprise Linux. Ubuntu has a bit more of a consumer focus, but it's widely used and perfectly appropriate on the server side, also.

The trick with Ubuntu is that you should use the Long Term Support (LTS) editions, if you're deploying to a long-lived server. For non-LTS editions, Ubuntu will do updates for 18 months, whereas LTS will have 5 years of support:

(CentOS, as noted, is essentially RHEL, and will be supported for a long, long time).

Right now, the current Ubuntu LTS is 10.04. There will be a new LTS edition next month, 12.04.

In any case, there's not much functional difference, at least to the points you're asking about in terms of performance, etc. There's a set of tools that are specific to the distro that are used for package management. There's a different philosophy in terms of where to put files and how to break up big packages into smaller ones, but modern Linux distros will perform similarly. The GUI for CentOS will probably look kind of older and crusty compared to Ubuntu, but CentOS is an enterprise-orientated distro with much less emphasis on administration through the GUI. (As an aside, I am often surprised by what's in a Linux desktop GUI, even though I work on Linux servers all the time. I almost never see the GUI.)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.