Separacja procesów Apache2

Wpis dotyczy separacji procesów serwera Apache na poszczególnego użytkownika, tak że każdy wirtualny host działa nie na www-data lecz na wskazanym przez nas użytkowniku.

Procesy wyglądają tak:

linux:~# ps aux | grep apache2
develop  10637  0.0  0.2  46084  7024 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
kowalski 10638  0.0  0.2  45672  6616 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
develop  10643  0.0  0.2  45672  6616 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
develop  10644  0.0  0.2  45672  6616 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
kowalski 10645  0.0  0.2  46092  6960 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
develop  10646  0.0  0.2  45672  6612 ?        S    08:24   0:00 /usr/sbin/apache2 -k start
root     10650  0.0  0.0   1724   560 pts/1    S+   08:24   0:00 grep apache2

W Debianie mamy gotowe paczki, a moduł nazywa się: mpm-itk. Instalujemy :)

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

Na wszelkie pytania instalatora odpowiadamy na TAK. Trzeba jeszcze do pliku odpowiedzialnego za każda domene dodac informacje oraz dodać użytkownika.

adduser kowalski

edytujemy plik:

vim /etc/apache2/sites-enabled/kowalski.pl

Zakładając ze taki plik mamy oraz domena to kowalski.pl i uzytkownik kowalki to dokonujemy wpisu w sekcji VirtualHost

<IfModule mpm_itk_module>
AssignUserId kowalski kowalski
########## user ## grupa
</IfModule>

I to wszystko. Wystarczy resetowac apache. :)