Ставим mod_ruid на сервер виртуального хостинга под управлением панели DirectAdmin.
Для сборки модуля нам будет необходима библиотека libcap.
yum install libcap-devel
Если модуль установлен, то приступаем к закачиванию исходники модуля и сборки его.
cd /usr/local/directadmin/custombuild
wget http://garr.dl.sourceforge.net/project/mod-ruid/mod_ruid2/mod_ruid2-0.9.3.tar.bz2
или
wget http://dave.t0xic.nl/tars/mod_ruid2-0.9.3.tar.bz2
tar xvf mod_ruid2-0.9.3.tar.bz2
cd mod_ruid2-0.9.3/
Теперь можно почитать README, для ознакомления.
Собираем модуль для apache2:
apxs -a -i -l cap -c mod_ruid2.c
Когда модуль будет собран, то в httpd.conf будет добавлена строка:
LoadModule ruid2_module /usr/lib/apache/mod_ruid2.so
Если она не добавится, добавьте ее вручную.
Теперь необходимо изменить httpd.conf. Открываем конфиг файл apache:
vim /etc/httpd/conf/httpd.conf
Находим строки
User apache
Group apache
и добавляем ниже следующие директивы:
RMode config
RUidGid apache apache
RGroups apache
Копируем шаблоны виртуального хоста:
cd /usr/local/directadmin/data/templates
cp virtual_host2* custom/
cd custom
Переходим к самому главному!
Открываем шаблон и после |USECANONICALNAME| добавляем следующие параметры:
# SuexecUserGroup |USER| |GROUP|
RMode config
RUidGid |USER| |GROUP|
RGroups apache
Внимание: Строку с SuexecUserGroup
необходимо закоментировать.
Чтобы пользователи могли нормально работать с PhpMyAdmin / webmail добавим описание директорий с указанием владельца webapps:
Найдите
|*endif|
</Directory>
И после этого добавьте:
<location /phpMyAdmin>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
<location /phpmyadmin>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
<location /squirrelmail>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
<location /roundcube>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
<location /webmail>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
<location /atmail>
RMode config
RUidGid webapps webapps
RGroups apache
</location>
Эти изменения нужно сделать во всех 4-х шаблонах.
Теперь откройте файлы:
vim /usr/local/directadmin/data/templates/ips_virtual_host.conf
vim /usr/local/directadmin/data/templates/redirect_virtual_host.conf
И добавьте так:
|*if APACHE_VER=»2.0″|
#SuexecUserGroup |USER| |GROUP|
RMode config
RUidGid |USER| |GROUP|
RGroups apache
Так же нужно установить права:
chown -R webapps:webapps /var/www/html/
find /var/www/html -type f -print0 | xargs -0 chmod 644
find /var/www/html -type d -print0 | xargs -0 chmod 711
После чего, пересоздаем httpd.conf виртуальных хостов:
echo «action=rewrite&value=httpd» >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d800
Проверяем синтаксис конфигурации apache, если все нормально – рестартуем веб-сервер:
apachectl configtest
Syntax OK