Apache настройка · 2 min read · Jan 29, 2026
Запуск Vhosts под отдельными UID/GID с Apache2 mpm-itk на Debian Etch
Запуск Vhosts под отдельными UID/GID с Apache2 mpm-itk на Debian Etch
Версия 1.0
Автор: Фалко Тимме
Эта статья объясняет, как вы можете установить и настроить apache2-mpm-itk на сервере Debian Etch. apache2-mpm-itk — это MPM (модуль многопроцессорной обработки) для веб-сервера Apache 2. mpm-itk позволяет запускать каждый из ваших vhost под отдельным UID и GID — короче говоря, скрипты и конфигурационные файлы для одного vhost больше не должны быть доступны для чтения для всех остальных vhosts. mpm-itk работает с mod_php, потому что mpm-itk основан на традиционном MPM prefork, что означает, что он не является многопоточным. Это означает, что вам больше не нужно использовать suExec или suPHP для запуска PHP-скриптов веб-сайта от имени отдельного пользователя.
Этот документ предоставляется без каких-либо гарантий! Я не даю никаких гарантий, что это будет работать для вас!
1 Предварительная заметка
Я предполагаю, что у вас есть рабочая установка Apache2 с mod_php на вашем сервере Debian Etch.
Для соображений скорости, посмотрите на http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/.
Для соображений безопасности, пожалуйста, посетите http://mpm-itk.sesse.net/.
2 Установка apache2-mpm-itk
apache2-mpm-itk доступен как пакет Debian для Debian Etch, поэтому все, что нам нужно сделать, это выполнить
apt-get install apache2-mpm-itk3 Настройка apache2-mpm-itk
apache2-mpm-itk настраивается на основе каждого vhost, т.е. нам не нужно устанавливать какие-либо глобальные параметры, и есть только одна директива, которую нам нужно установить в vhost, AssignUserId, которая принимает два параметра: имя пользователя и группу, от имени которой будет работать vhost.
В этом примере я буду использовать vhost по умолчанию Debian Apache (вы можете найти его конфигурацию в /etc/apache2/sites-available/default) с корнем документа /var/www (если у вас есть разные vhosts, пожалуйста, подкорректируйте это под вашу ситуацию), и я хочу, чтобы этот vhost работал от имени пользователя web1_admin и группы web1.
Если пользователь и группа еще не существуют, мы можем создать их следующим образом:
groupadd web1
useradd -s /bin/false -d /home/web1_admin -m -g web1 web1_admin
Затем мы открываем конфигурацию нашего vhost и добавляем в нее следующие строки:
| [...] |
Например:
vi /etc/apache2/sites-available/default| NameVirtualHost * |
Перезапустите Apache после этого:
/etc/init.d/apache2 restart Вот и все!
4 Ссылки
- apache2-mpm-itk: http://mpm-itk.sesse.net
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Get new posts in your inbox
No spam. Unsubscribe anytime.