x

Hoofdstukken

  1. LimeSurvey Cloud versus LimeSurvey CE
  2. Beknopte handleiding (voor versie 3.0+)
  3. Installatie - LimeSurvey CE
  4. Hoe maak je een goede enquête
  5. Aan de slag
  6. Beheren van LimeSurvey
  7. Enquêtes - introductie
  8. Enquête instellingen
  9. Enquête menu
  10. Enquête structuur
  11. Vragen - introductie
  12. Vraaggroepen - introductie
  13. Enquêtes - beheer
  14. Enquête taakbalk opties
  15. Meertalige enquête
  16. ExpressionScript Engine - Snelstartgids
  17. Overige en geavanceerde mogelijkheden
  18. Algemene vragen
  19. Problemen oplossen
  20. Tijdelijke oplossingen
  21. Licentie
  22. Wijzigingen in versie
  23. Plugins - geavanceerd
 Actions

LimeSurvey nginx-voorbeeldconfiguratie

From LimeSurvey Manual

Deze pagina is mogelijk machinaal vertaald en kan fouten bevatten. Engelse origineel tonen · Deze vertaling verbeteren
This page is a translated version of the page LimeSurvey nginx example configuration and the translation is 100% complete.

Nginx-configuratievoorbeeld voor LimeSurvey

Hieronder vindt u een voorbeeldconfiguratie om LimeSurvey te draaien met nginx en PHP-FPM. Pas de paden, domeinnamen en de instellingen voor de PHP-FPM-socket/-poort aan zodat ze overeenkomen met uw serveropzet.

Opmerking: Dit is een eenvoudig voorbeeld. Controleer het altijd en pas het aan uw eigen beveiligingseisen aan voordat u het in productie gebruikt.

server {
    listen 80;
    server_name survey.example.com;
    # Redirect all HTTP traffic to HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name survey.example.com;

root /var/www/limesurvey;
    index index.php;

# SSL certificates
    ssl_certificate     /etc/ssl/certs/survey.example.com.crt;
    ssl_certificate_key /etc/ssl/private/survey.example.com.key;

# Recommended SSL settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

client_max_body_size 100M;

access_log /var/log/nginx/limesurvey_access.log;
    error_log  /var/log/nginx/limesurvey_error.log;

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

location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

# Deny access to hidden files and sensitive directories
    location ~ /\.(?!well-known).* {
        deny all;
    }

location ~ ^/tmp/runtime/ {
        deny  all;
    }
location ~* /(application|protected|modules|locale|framework|vendor|tests|docs|db|application/config)/ {
        deny all;
    }

# Disallow uploaded potential executable files in upload directory
location ~* /upload/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {
        return 444;
    }

#Disallow direct read user upload files
location ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {
        return 444;
    }

location ~* \.(log|sql|htaccess)$ {
        deny all;
    }

# Allow LimeSurvey to serve uploaded files and assets
    location /upload/ {
        try_files $uri $uri/ =404;
    }
}

Uitleg van belangrijke directives

  • fastcgi_pass: Verwijst naar de PHP-FPM-socket of het TCP-adres dat PHP-verzoeken afhandelt. Pas dit aan zodat het overeenkomt met de configuratie van uw PHP-FPM-pool.
  • try_files: Zorgt ervoor dat URL's correct worden doorgestuurd via de front controller van LimeSurvey (index.php).
  • client_max_body_size: Verhoogt het maximum voor de uploadgrootte, handig voor enquêtes met vragen waarbij bestanden worden geüpload.
  • Deny-regels: Blokkeren directe webtoegang tot configuratiebestanden, logbestanden en applicatiemappen die nooit openbaar toegankelijk mogen zijn.