четверг, 10 мая 2012 г.

SuexecUserGroup и AssignUserID

Часто бывает нужно, чтобы скрипты на сайте исполнялись не от системного юзера (www/www-data/apache), а от пользователя, которому принадлежит сайт. В зависимости от режима работы apache разные методы для указания пользователя.
Основные методы это SuexecUserGroup и AssignUserID, и в своих конфигах можно указывать оба атрибута, плюс вариант под peruser:
<IfModule peruser.c>
ServerEnvironment user user
Processor user user
</IfModule>
<IfModule mod_suexec.c>
SuexecUserGroup user user
</IfModule>
<IfModule mod_suexec>
SuexecUserGroup user user
</IfModule>
<IfModule itk.c>
AssignUserID user user
</IfModule>
Также надо проверить, что есть сам блок про itk. Если нету -- надо вписать
<IfModule itk.c>
StartServers       1
MinSpareServers    1
MaxSpareServers   5
ServerLimit      110
MaxClients       100
MaxRequestsPerChild  4000
</IfModule>
Ну и подогнать под свои нужды.
Существенные отличия тут в том, что только itk обеспечивает полную работу от указанного юзера, тогда как тот же SuexecUserGroup обеспечивает смену пользователя только для динамики. Статика отдаётся при этом от системного юзера.

Если при смене типа воркера используется ispmanager, надо сделать еще ряд манипуляций.
# perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf

В ispmgr.conf надо добавить
Option ApacheMPM

и возможно
ApacheProcName httpd.itk


Линки
http://forum.ispsystem.com/ru/showthread.php?t=17740
http://wiki.firstvds.ru/index.php/Apache_MPM-ITK_на_CentOS_с_ISPmanager
http://ru.ispdoc.com/index.php/Файл_конфигурации_ISPmanager_(ISPmanager)

Комментариев нет:

Отправить комментарий