Конфигуриране на виртуален хост в Apache с отделен потребител, чрез Apache пдакв MPM-ITK

Автор: Мартин Петров

В тази статия ще опиша как може В Debian Lenny да си настройте вашите виртуални хостове в Apache 2 да рабоят като различни потребители. Модулът за Apache 2 които ще трябва да инсталираме се казва "apache2-mpm-itk". Модулът работи с mod_php защото mpm-itk е базиран на prefork MPM. В този случай не се нуждаем от suExec или suPHP за да стартираме PHP скриптове с различни потребители. Ще бъда кратък в обясненията не защото по принцип съм "многословен" а и защото инсталирането и конфигурирането на модула mpm-itk е сравнително лесно.


1. Инсталиране на apache2-mpm-itk

apt-get update && apt-get install apache2-mpm-itk


2. Конфигуриране на apache2-mpm-itk
Трябва да създаден група и потребител които ще трябва да обвържем с конкретния виртуален хост:

groupadd web1
useradd -s /bin/false -d /home/web1_admin -m -g web1 web1_admin

Сега отваряме конфигурационния файл на нашият виртуалност хост и добавяме следните редове:

[...]

AssignUserId web1_admin web1

[...]

За пример:
vi /etc/apache2/sites-available/default


ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128


AssignUserId web1_admin web1



3. Рестартираме Apache2:
/etc/init.d/apache2 restart

Това е всичко :)