Устанавливаем 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
OK