Здесь я расскажу, как правильно настроить и установить 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.
Добавить комментарий