Estou tentando configurar um servidor Ubuntu (12.04) recém-instalado, mas não consigo executar arquivos PHP através do php-fpm. Não importa o que eu faça, sempre recebo um "Acesso negado". página (texto simples, não html ou qualquer coisa).
Pacotes instalados:
nginx
nginx-common
nginx-full
php5
php5-cli
php5-common
php5-fpm
Detalhes da configuração:
PHP-FPM:
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
Nginx:
user www-data;
worker_processes 3;
events { worker_connections 1024; }
Domínio de teste / padrão:
server {
listen 80;
server_name localhost;
root /extra/htdocs/default;
index index.html index.php
access_log /extra/logs/default/access.log;
error_log /extra/logs/default/error.log;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.php
{
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
/extra/htdocs/default/index.php:
<?php
phpinfo();
Todo o resto é o padrão. Os logs do Nginx e do php-fpm não mostram erros. No entanto, quando carrego http://<server-ip>/index.php
, obtenho a página "Acesso negado".
Solução de problemas:
- O arquivo index.html funciona bem. Portanto, deve ser php-fpm ou a ligação fastcgi entre Nginx e php-fpm.
- Defina a propriedade (usuário e grupo) de todo o diretório
/extra
como www-data
e a posse como 777, só para ter certeza (vou diminuí-lo quando funcionar, é claro). Então, certamente não é um problema de permissões
- Não é a questão security.limit_extensions que vejo muito: por padrão que é definido como .php, que é exatamente o que estou solicitando. Eu defini explicitamente como
.php .html
, com o mesmo resultado.
Estou realmente cansado disso, já instalei essa configuração duas vezes (embora em máquinas OSX) e tudo funcionou perfeitamente. Existe algo que eu esteja negligenciando?
O conteúdo do log:
O log de erros do Nginx está vazio.
Log de acesso ao Nginx (ip removido):
<ip> - - [17/Jul/2012:11:21:25 +0200] "GET /favicon.ico HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"
<ip> - - [17/Jul/2012:11:21:28 +0200] "GET /index.php HTTP/1.1" 403 46 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"
<ip> - - [17/Jul/2012:11:21:34 +0200] "-" 400 0 "-" "-"
log do php-fpm:
[17-Jul-2012 10:44:14] NOTICE: fpm is running, pid 4969
[17-Jul-2012 10:44:14] NOTICE: ready to handle connections