Debain (Ubuntu) Apache 2 futtatás mod_fcgi-vel
Amennyiben Debian vagy Ubuntu rendszerű linux szerverünkön alapértelmezett (vagy alapértelmezetthez közeli) konfigurációval futtatjuk az Apache2 web szervert, nagy valószínűséggel a apache2-mpm-prefork wokert használjuk libapache2-mod-php5 -tel. Habár ez az alapértelemezett működés, nagy forgalom, illetve nagy, lassan futó scriptek esetében meggondolandó az apache2-mpm-worker használata, mivel a prefok modul memória igénye magas, illetve amiatt, hogy minden kérésrt egyetlen szál szolgál ki, a kiszolgálás sebessége nagymértékben lassulhat.
Nagy terhelésű szervereken ezek alapján mindenképpen érdemes a worker-t telepíteni, de ez felvet egy újabb problémát: a libapache2-mod-php5 csak a prefork-kal kompatibilis, a worker telepítése esetén a debian alapú rendszerek automatikusan eltávolítják azt.
Ebben a leírásban bemutatom, hogy hogyan tudjuk a preforkot workerre cserélni, illetve a libapache2-mod-php5 helyett hogyan tudunk mod_fcgi-t üzembe helyezni.
Apache2 worker és mod_fcgid telepítés:
apt-get install apache2-mpm-worker libapache2-mod-fcgid
mod_fcgid engedélyezése:
sudo a2enmod fcgid
Szükséges php5 modulok telepítése
Bármilyen php 5 modul telepíthető a rendszerre, amely szükséges a scriptek megfelelű működéséhez, pl.:
apt-get install php5-cgi php5-curl php5-gd php5-ldap php5-mysql php5-mysqli php5-sqlite php5-xsl
Apache2 beállítások
A csomagok telepítése után az apache2 beállítása következik. A példa az apache2 default virtualhostján keresztül mutatja be a beállításokat, de ezeknek a módosításokat minden virtualhostban el kell végezni.
Keressük meg a virtualhost gyökérkönyvtárára vonatkozó bejegyzést, és egészítsük ki így:
<Directory /var/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</Directory>
majd pedig minden “directory” bejegyésben engedélyezzük a CGI futtatást:
Options ExecCGI Indexes
A virtualhostok mentése után csupán egy apache2 újraindítás van hátra:
/etc/init.d/apache2 force-reload
és a forrás pedig:
Ezt a cikket az alábbi leírás alapján portoltam a saját rendszeremre és magyar nyelven:
http://ivan.gudangbaca.com/installing_apache2_and_php5_using_mod_fcgid