Конфигуриране на виртуален хост в 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
Това е всичко :)