Здесь я расскажу, как правильно настроить и установить mpm-itk в целях повышения отказоустойчивости, производительности и безопасности сервера. Пост будет объемным, садитесь поудобнее.

Итак, у Вас есть сервер с операционной системой centos 6. Если установлена ISPmanager Lite, то тоже хорошо.

Сначала проверяем, есть ли нужный модуль в установленной сборке веб-сервера apache командой:

apachectl -t -D DUMP_MODULES

В выводе должна присутствовать строчка:

Loaded Modules:
mpm_itk_module (static)

Если есть, то устанавливать ничего не нужно, а нужно только настроить.

В обратном случае, сначала подключаем репозиторий centalt:

rpm -ihv http://centos.alt.ru/repository/centos/6/i386/centalt-release-6-1.noarch.rpm — для 32 битных систем
rpm -ihv http://centos.alt.ru/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm — для 64 битных систем

Далее обновляем apache из данного репозитория:

yum update httpd

Также необходимо отключить репозиторий centalt, что бы он не использовался для обновления в дальнейшем, а то будет конфликт в системе. Для этого необходимо зайти в конфиг файл /etc/yum.repos.d/centalt.repo и в строке enabled=1 поменять значение на 0.

Теперь начинается настройка. Редактируем файл /etc/sysconfig/httpd и вставляем (расскоментируем, если она есть) строчку HTTPD=/usr/sbin/httpd.itk

Редактируем файл /etc/httpd/conf/httpd.conf — вставляем следующий код:

<IfModule itk.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 10
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000
</IfModule>

Редактируем файл — /etc/httpd/conf.d/php.conf — вставляем код:

<IfModule itk.c>
LoadModule php5_module modules/libphp5.so
</IfModule>

Если у Вас установлена панель управления ISPmanager Lite, то необходимо отредактировать конфиг файл — /usr/local/ispmgr/etc/ispmgr.conf — добавить строчку Option ApacheMPM и изменить строчку ApacheProcName httpd на ApacheProcName httpd.itk

Также на всякий случай сбросим кеш панели управления

killall -9 ispmgr

Далее следует перезагрузить apache, чтобы настройки вступили в силу:

/etc/init.d/httpd restart

Теперь проверяем, работает ли веб-сервер в нужном нам режиме:

ps ax|grep httpd

Вывод должен быть таким:

10845 ?        Ss     0:00 /usr/sbin/httpd.itk — т.е. itk на конце. Если все так, значит установка и настройка прошла успешно.

Хотел бы добавить, что у меня сразу выбило ошибку (couldn’t bind to port 80) после попытки перезагрузить apache. Вылечилось перезагрузкой сервера.

Также появился warning (warn module proxy_ajp_module is already loaded) при последующих перезагрузках apache. Ошибка говорит о том, что один и тот же модуль пытается загрузиться более одного раза. Решение очень простое — удалить или полностью закомментировать файл /etc/httpd/conf.d/proxy_ajp.conf.

http://svirchoff.ru

По теме: