Установка 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:

Читайте также:  Файловая система в ОС Linux

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-х шаблонах. Теперь откройте файлы:

Читайте также:  Источник фанатизма к ОС Linux

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