Содержание
Apache MPM-ITK в CentOS/Debian с ISPmanager 4
CentOS
Устанавливаем ITK версию
# yum install httpd-itk
В файл /etc/sysconfig/httpd
добавляем строку
HTTPD=/usr/sbin/httpd.itk
В файл /etc/httpd/conf.d/php.conf
добавляем
<IfModule itk.c> LoadModule php5_module modules/libphp5.so </IfModule>
В файле /etc/httpd/conf/httpd.conf
для всех VirtualHost меняем SuexecUserGroup
на AssignUserID
.
Для этого выполняем команду
perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
Также в httpd.conf
добавляем настройки для itk.c
(пример берем из <IfModule prefork.c>
).
<IfModule itk.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 64 MaxClients 64 MaxRequestsPerChild 1000 </IfModule>
Перезапускаем Apache
# /etc/init.d/httpd restart
Проверяем, что запущен httpd.itk
ps aux | grep http 1037 ? Ss 0:00 /usr/sbin/httpd.itk 1088 ? S 0:00 /usr/sbin/httpd.itk 1045 ? S 0:00 /usr/sbin/httpd.itk
Настройка панели ISPmanager
В файл файл конфигурации ISPmanager /usr/local/ispmgr/etc/ispmgr.conf
добавляем:
Option ApacheMPM ApacheProcName httpd.itk
Перезапускаем панель
# killall ispmgr
Дополнительно можем проверить от какого пользователя выполняются PHP скрипты.
Создаём файл uid-check.php
<?php echo exec('id'); ?>
Открываем в браузере uid-check.php
и смотрим группу/пользователя
uid=500(dx) gid=500(dx) groups=500(dx),1000(mgrsecure)
До установки ITK было
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Debian
Устанавливаем mpm-itk
# apt-get install apache2-mpm-itk
При этом Prefork версия будет удалена
The following packages will be REMOVED: apache2-mpm-prefork The following NEW packages will be installed: apache2-mpm-itk
Меняем SuexecUserGroup
на AssignUserID
в файле /etc/apache2/apache2.conf
для всех виртуальных хостов
# perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/apache2/apache2.conf
Т.к. теперь у нас используется ITK версия, то добавляем в конфигурационный файл ISPmanager /usr/local/ispmgr/etc/ispmgr.conf
строку
Option ApacheMPM
Из документации ISPmanager (Файл конфигурации ISPmanager)
ApacheMPM - веб-сервер работает в режиме MPM и для работы с файлом конфигурации httpd.conf нужно использовать параметр AssignUserID вместо SuexecUserGroup.
Перезапускаем Apache
# /etc/init.d/apache2 restart
Обсуждение