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've to install for the first time a VPS server for some Drupal-based websites and I have many options for the operating system.

In particular, I can choose between Ubuntu 32bit, Ubuntu 64bit, CentOS, and Debian.

I was wondering which one to choose considering:

  • I have only 256MB RAM, so I probably should choose a minimal OS such as CentOS
  • Should I choose 32bit or 64bit ? I thought this was a costrained choice depending on the machine. But if they ask me to choose I'm probably going to have compatibility issues with the installed software.

I want to install: - Apache server - Mysql - Drupal


share|improve this question

closed as not constructive by Mark Henderson Jul 16 '12 at 3:20

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.

I would go with PostreSQL instead of Oracle MySQL that usually requieres more memory. – Jonas Sep 9 '10 at 12:49
In my limited experience a well tuned mySQL will operate better in low RAM than Postgres (though I prefer Postges over mySQL for other reasons). For minimal RAM use by the DB you might want to consider sqlite which suggests Drupal supports (aside from some contributed modules, which would not with with postgres either). – David Spillett Sep 9 '10 at 14:17
yeah but you have to consider I use Drupal, and most of modules are mysql oriented – Patrick Sep 10 '10 at 7:02
up vote 5 down vote accepted

You should choose whatever you feel the most comfortable with. They all will do the trick.

To be honest: you will be able to run apache AND MySQL with 256MB of RAM, but I wouldn't expect too much performance out of that. And you won't be able to run much else, or the server will go into swapping.

share|improve this answer
The point is: how many shopping carts for relatively small audience websites I can install using Drupal ? Let's say local business websites (considering only the RAM) – Patrick Sep 10 '10 at 7:03
Also, isn't Ubuntu much more computationally expensive than Cent OS ? – Patrick Sep 10 '10 at 7:04
No, it isn't. However, with 256MB of RAM you should not even dream of using a GUI. That will surely kill your performance. CLI only. Shopping carts on drupal: You simply install the module once and then configure individual sites to use it (or not, as the case may be). If yuo are asking how many shopping carts can be in use in parallel, I don't have an answer for that. With that amount of RAM not too many, I would guess. Maybe 10 or 20. But I really can't say with any certainty. – wolfgangsz Sep 10 '10 at 8:26
ok cool, one more thing: should I go for 64bit right ? Even if I don't have a lot of RAM.. – Patrick Sep 10 '10 at 13:56
Unless you have plans of moving beyond the 4GB memory limit in the near future, there is probably not much point to it. Having said this, other than a slight increase in program size and memory requirements, there is not much harm in it either and it's somewhat future-proof. – wolfgangsz Sep 10 '10 at 14:09

Do you have any experience with any of the distro's you list? If so, go with what you know already.

If, on the other hand, this is your first foray into Linux servers, then Ubuntu or CentOS are probably better options in my opinion. Why? In my experience the documentation available for those distros was more consistantly approachable than Debian. I started out trying to learn Linux using Debian (about 15 years ago), and I went around in circles for a couple of weeks - I needed to understand x in order to understand y in order to understand z in order to understand x.

Things may have changed but since Ubuntu and CentOS are both backed up by large businesses (CentOS being more or less the same as Red Hat Enterprise Linux) there are clear documentation paths, and books you can buy that take you through step by step. Once you've got either of these, you can delve into Debian with confidence.

I doubt you'll get any benefit from 64bit unless you have more than 4Gb of RAM on your VPS. I wouldn't pay extra for this.

The beauty of a VPS running Linux is that once you have it set up, you can upgrade, or migrate your config and data to a new VPS that is more appropriate. Start small and simple and work your way up.

share|improve this answer
So, doesn't Ubuntu require more performances than Cent OS ? I'm more oriented to Ubuntu, but I would like to know if I'm going to save resoursces with CentOS – Patrick Sep 10 '10 at 7:04

If you want a minimal system, the best choice is Debian. About 32/64 bit, all software you need are available in 64 bit, so you don't have any advantage by 32 bit.

share|improve this answer
Please explain why Debian will do better as a minimal system than the other options. – wzzrd Sep 9 '10 at 12:48
A base Debian install simply includes less by default than other distro's default installs, so you have less to chop out when trying to reduce memory use in order to optimise for the constricted environment. The others can be cut down to the same, but it is a little less hassle this way around. – David Spillett Sep 9 '10 at 13:21
I agree with David, he has my same opinion. – lg. Sep 9 '10 at 13:48

Have a look at Turnkey Linux, a series of ready-made virtual machines based on Ubuntu. They have a Drupal 6 appliance available. They're far lighter than a standard Linux installation, because they leave out many of the components required only when running atop physical hardware.

share|improve this answer

As lg said, Debian would likely be slightly less hassle to make "minimal" if you start from the base install plus SSH (which is what most VPS providers give you as the starting point), though if you are already familiar with one of the other options I would go with that instead.

Some code segments and data structures end up taking more RAM in 64-bit code than 32-bit which might make a difference, though I expect that difference to be small. You are given the choice because 64-bit CPUs based on the amd64 instruction set (i.e. current AMD and Intel offerings, with the exception or Itanium and related chips if those are still generally available) can happily run both 32-bit and 64-bit code together with minimal overhead so in most virtualisation systems a host with 64-bit CPUs can happily run VMs with a mix of 32- and 64-bit OSs at the same time.

In only 256Mb RAM you will probably need to tweak the Apache and mySQL config for efficient operation, though there are plenty of decent guides for that out there. Tuning mySQL (and Apache) will make much more difference than what Linux variant you go for.

To reduce your compatibility issue concerns just keep to the packages provided by your chosen OS, this will also save you time and hassle when security updates are released.

If you are not particularly familiar with any of those Linux variants I strongly suggest that you "play" with a local server first before trying to setup a public server. Install vbox (or vmware or similar) and create a few 256Mb VMs, one for each OS you want to try, and give them all a look. A local server in a VM like this will mean you can play to learn the ropes without worrying about being charged admin fees to rebuild the VPS if you break something significant, and such a VM will also provide you with a useful testing environment for when you are planning changes to your public server and the services it runs further down the line.

share|improve this answer

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