Krótki poradnik jak zamienić Apache2-MPM-Prefork na Apache2-MPM-Worker oraz dodać obsługę PHP5-FPM (Fastcgi).

Sprawdzone na Debian 7 Wheezy, dla Debiana 6 Squeeze oraz Ubuntu 13.04, 12.10, 12.04 powinno być podobnie.

1. Aktualizacja systemu

1.1. Sources.list

Edytujemy plik /etc/apt/sources.list i jeżeli wygląda inaczej to zmieniamy 🙂

1.2. Update, upgrade

apt-get update
apt-get upgrade

2. Zamiana Apache2 Prefork na Worker

2.1. Dodanie pliku konfiguracyjnego PHP5-FPM

Tworzymy plik /etc/apache2/conf.d/php5-fpm.conf, który powinien wyglądać następująco:

2.2. Wyrzucenie Prefork i zastąpienie Workerem

Aby zastąpić Preforka Workerem wystarczy zainstalować apache2-mpm-worker:

apt-get install apache2-mpm-worker

Operacja ta usunie pakiety apache2-mpm-prefork oraz libapache2-mod-php5. Przy zapytaniu czy na pewno kontynuować wciskamy Y (lub T) i enter.

2.3. Dodanie PHP5-FPM

Instalujemy pakiety PHP5-FPM oraz kilka innych pakietów (m.in php5-cgi):

apt-get install libapache2-mod-fastcgi php5-fpm php5 php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec libapache2-mod-suphp

2.4. Włączenie modułów

a2enmod rewrite actions include suexec fastcgi alias fcgid

2.5. Modyfikacja SuPHP

Edytujemy moduł suphp

nano /etc/apache2/mods-available/suphp.conf

i zamieniamy, aby wyglądał dokładnie tak:

2.6. Restart Apache2 i PHP5-fpm

Restartujemy Apache2:

/etc/init.d/apache2 restart
/etc/init.d/php5-fpm restart

3. Test

Tworzymy plik index.php w katalogu /var/www/ o następującej treści:

i w przeglądarce otwieramy naszą stronę. Jeżeli wszystko jest OK, to powinniśmy zobaczyć informacje o PHP.

3.1. PhpMyAdmin

Dobrze jest również sprawdzić czy działa PhpMyAdmin. Jeżeli po wejściu do niego widzimy stronę logowanie to jest OK. Jeżeli przeglądarka próbuje ściągnąć jakiś plik, to znaczy że coś skopaliśmy z instalacją/konfiguracją i należy prześledzić krok po kroku jeszcze raz

4. Przydatne

  • http://www.howtoforge.com/perfect-server-debian-wheezy-apache2-bind-dovecot-ispconfig-3-p4
  • http://www.garron.me/en/blog/ubuntu-lamp-apache2-mpm-worker-and-php-fpm.html
  • http://www.howtoforge.com/using-php5-fpm-with-apache2-on-ubuntu-12.04-lts

Komentarze (4)

  • Gdy pisałem ten mini howto, instalowałem na serwerze ISPConfig.

    Po przejściu na MPM-Workera i zainstalowaniem jednego z tych pakietów (instalowałem raz jeden, raz drugi) miałem problem czy to ze stronami klienckimi, czy to z ISPConfigiem.

    W końcu zostawiłem oba koło siebie i wszystko hula jak należy.

  • Przydatny opis, po aktualizacji apacha z repozytorium moja konfiguracja przestała dzialac. Naszlo mnie aby srodowisko testowe bylo na fcgi. W moim wypadku wymagalo to nieco innej konfiguracji /etc/apache2/conf.d/php5-fpm.conf oraz dodanie ExecCGI do opcji dla poszczególnych vhostów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*