Die Webserver-Software nginx ist sehr effizient und kann gut mit großen Teilnehmerzahlen umgehen.
PHP wird mittels php-fpm angebunden.
Anders als bei Apache verarbeitet nginx keine .htaccess Dateien direkt im jeweiligen Verzeichnis.
Stattdessen muss der Zugriff auf die Verzeichnisse system und andere durch entsprechende Anweisungen in der Konfiguration eingeschränkt werden. Innerhalb des server Blocks sind das z.B.
# Forbidden directories
location ~ ^/(inc|lib|system)/ {
deny all;
return 403;
}
location ~ ^/files/(protected|upload|share)/ {
deny all;
return 403;
}
location ~ ^/download/(release|system|working)/ {
deny all;
return 403;
}
location ~ /\.ht {
deny all;
return 403;
}
# Use default favicon, so no entries will appear in the errorlog
location ~ ^/.*/favicon\.ico$ {
try_files /favicon.ico =404;
}
Damit die Rest API nicht nur über admin/api.php?v1 aufgerufen werden kann, sondern auch eine RFC-konforme URL admin/api/v1 erlaubt, ist innerhalb des server Block folgende „Umleitung“ auf die api.php erforderlich.
# Front Controller Setup for API
location ~ ^/admin/api/ {
try_files "" /admin/api.php$is_args$args;
}