Установка Mod_ruid2 в ISPManager на CentOS

 29 сентября 2014      
 GNU Linux - CentOS / Debian      
 Комментариев еще нет      
 5257

Возникла задача, чтобы запросы к www-домену обрабатывались Apache под пользователем-владельцем www-домена, а не под apache:apache.
Очень неудобно, когда скриптам, которые запускает веб-сервер Apache, нужны права доступа на запись и приходится давать разрешения 777, так как сам Apache не входит в группу пользователя-владельца домена.

Если же веб-сервер будет обращаться к домену от имени владельца домена, то Apache перестанет быть обезличенным и будет видно какой пользователь грузит веб-сервер, и отпадает проблема с правами доступа к папкам пользователя со стороны веб-сервера, так как будет доступ от имени пользователя с правами пользователя.
У меня на сервере CentOS установлена панель управления хостингом ISPManager-Lite. Но в ней возможности потыкать мышкой, чтобы решить эту задачу я не нашел. Поэтому придется все делать руками.

Модуль Mod_ruid2 для сервера Apache

Одно из возможных решений, чтобы запросы к www-домену обрабатывались Apache от имени пользователя-владельца домена — это использовать модуль Mod_ruid2.
Другой альтернативный вариант разрешения конфликтов — это использование PHP в конфигурации CGI/FastCGI. Либо использовать Apache MPM-ITK.

Установка mod_ruid2

Я не нашел модуль mod_ruid2 в репозиториях CentOS. Поэтому прибавил себе работы. Но все не так сложно.
Сначала установим зависимости:

# yum install libcap-devel

Затем скачаем последнюю версию mod_ruid2 по адресу http://sourceforge.net/projects/mod-ruid/files/latest/download
На момент написания статьи это выглядело так:

# wget http://heanet.dl.sourceforge.net/project/mod-ruid/mod_ruid2/mod_ruid2-0.9.8.tar.bz2

Распаковываем архив и собираем модуль:

# tar xvjf mod_ruid2-0.9.8.tar.bz2
# cd mod_ruid2-0.9.8
# apxs -a -i -l cap -c mod_ruid2.c

Если apxs отсутствует в системе, то устанавливаем его:

# yum install httpd-devel

И повторяем сборку:

# apxs -a -i -l cap -c mod_ruid2.c

В итоге должны получить успешное сообщение с адресом куда инсталлирован модуль. У меня это выглядело так: Libraries have been installed in: /usr/lib64/httpd/modules
И что модуль активирован в веб-сервер Apache: activating module `ruid2′ in /etc/httpd/conf/httpd.conf
На всякий случай проверьте, что модуль находится по указанному адресу ‘ /usr/lib64/httpd/modules/mod_ruid2.so‘ (для CentOS 6.5 x64).
И что в файле конфигурации по адресу ‘/etc/httpd/conf/httpd.conf‘ есть строка (справедливо для CentOS 6.5 x64):

LoadModule ruid2_module       /usr/lib64/httpd/modules/mod_ruid2.so

Чтобы все заработало осталось только перезагрузить веб-сервер:

# service httpd restart

Настройка ISPManager для Mod_ruid2 и Apache

Добавляем поддержку в ISPmanager. Для этого создаем файл /usr/local/ispmgr/etc/virtualhost.templ со следующим содержимым:

SuexecUserGroup __SuexecUserGroup__
RUidGid __SuexecUserGroup__

После чего перегружаем панель:

# killall ispmgr

Теперь при создании нового домена в его конфигурационном файле вы должны увидеть следующие строки:

Где moonback — это пользователь от имени которого создан домен. У вас будет другой 🙂
А как же быть с существующими доменами ранее созданными в панели? Просто добавьте эти записи в файл конфигурации домена. И перегрузите веб-сервер.

Рекомендую прочесть:  CentOS 6 от А до Я. Часть 3. Как установить Web сервер Apache+MySQL+PHP=LAMP | Apache и FireWall

Использованные источники

  1. Добавить поддержку mod_ruid2 в ISPmanager
  2. Помогите с пакетом apxs
  3. Mod ruid2
Поделись этой страницей с друзьями!

Прочтите это обязательно

Какой МФУ лучше? Xerox Workcentre 7525 или Konica Minolta bizhub pro c6500

Для малых и крупных офисов, организаций, учреждений и домашнего использования на сегодняшний день оптимальн ...

На правах рекламы 
Warning: Invalid argument supplied for foreach() in /var/www/moonbackru/data/www/moonback.ru/wp/wp-content/themes/secret-garden3/single.php on line 123
Далее

Вкуснейшее овсяное печенье вызывает острый приступ радости

Вот такое креативное объявление увидел я сегодня утром на одной торговой точке около кинотеатра Юбилейный в Кр ...

Юмор юмор Далее

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2018 © Технический блог
SQL - 99 | 0,115 сек. | 8.54 МБ
доступность сайта