Centos 6 or Ubuntu 10.04 LTS - server and desktop

This question is linked to http://www.experts-exchange.com/Q_27521742.html, which was about iptables, but turned into another question about whether to use Centos or Ubuntu for a server. This server is for php/mysql and tomcat/postgresql webhosting, mostly for personal websites and applications, and some websites for friends. Up till now I have hosted these websites with several providers in managed hosting environments, so I didn't have to bother with server configurations.

I'm more familiar with Ubuntu, have used that as a desktop for more than two years at work, and use it at home as a desktop/server next to my Mac laptop. I have just setup a virtual server which runs Centos 6, and now I run into problems because up till now everything is different.

I haven't made up my mind yet. I know that Centos/RH is the more common choice for a server, and therefor maybe better, as well from a career point of view. We use Centos at work, although someone else handles those servers, installs everything, configures the firewall etc. They don't expect me to do that.

I know how to get things working on Ubuntu, and I think that Ubuntu LTS is stable enough to serve my needs. So if I'm going with Ubuntu, then in three years, it's another world, and I'll see then what I'm going to do. For my job it wouldn't be a big loss, but for a future job it might be a plus to know my way around Centos.

Centos would mean for me that I would change my desktop as well, to Fedora or Centos or something similar. That would make things easier in the long run. It would mean several days of work to get the desktops working, although it might be simpler than I think, I don't know.

So tell me this:

1) Why is Centos better than Ubuntu LTS for a (apache-php-mysql-postgresql-tomcat) server, considering security and stability. Nothing serious depends on it. If it goes down for a day, nothing happens really except for a pissed friend.
2) In what ways does Centos differ from Ubuntu - except for the installer, the missing ufw frontend to iptables.
3) How does a Centos/Fedora desktop work compared to Ubuntu? How is Ubuntu better on the desktop? I know that's the general opinion, but I have no idea how Centos works as desktop.
LVL 13
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
In investigating questions here, it appears that CentOS has chosen a different way of configuring Apache and maybe PHP.  And probably other things.  I have both on shared hosting sites that I support.  Of course, as a user and not an admin, they both look the same.

I had planned on setting up both Ubuntu and CentOS servers here but haven't gotten around to it.  Older computers are adequate for test setups and I happen to have two identical old Dells.
I haven't made up my mind yet. I know that Centos/RH is the more common choice for a server
Not sure about that... Centos is years after RH. Ubuntu is not good choice for server but Ubuntu LTS is very good. I know some companies which decided to support only Ubuntu LTS.

In my opinion you have to use what you know best. If you know one Linux, then you don't need much time to know another.
rysic, that is not correct, centos is usually a single minor release layer behind.
i.e. RHEL is at 6.3 while centos is at 6.2

IMHO, If you alter the ubuntu to run in server mode (tellinit 2) non-graphical which is what RH/centos usually.  A server does not need a graphical interface which uses resources unnecessarily.
I've explained in great detail what the difference in methodology between the two are.
at http://www.experts-exchange.com/Security/Operating_Systems_Security/Linux/Q_27521742.html#a37384121

Here is a scenario based on your intended use.
You have multiple PHP sites and
centos 6 has PHP 5.3.3 apache 2.2.15 and mysql 5.1.52
ubuntu 10.04 LTS which is has Long Term Support 2013 unless you let the system update. PHP 5.3.2 apache <>  mysql 5.1.41

The thing you can rely on with centos that even if it goes to 6.15 the major versions of the three applications will remain 5.3.3 2.2.15 and 5.1.52
The LTS version I think will also maintain.

The main consideration deals with updates whether the underlying application will continue to run as intended.
lets say php 6 is released.  It will not be part of the centos/RH 6 releases no matter how many updates.  This way your PHP sites will continue to work as initially developed.
Ubuntu/debian may have php6 as an update to the existing 5.3.2. This could result in your PHP site failing under certain circumstances.  I.e. they replaced one function with another. ref transitions from PHP 4 to php 5.
Similar but to a lesser degree changes in mysql and apache.
i.e. ubuntu could release an update to mysql 5.1 in the form of mysql 5.5 while centos/RH will not.

