Ich habe nginx mit PHP-FPM auf einer CentOS 5-Box installiert, habe aber Schwierigkeiten, es für alle meine Dateien bereitzustellen - ob PHP oder nicht.
Nginx wird als www-data: www-data ausgeführt, und die Standardwebsite "Willkommen bei Nginx auf EPEL" (im Besitz von root: root mit 644 Berechtigungen) wird problemlos geladen.
Die nginx-Konfigurationsdatei enthält eine include-Direktive für /etc/nginx/sites-enabled/*.conf, und ich habe eine Konfigurationsdatei example.com.conf , also:
server {
listen 80;
Virtual Host Name
server_name www.example.com example.com;
location / {
root /home/demo/sites/example.com/public_html;
index index.php index.htm index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/demo/sites/example.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
}
Obwohl public_html im Besitz von www-data: www-data mit 2777 Dateiberechtigungen ist, liefert diese Site keinen Inhalt -
[error] 4167#0: *4 open() "/home/demo/sites/example.com/public_html/index.html" failed (13: Permission denied), client: XX.XXX.XXX.XX, server: www.example.com, request: "GET /index.html HTTP/1.1", host: "www.example.com"
Ich habe zahlreiche andere Posts mit Benutzern gefunden, die 403s von nginx erhalten, aber die meisten, die ich gesehen habe, betreffen entweder komplexere Setups mit Ruby / Passenger (was mir in der Vergangenheit tatsächlich gelungen ist) oder erhalten nur Fehler, wenn das Upstream-PHP -FPM ist beteiligt, daher scheinen sie wenig hilfreich zu sein.
Habe ich hier etwas Dummes getan?