Установка Apache MPM-ITK на CentOS и ISPmanager

Проверка наличия mpm-itk
Проверим, есть ли бинарный файл mpm-itk на сервере, который обычно расположен в /usr/sbin/httpd.itk:
# stat /usr/sbin/httpd.itk
File: `/usr/sbin/httpd.itk'
Size: 363168 Blocks: 712 IO Block: 4096 regular file
Device: 6801h/26625d Inode: 5512117 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-09-29 17:00:18.420030023 +0400
Modify: 2014-08-18 18:54:55.000000000 +0400
Change: 2014-09-29 16:48:48.768699179 +0400
Если имеется, то приступаем к настройкам, в противном случае начинаем установку.

Установка MPM-ITK
Apache MPM-ITK отсутствует в стандартном репозитории. Все популярные руководства по его устанвке ссылаются на репозиторий CentAlt, который в последнее время недоступен. Однако существуют и другие альтернативные решения. Для CentOS версии 6.Х Apache MPM-ITK присутствует в репозитории Epel.

Подключение репозитория для установки Apache MPM-ITK
Подключение репозитория EPEL для CentOS 6.5 x64:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
Подключение репозитория EPEL для CentOS 6.5 x32:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm

Установка Apache MPM-ITK на CentOS
Для установки из репозитория EPEL выполните следующее:
# yum install httpd-itk

Настройка файлов конфигурации
Отредактируйте файл /etc/sysconfig/httpd — раскомментируйте либо добавьте строчку:
HTTPD=/usr/sbin/httpd.itk
Отредактируйте конфигурацию Apache, для этого добавьте в файл /etc/httpd/conf.d/php.conf следующие строки:
<IfModule itk.c>
LoadModule php5_module modules/libphp5.so


Если на сервере уже присутствуют домены и настроены какие-либо VirtualHost, то отредактируйте файл /etc/httpd/conf/httpd.conf, для этого поменяйте в нем SuexecUserGroup на AssignUserID (если такие записи имеются). Процесс можно автоматизировать одной из команд:
# perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
либо:
# sed -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
Отредактируйте файл /etc/httpd/conf/httpd.conf, добавьте в него по аналогии с <IfModule prefork.c> следующее:
# MPM-ITK
<IfModule itk.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

Внимание! У вас могут быть совсем другие значения! Конкретные данные берите по аналогии со своим блоком <IfModule prefork.c>.
Перезапустите вебсервер Apache:
# service httpd restart
Убедитесь, что Apache MPM-ITK работает:
# ps ax|grep htt
13554? S 0:00 /usr/sbin/httpd.itk
13580? S 0:00 /usr/sbin/httpd.itk
13588? S 0:00 /usr/sbin/httpd.itk
в выводе в конце строк обязательно должно быть itk.

Настройка конфигурации панели ISPmanager
Отредактируйте файл /usr/local/ispmgr/etc/ispmgr.conf, добавьте в его начало следующее:
Option ApacheMPM
ApacheProcName httpd.itk
Это необходимо для корректной работы панели ISPManager с MPM-ITK, и чтобы при добавлении новых доменов в была указана строка AssignUserID.
Перезапустите панель:
# killall ispmgr
На этом установка и настройка закончены.