Back to what I said in the prior question.
It is up to you.  If you know what you need to perform the task before you, it does not really matter whether the Linux distro is debian/Ubuntu RHEL/Centos, SUSE, FreeBSD, OpenBSD, or OS X, Or Solaris. You can apply your skill by locating either where the configuration for the application is or the command you need to run.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Since you're familiar with Ubuntu, familiarity with the update/patch/configuration tools will make things easier to manage with 10.04 LTS.
Dave BaldwinFixer of ProblemsCommented:
For what it's worth, the shared hosting that I use that has Ubuntu and CentOS and other versions of Linux basically never update PHP or MySQL versions precisely to prevent breaking code that is currently running.  I have always had to switch servers to get a newer version of any of the LAMP programs.
The issue with those who do not have the option to get the security updates as are provided by RH/Centos, they would either have to make the security adjustments themselves by altering the source and recompiling/installing the same version. Or leave the app unpatched and exploitable.
This are the tradeoffs. But the hosts mostlikely take care of fixing the security issues.

A person may simply run the update and install what the vendor provides and then look at correcting issues if any.

Regular yum or apt-get updates only patch the minor versions of the software, which typically include security updates.  Major revision updates require more manual intervention.  Unless your PHP or MySQL makes use of the bugs, you're not quite so likely to break PHP or MySQL during regular updates.

I think some of the shared hosting services just don't patch because it's too much work for them in the off chance a patch breaks hundreds or thousands of websites simultaneously.  They'd rather place the blame on the hackers for breaking your site.  Then they can charge you to migrate or update to the next level of service.  If you manage only a handful of servers yourself, it makes sense to patch.

I've used both Centos and Ubuntu and it really is up to personal preference.  You certainly can configure both to the same level of user experience and functionality, which is why I suggested going with the one you're more comfortable working with.
Slav ZabickiSystem EngineerCommented:
Why not Debian?
1. Ubuntu is based on Debian
2. Debian is more consistent than Ubuntu
3. Apt is much better than Yum
4. You may get more support from open user forums.
5. Location of files has not been changed yet (better than Ubuntu)


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
R7AFAuthor Commented:
I've decided to use Ubuntu Server 10.04 LTS. Debian is an option though, and I'm going to take a look before making my final decision. Centos is no option anymore at the moment.
Slav ZabickiSystem EngineerCommented:
Good choice,
Nevertheless, I still think that debian for a server is much better.
It's faster, has better technical support and doesn't have "frills" which ubuntu has....
I'm a debian and ubuntu fan. The latest ubuntu distro is less unix "embedded" than debian.
I would never install debian as a desktop, it's a pain in..... ubuntu is just more user friendly.
it's getting more and more similar to osx though ....
I'm not sure that being similar to a mac is necessarily a good thing.  :)  It may be good for a single user desktop, but it's not designed well for a multi-user lab or server setting.

And debian is certainly better on a server, although you could trim down ubuntu to be more debian like too.

I've installed the latest ubuntun 11.10 and pretty much immediately removed unity.  I just happened to have the 11.10 CD so I decided to try it.  Even with the slightly older ubuntu, I immediately disabled and removed several of their "features" that really aren't desirable in a multi-user lab desktop environment.

The nice thing about ubuntu is PIE  https://wiki.ubuntu.com/Security/Features#Built_as_PIE

Another nice thing is that root is automatically not allowed a password login through ssh compared to redhat.
ubuntu was built on being the desktop alternative.  Going into the server arena was a second step to expand on its users.
Any linux system can function as a server or a multi-user environment.  The admin/group have to know what the benefits of using one versus another.
Ubuntu is more towards the initial windows transplant that needs a GUI and any window that has a black background sends shivers down their spine.

Run centos and often install the Graphical packages while disabling the graphic mode.  This provides for a way to use X-windows (Xming) and send xterm from servers back to the desktop as well as some configuration tools that only work with GUI i.e. cluster admin, etc.

R7AFAuthor Commented:
Thanks for all the feedback!!!

My final decision is to go with Debian 6, 32 bit. The time spent on the ubuntu server is lost, but that's not a big problem, and I think this is indeed the best choice as almost everything is similar to ubuntu. The first website is online...
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux Security

From novice to tech pro — start learning today.