VPS a Nginx

Nastavení FoxDesku na VPS s Nginxem, PHP-FPM, SSL a bezpečným zpřístupněním aplikace.

Nginx a PHP-FPM

Konfigurace Nginxu musí předávat hlavičku Authorization do PHP-FPM a zakázat přímý přístup k interním adresářům.

Konfigurace Nginxu (server blok)

Do konfigurace virtuálního hostitele, například /etc/nginx/sites-available/helpdesk.conf, vložte následující strukturu. Zajistí směrování přes hlavní kontroler aplikace a ochrání interní cesty:

server {
    listen 443 ssl;
    server_name helpdesk.example.com;
    root /var/www/helpdesk;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # These deny rules must appear before the generic PHP regex.
    location ~ ^/(backups|bin|includes|storage|uploads)(?:/|$) {
        deny all;
    }

    location ~ ^/(config(?:\.example)?\.php|version\.json|\.maintenance)$ {
        deny all;
    }

    location ~ \.php$ {
        try_files $fastcgi_script_name =404;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTP_AUTHORIZATION $http_authorization;
        include fastcgi_params;
    }
}

Cestu k socketu PHP-FPM a souborovému systému upravte podle nainstalované verze PHP. Kontrola try_files zabrání tomu, aby Nginx předal PHP-FPM neexistující skript. Pravidla deny musí zůstat před obecným regulárním výrazem pro PHP, aby interní data a konfiguraci nejdřív nezpracoval PHP handler.

Před opětovným načtením Nginxu spusťte nginx -t a poté v prohlížeči otevřete install.php. Před prvním spuštěním nevytvářejte config.php; průvodce jej vytvoří po ověření databáze.