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 have a debian 6 at 64bit. I want install lamp. On some website i find:

apt-get install apache2

on some other:

apt-get install apache-mpm-prefork

Which one should I choose?


share|improve this question
up vote 13 down vote accepted

The poster might be interested in the reasons why:

  • prefork: Every request gets its own (memory-separated) process
  • worker: Multi-threaded Apache, uses threads instead of processes, is generally faster than prefork and might use less memory.

As PHP is not thread-safe, the common suggestion is to install Apache with the "prefork" MPM. Differences between Apache MPMs:

Short answer to your question: Debian will automatically choose the right Apache version if you're installing PHP.

share|improve this answer

apt-get install libapache2-mod-php5 apache2-mpm-prefork, installing just apache2 will lead to installing mpm_prefork when you choose mod_php5 anyway

share|improve this answer
hm okay so it's not a choice :D I will use this then apt-get install apache2-mpm-prefork libapache2-mod-php5 mysql-server php5-mysql php5-gd – dynamic Feb 8 '11 at 23:31

This is a question of dependencies.

In this particular case, if you install apache2, it will install the default dependencies for the distribution, which might be apache2-mpm-worker instead of apache2-mpm-prefork. If what you need is prefork, it would be better to install it specifically instead of the generic apache2 package.

share|improve this answer

I suggest you to use aptitude for those tasks, it will provide a ncurses interface which shows you all the dependencies and allows you to change your choices before the actual install process. It's simply the best tool for package management.

In your case you have to start aptitude, then press / and enter apache2 (which is a virtual package used for dependencies tracking), once highlighted press + and the packages will be selected with all its dependencies, then press g and in the next screen you can review what will be installed and change it if needed. When you're done press g again and the install process will start.

aptitude manual

Edit: for lamp you have to select also the php5 package which provide all the php infrastructure both for apache and php cli scripts, the mysql-server package which provides the mysql server and the php5-mysql package which provides the php mysql and pdo functions.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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