Minha configuração
- Ubuntu 14.04 LTS de 64 bits
- Nginx
- SimpleSAMLphp 1.13.2
Meu bloco de servidor Nginx:
server {
listen 80;
listen [::]:80;
root /var/www/sso/html;
index index.php index.html index.htm;
server_name xxx.xx.x.xx;
location / {
try_files $uri $uri/ /index.php?$args ;
}
# For simpleSAMLphp
location /simplesaml {
alias /var/www/sso/html/simplesaml/www;
location ~ \.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
Minha estrutura de arquivos é a seguinte, onde /var/www/sso/html/
é a pasta raiz.
Eu coloquei a estrutura SimpleSAMLphp em /var/www/sso/html/simplesaml/
Eu segui as etapas de instalação encontradas no link Embora este guia abranja apenas o servidor Apache.
Eu investiguei como configurar o bloco do servidor Nginx da maneira correta. Mas o comportamento que obtenho é que, ao digitar meu-domínio.com/simplesaml , sou redirecionado para meu-dominio.com.br/simplesaml/module.php/core/frontpage_welcome.php Com a saída do site Nenhum arquivo de entrada especificado.
Eu olhei no meu Nginx error.log, que me diz o seguinte:
[error] 26283#0: *1 FastCGI sent in stderr: "Unable to open primary script: /var/www/sso/html/simplesaml/www//module.php/core/frontpage_welcome.php (No such file or directory)" while reading response header from upstream, client: xxx.xxx.xx.234, server: xxx.xx.x.xx, request: "GET /simplesaml/module.php/core/frontpage_welcome.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxx.xx.x.23"
Eu li sobre a mensagem de erro e tentei mudar de acordo com o que está escrito aqui: link
Eu verifiquei a permissão para arquivos / diretórios no meu diretório sso, após a execução:
find sso/ -type d -exec chmod 755 {} \;
find sso/ -type f -exec chmod 755 {} \;
Parece com isso:
Embora tudo pareça correto, o grupo de usuários permitiu executar / ler / gravar em arquivos. Eu também mudei para fastcgi_param SCRIPT_FILENAME $request_filename;
no bloco do servidor Nginx.
Meus pensamentos
Como é que ele redireciona para simplesaml / module.php / core / frontpage_welcome.php e não simplesaml / modules / core / frontpage_welcome.php?
O que poderia estar errado?