Apache

Apache webszerverrel kapcsolatos írások

Processzkezelőkkel szemtől szemben: HTTPD MPM és PHP FPM változatok linux környezetben

cikk borítókép

Webszerverek beállításánál az MPM konfigurálása egy nem elhanyagolható kérdés. Nem az üzemeltetett weblapokhoz optimalizált értékekkel ugyanis előfordulhat, hogy az oldal belassul vagy a látogatók hibaüzenetekkel találkoznak, mert a szerver nem képes több kérést kiszolgálni egyszerre, vagy éppen erőforrást pazarolsz a webszerverre, miközben máshol nagyobb szükség lenne rá. Az Apache HTTPD-nél ismert MPM-hez hasonló a PHP-nél az FPM, ami szintén a processzek kezelését végzi a PHP értelmező esetén, amikor az nem a HTTPD moduljaként működik, hanem külső szolgáltatásként. Mivel a "rimelek.hu" egy időben rendszeresen megállt, akkor megelégeltem tudatlanságom és benéztem a színfalak mögé. Ebben a cikkben összegzem a tanultakat.

Megosztás/Mentés

Apache htaccess engedélyezése

Apache HTTPD szerverekben az alapértelmezetten ".htaccess" nevű fájlokban lehet bizonyos szerveroldali, könyvtárfüggő konfigurációkat végezni, amikben a szerver újraindítása nélkül életbe lépnek. Az erről szóló leírások többnyire felsorolás-szerűek és kevéssé pontosak, nem világosak. Megpróbálom érthetően leírni, hogy bírhatjuk működésre.

Megosztás/Mentés

XDebug és NetBeans távoli hibakereséshez

Még 2009 októberében írtam cikket Hibakeresés PHP-ban címmel. Ott főként elvi megoldásokról és a forráskód megváltoztatásával történő hibafelderítésről volt szó. Kézi beavatkozást igényelt és azt, hogy el ne felejtsük a végén törölni a módosításokat.

Van azonban egy jóval hatékonyabb módszer is, amit ugyan megemlítettem már akkor is, de ebben a fejezetben konkrétan az XDebug telepítését, konfigurálását és használatát mutatom be a jelenleg általam preferált NetBeans segítségével.

Megosztás/Mentés

PHP FPM beállítása Apache HTTPD 2.2 és 2.4 alatt

Írtam már a mod_cgi/mod_cgid és a mod_fcgid modulokról, amikkel a PHP több verzióját futtathatjuk egyszerre. A PHP FPM viszont egy ezeknél is jobb megoldás. Azért mégsem tejesen új, mivel a mod_fastcgi vagy mod_fcgid Apache modulok egyike kell hozzá. Bár előbbiről nem esett még külön szó az említés szintjén felül, most ezt is telepítjük, mivel az Apache HTTPD 2.2 nem támogatja a szükséges mod_proxy_fcgi modult a mod_fcgid használatához.

A fejezet végén tehát már ismerni fogjuk mindkét lehetőséget és mindkét webszerver képes lesz bármely PHP verziót FPM-en keresztül futtatni tetszőleges felhasználó nevében.

Előbb azonban mindenképp javaslom a PHP telepítéséről szóló fejezet elolvasását, ahol az FPM telepítéséhez szükséges konfigurálásról írtam. Valamint az előző CGI megoldásokról szólót is.

Megosztás/Mentés

PHP futtatása Apache mod_fcgid modullal

A mod_cgid modullal lehetőség nyílik a PHP-t úgy futtatni Apache szerveren, hogy nem olvassa minden kéréskor a php.ini-t, de továbbra is élvezhetjük a több PHP verzió futtatásának előnyeit. Ebben a fejezetben a mod_fcgid modul beüzemeléséről írok kizárólag olyan mértékben, ami szükséges virtuális hosztonkénti tetszőleges PHP futtatásához.

A fejezet elolvasása előtt mindenképp nézd meg az előkészületekről szóló részt: PHP CGI megoldások Apache webszerveren

Javaslom a mod_cgid modullal foglalkozó fejezet átolvasását is: PHP futtatása Apache mod_fcgid modullal

Megosztás/Mentés

PHP futtatása Apache mod_cgi/mod_cgid modullal.

Egy módja és egyben a legrégibb módja a több PHP verzió használatának Apache szerveren a címben szereplő mod_cgi és mod_cgid modulok használata. Tesztidőszak alatt jó megoldás lehet és nem igényel további külső modulokat. Ebben a fejezetben ennek beállítását mutatom be a korábban beállított virtuális hosztokon.

A fejezet elolvasása előtt mindenképp nézd meg az előkészületekről szóló részt: PHP CGI megoldások Apache webszerveren

Megosztás/Mentés

PHP CGI megoldások Apache webszerveren

Az előző fejezetekben igyekeztem kellően előkészíteni ezt a lépést, ahol is a beállított virtuális hosztokhoz hozzárendelhetjük a CGI-ként futtatható PHP verziókat. Már ennek is volna több megoldása. Ebben a fejezetben előkészítem a terepet a mod_cgid és mod_fcgid modul beüzemeléséhez Apache 2.4-ben és Apache 2.2-ben.

Megosztás/Mentés

Apache webszerver telepítése Deban 6-ra

Az Apache webszerver telepítése téma nem is olyan egyszerű, hisz több módja is van. Ráadásul a szervernek több verziója is. Én ebben a fejezetben a Debian 6-ra a 2.4 és 2.2 -es verziók telepítéséről írok a forráskódból fordításra koncentrálva.

Ez a módszer ad ugyanis lehetőséget a több verzió egymás mellé telepítésére.

Megosztás/Mentés

Különböző tesztkörnyezetek és példányszámok

Az előző fejezetekben írtam arról, hogy néha egyszerre több verzióra lehet szükség webszerverből és/vagy php-ból, de ez ugyanúgy igaz lehet a mysql szerverre is. Más verziók, más hibák. És ezeket nem árt tesztelni, ha nem egy konkrét konfigurációra koncentrálva készül a program. De mikor és mit érdemes többszörözni?

Megosztás/Mentés

Apache, osztott mappa virtuális gépen - A fájlok nem frissülnek a böngészőben

Nem szeretek kérdezni, ha nem sürgős a megoldás. Szeretek magam rájönni mindenre, még ha ez időbe is telik. Nem volt ez másképp most sem, amikor virtuális gépen próbáltam futtatni apache webszervert, amihez a gazda gépről megosztottam egy partíciót az egyszerűség kedvéért. Miután a jogosultságokkal és a partíció felcsatolásával megbirkóztam, beletelt egy kis időbe, mire google-lal megtaláltam a megoldást a következő problémámra is:

Megosztás/Mentés