Ich versuche, einen frisch installierten Ubuntu-Server (12.04) einzurichten, aber ich kann keine PHP-Dateien über php-fpm ausführen. Egal was ich tue, ich erhalte immer die Meldung "Zugriff verweigert". Seite (Klartext, nicht HTML oder irgendetwas).
Installierte Pakete:
nginx
nginx-common
nginx-full
php5
php5-cli
php5-common
php5-fpm
Konfigurationsdetails:
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; }
Standard- / Testdomain:
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();
Alles andere ist Standard. Sowohl das Nginx- als auch das php-fpm-Protokoll zeigen keine Fehler an. Beim Laden http://<server-ip>/index.phperhalte ich jedoch die Seite "Zugriff verweigert".
Fehlerbehebung:
- Die Datei index.html funktioniert einwandfrei. Daher muss es entweder php-fpm oder die Fastcgi-Bindung zwischen Nginx und php-fpm sein.
- Ich habe den Besitz (sowohl Benutzer als auch Gruppe) des gesamten
/extraVerzeichnisses aufwww-dataund den Besitz auf 777 gesetzt, nur um sicherzugehen (ich werde ihn abschwächen, sobald er natürlich funktioniert). Es handelt sich also mit Sicherheit nicht um eine Berechtigungsfrage - Es ist nicht das security.limit_extensions- Problem, das ich häufig sehe: Standardmäßig ist es auf .php gesetzt, genau das, was ich anfordere. Ich habe es ausdrücklich eingestellt
.php .html, mit dem gleichen Ergebnis.
Ich habe es wirklich satt, ich habe dieses Setup bereits zweimal installiert (allerdings auf OSX-Rechnern) und alles hat einwandfrei funktioniert. Gibt es etwas, was ich übersehen habe?
Der Protokollinhalt:
Das Nginx-Fehlerprotokoll ist leer.
Nginx-Zugriffsprotokoll (entfernte IP-Adresse):
<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 "-" "-"
php-fpm log:
[17-Jul-2012 10:44:14] NOTICE: fpm is running, pid 4969
[17-Jul-2012 10:44:14] NOTICE: ready to handle connections