apache-mpm-itk (just mpm-itk for short) is an MPM (Multi-Processing Module) for
the Apache 2 web server (which you've probably heard of :-) ). mpm-itk allows
you to run each of your vhost under a separate uid and gid -- in short, the
scripts and configuration files for one vhost no longer have to be readable for
all the other vhosts.
There are already MPMs available that do this, namely the perchild and Metux
MPMs (the latter being based on the former, which is included in the standard
Apache 2 tree). However, both have their sets of problems; for instance, both
are threaded, which can be a problem for many extension modules. Second, AFAIK
both have issues with listening on multiple ports (ie. SSL etc), and I don't
know how well they really perform in practice. (If you only run CGI scripts,
suexec will also probably solve most of your problems.)
mpm-itk is based on the traditional prefork MPM, which means it's non-threaded;
in short, this means you can run non-thread-aware code (like many PHP
extensions) without problems. (On the other hand, you lose out to any
performance benefit you'd get with threads, of course; you'd have to decide for
yourself if that's worth it or not.)
This package defaults to a maximum of 128 dynamically loadable modules.
This package defaults to a ServerLimit of 1024.
You can change these values at RPM build time by using for example:
--define 'maxmodules 512' --define 'serverlimit 2048'
The package was built to support a maximum of 128 dynamically loadable modules.
The package was built with a ServerLimit of 1024.
I M P O R T A N T
-----------------
This package is totally experimental and may not be stable or suitable at any
time, in any way, or for any kind production usage. Be warned. You must
manually add HTTPD="/usr/sbin/httpd-itk" in the /etc/sysconfig/httpd
configuration file to be able to use this MPM.