x

Основные главы

  1. LimeSurvey Cloud и LimeSurvey CE: сравнение
  2. Краткое руководство по началу работы - LimeSurvey 3.0+
  3. Установка - LimeSurvey CE
  4. Как разработать хороший опрос (руководство)
  5. Начиная
  6. Администрирование LimeSurvey
  7. Опросы - Вступление
  8. Настройки опроса
  9. Меню опроса
  10. Структура опроса
  11. Вопросы — введение
  12. Группы вопросов - введение
  13. Опросы - управление
  14. Параметры панели инструментов опроса
  15. Многоязычный опрос
  16. Движок ExpressionScript — краткое руководство
  17. Не классифицированы и расширенные функции
  18. ЧаВо
  19. Устранение неполадок
  20. Обходные пути
  21. Лицензия
  22. Журнал изменений версий
  23. Плагины
 Actions

Пример конфигурации nginx для LimeSurvey

From LimeSurvey Manual

Эта страница, возможно, переведена машинным способом и может содержать ошибки. Показать английский оригинал · Улучшить этот перевод
This page is a translated version of the page LimeSurvey nginx example configuration and the translation is 100% complete.

Пример конфигурации nginx для LimeSurvey

Ниже приведён пример конфигурации для запуска LimeSurvey с nginx и PHP-FPM. Измените пути, доменные имена и настройки сокета/порта PHP-FPM в соответствии с настройками вашего сервера.

Примечание: это базовый пример. Перед использованием в рабочей среде всегда проверяйте его и адаптируйте под ваши требования безопасности.

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

Описание основных директив

  • fastcgi_pass: указывает на сокет или TCP-адрес PHP-FPM, обрабатывающий PHP-запросы. Измените его в соответствии с конфигурацией вашего пула PHP-FPM.
  • try_files: обеспечивает правильную маршрутизацию URL через фронт-контроллер LimeSurvey (index.php).
  • client_max_body_size: увеличивает максимум размера загружаемых файлов, что полезно для опросов с вопросами на загрузку файлов.
  • Запрещающие правила: блокируют прямой веб-доступ к файлам конфигурации, журналам и каталогам приложения, которые никогда не должны быть общедоступными.