x

Capítulos principales

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guía de inicio rápido - LimeSurvey 3.0+
  3. Instalación - LimeSurvey CE
  4. Cómo diseñar una buena encuesta (guía)
  5. Empezando
  6. Administración de LimeSurvey
  7. Encuestas - introducción
  8. Configuración de la encuesta
  9. Menú de encuesta
  10. Estructura de la encuesta
  11. Preguntas - introducción
  12. Grupos de preguntas: introducción
  13. Encuestas - gestión
  14. Opciones de la barra de herramientas de encuesta
  15. Encuesta multilingüe
  16. Motor ExpressionScript: guía de inicio rápido
  17. Funciones avanzadas y no categorizadas
  18. FAQ - General
  19. Solución de problemas
  20. Soluciones alternativas
  21. Licencia
  22. Registro de cambios de versión
  23. Complementos - avanzado
 Actions

Ejemplo de configuración de nginx para LimeSurvey

From LimeSurvey Manual

Es posible que esta página se haya traducido automáticamente y contenga errores. Ver el original en inglés · Mejorar esta traducción
This page is a translated version of the page LimeSurvey nginx example configuration and the translation is 100% complete.

Ejemplo de configuración de Nginx para LimeSurvey

A continuación se muestra un ejemplo de configuración para ejecutar LimeSurvey con nginx y PHP-FPM. Adapte las rutas, los nombres de dominio y la configuración del socket o puerto de PHP-FPM a la de su servidor.

Nota: Este es un ejemplo básico. Revíselo y adáptelo siempre a sus propios requisitos de seguridad antes de usarlo en producción.

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;
    }
}

Explicación de las directivas principales

  • fastcgi_pass: Apunta al socket de PHP-FPM o a la dirección TCP que gestiona las solicitudes de PHP. Actualícelo para que coincida con la configuración de su pool de PHP-FPM.
  • try_files: Garantiza que las URL se enruten correctamente a través del controlador frontal de LimeSurvey (index.php).
  • client_max_body_size: Aumenta el tamaño máximo de subida, lo cual resulta útil para encuestas con preguntas de subida de archivos.
  • Reglas de denegación: Bloquean el acceso web directo a los archivos de configuración, los registros y los directorios de la aplicación que nunca deberían ser accesibles públicamente.