On Mon, 10 Nov 2008, Adam Prime wrote:

> André Warnier wrote:
>> Maybe this is the time to ask.
>> I am using Linux Debian, and getting Apache 2, perl and mod_perl 2 from
>> there (apt-get).
>> I have never been quite sure which mpm the packager decided to configure,
>> as the apache2.conf contains parameters for prefork, pthread and perchild.

> ./httpd -V
> Server version: Apache/2.0.54
> Server built: Sep 25 2005 00:31:31
> Server's Module Magic Number: 20020903:9
> Architecture: 32-bit
> Server compiled with....
> -D APACHE_MPM_DIR="server/mpm/prefork"
> ...
> The -D APACHE_MPM_DIR tells you which MPM your apache is using. In orderto
> change MPM's you need to recompile apache, and quite possibly mod_perl as
> well, i have no idea how you'd accomplish that on debian using apt.

The Debian distribution packages the different MPMs into different
binary packages, which are labelled as alternatives to each other, so you
load apache2-common and the MPM of your choice. Each MPM package contains
a suitably compiled binary. If you don't choose explicitly, apt-get picks
one (prefork, I think) for you.

However, and it's an important one, the Debian packaging system
also contains expectations from the maintainer(s) about which MPMs are
required or recommended for mod_perl2, mod_php5, and so forth, and will
not let you choose an MPM which those extra packages do not allow. If you
want a free choice of configuration, e.g. to run mod_perl2 threaded, you
may have to rebuild the packages yourself or build from source.