-2

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."

Robin Rodricks
  • 540
  • 2
  • 10
  • 27
  • 2
    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
  • 1
    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 Mar 21 '12 at 14:15

5 Answers5

2

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.

Josh
  • 245
  • 1
  • 3
  • 10
1

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.

Ben Lessani
  • 5,174
  • 16
  • 37
  • 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 Mar 21 '12 at 14:12
  • I mean that is has an older pedigree. – gWaldo Mar 21 '12 at 16:55
1

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 ;)

1

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.

Flash
  • 1,290
  • 7
  • 10
1

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:

https://wiki.ubuntu.com/LTS

(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.)

cjc
  • 24,533
  • 2
  • 49
  • 69