Установка mod_ruid к apache

Ставим 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

Опубликовано в Установка/Настройка ПО

Рубрики