PHP-FPM és .htaccess

Mit lehet tenni akkor, ha egy olyan szervert bíznak az ember gondjaira, amelyen eddig az egyes ügyfelek weboldalainak kiszolgálása mod_php segítségével volt megoldva? Hacsak nem akarunk napi szinten biztonsági incidensek után takarítani, el kell felejteni a mod_php-t és helyette használatba venni valami biztonságosabb megoldást, például a PHP-FPM folyamatkezelőt. Ha a váltással együtt nem változik meg a PHP verziószáma is, az egyes oldalak ebből a változásból nem vesznek észre semmit, viszont ettől a pillanattól fogva minden weboldal PHP kódja a weboldal tulajdonosának a nevében fog futni. Így ha az egyik hanyag ügyfél el is felejti frissíteni népszerű CMS oldalát, egy esetleges behatoló csak ezt az oldalt fogja tudni tönkretenni, a többi ügyfél oldalaihoz nem lesz hozzáférése. A mod_php esetén nem ez lenne a helyzet...

A PHP cseréje gond nélkül megtörtént, azonban néhány oldal Internal Server Error üzenettel ajándékozott meg minket. Elég volt egy pillantás az oldalak error.log fájljába, és azonnal kiderült, mi okozta a bajt: az oldalak .htaccess fájljaiban több sor tartalmazott php_value és php_flag kezdetű beállításokat. Miután az Apache jelen esetben nem képes feldolgozni a PHP kódokat, így nem érti meg ezeket a PHP működésével kapcsolatos beállításokat sem. A .htaccess fájlban mindenképpen ki kell törölni ezeket a sorokat, ha azonban a beállításokra továbbra is szükség van, akkor ezeket a PHP-FPM működését meghatározó pool definíciós fájlokban kell elhelyeznünk. Ezeket a fájlokat Debian Linux alatt a /etc/php5/fpm/pool.d mappában találjuk meg.