Lighttpd mit PHP und CGI
Dienstag, den 11. März 2008Der schlanke Webserver Lighty ist in aller Munde. Wer statt FastCGI lieber das CGI Modul verwenden will und für jeden virtuellen Host eine separate php.ini benötigt, kommt um einen Wrapper für PHP nicht herum. Es sei den man kennt folgenden kleinen Trick.
Man lädt in der lighttpd.conf das Modul mod_setenv und setzt für jeden virtuellen Host die Umgebungsvariable PHPRC, welche den Pfad zur php.ini angibt.
$HTTP["host"] =~ "^(www.)?example.com" {
server.document-root = "/var/www/example.com/www"
setenv.add-environment = (
"PHPRC" => "/var/www/example.com/php.ini"
)
cgi.assign = ( ".php" => "/usr/bin/php5-cgi" )
index-file.names = ( "index.php" )
...
}
In jeder php.ini sollte man dann die üblichen sicherheitsrelevanten Optionen klären. Als kleine Anregung:
open_basedir, upload_tmp_dir, sendmail_from, disable_functions, ...
Mit phpinfo(); kann man die Einstellungen leicht überprüfen.