Esta semana precisei instalar um LimeSurvey num subdiretório de um servidor Debian 8, que está com NGINX rodando. Como sempre, a maior dificuldade é preparar o rewrite correto.
Depois de fazer vários testes, e ler a documentação do LimeSurvey, a minha configuração final para rodá-lo em subdiretório ficou assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
location ^~ /survey { access_log off; error_log /home/usuario/logs/survey.error.log; set $host_path "/home/usuario/public_html/survey"; root /home/usuario/public_html; try_files $uri /survey/index.php?$args; location ~ \.php { include /etc/nginx/fastcgi_params; fastcgi_pass php5-fpm; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } |
Atenção para o detalhe do “fastcgi_pass php5-fpm;”, que no meu caso representa um arquivo em /etc/nginx/conf.d/php5-fpm.conf:
1 2 3 4 |
upstream php5-fpm{ server unix:/var/run/php5-fpm.sock; #server 127.0.0.1:9000; } |
Isto poderia estar direto no location do virtual host, mas eu prefiro fazer em um arquivo fora para não ter que ficar repetindo.
BÔNUS
Se você não quiser que apareça index.php?r=foobar na sua URL, abra o /application/config/config.php do LimeSurvey e coloque duas variáveis como abaixo:
1 2 |
'urlFormat' => 'path' 'showScriptName' => false, |