Упрощенно mpm-itk – это Apache с запуском виртуальных хостов под указанными User и Group. Чаще всего используется на шаред хостингах. Процесс, работающий от пользователя root, анализирует, какому виртуальному хосту пришел запрос, после чего форкает самого себя с setuid на того пользователя, который указан в настройках данного виртуального хоста.
В результате всё, что далее вызывается апачем (в т.ч. mod_php, mod_python и прочие прелести) работают уже от имени пользователя данного виртуалхоста. Данная технология позволяет не использовать обходные пути типа mod_cgi, mod_fcgi, mod_fcgid и php-cgi.
Для CentOS существует готовый RPM в репозитории Webtatic. Указанный RPM работает на базе уже установленного httpd и устанавливается в качестве отдельного mpm.
Установка apache mpm-itk на Centos 5
Для установки, во-первых, требуется добавить репозиторий Webtactic в yum:
rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-0.noarch.rpmДалее устанавливаем rpm:
yum install --enablerepo=webtatic httpd-itkОстанавливаем httpd:
service httpd stopДалее необходимо исправить /etc/sysconfig/httpd и добавить (или заменить, или раскомментировать) строку:
HTTPD=/usr/sbin/httpd.itkДалее виртуалхостам необходимо добавить директиву AssignUserID с указанием пользователя и группы данного виртуального хоста:
... <virtualhost :80=""> ServerName example.com DocumentRoot /path/to/web/root AssignUserId vhost-user vhost-group </virtualhost> ...В случае работы php как модуля необходимо добавить в начало файла /etc/httpd/conf.d/php.conf строки:
<ifmodule itk=""> LoadModule php5_module modules/libphp5.so </ifmodule>Запускаем httpd:
service httpd startДалее необходимо произвести аудит безопасности на предмет владельцев папок корня каждого виртуалхоста и прав. Об этом как-нибудь потом.



