====== Vorbereitung nginx Webserver ====== Die Webserver-Software ''nginx'' ist sehr effizient und kann gut mit großen Teilnehmerzahlen umgehen. PHP wird mittels ''php-fpm'' angebunden. ===== Verzeichnisschutz ====== 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; } ===== API konfigurieren ===== 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; }