it-swarm.com.de

Welche Dateiberechtigungen sollte ich für das Webroot festlegen?

Ich benutze Ubuntu Server 10.10 und habe den Nginx-Webserver mit apt-get install nginx installiert. Es wird eine Standardwebseite unter /var/www/nginx-default/ erstellt, und dieses Verzeichnis verfügt über die Berechtigungen drwxr-xr-x 2 root root.

Wenn ich auf die Standardwebsite auf http://localhost/ zugreife, wird diese Meldung auf der Seite 403 Forbidden angezeigt.

Wie soll ich die Dateiberechtigungen für das WWW-Stammverzeichnis festlegen, damit ich den Zugriff auf die Webseiten sichern kann? Oder muss ich noch etwas ändern?

53
Jonas

Normalerweise halte ich mich an einen 755 (oder rwxr-xr-x) in meinem Webstamm, aber ich glaube nicht, dass dies das Problem ist, auf das Sie stoßen, da Ihr Verzeichnis bereits auf diesen Wert eingestellt ist. nginx sollte Zugriff auf Ihr Verzeichnis haben. Die Frage wird dann zu den Berechtigungen (oder der Existenz) der Datei, auf die Sie zugreifen möchten. Die Dateien in Ihrem Verzeichnis müssen für den Benutzer nginx lesbar sein. Normalerweise belasse ich diese Dateien auf 755 (das gleiche wie das Verzeichnis). Sie können das gesamte Verzeichnis ändern, indem Sie Sudo chmod -R 755 /var/www/nginx-default/ ausführen.

Befindet sich jedoch keine Indexdatei im Verzeichnis, wird derselbe Fehler weiterhin angezeigt. Die Indexdatei wird verwendet, wenn Sie ein Verzeichnis anfordern, für das keine Verzeichnislisten aktiviert sind. Die am häufigsten verwendete Indexdatei ist index.html. Diese Standardeinstellung kann jedoch in Ihrer Konfiguration bearbeitet werden, indem Sie Folgendes eingeben:

location / {
    index index.php;
}

Wenn Sie möchten, dass nginx eine Liste der Dateien in diesem Verzeichnis für Sie erstellt, aktivieren Sie einfach Verzeichnisindizierung wie folgt:

location  /  {
  autoindex  on;
}
33
Jack M.

Ich würde vorschlagen, die Gruppe Ihrer Webroot in www-data zu ändern, den von nginx und auch php5-fpm verwendeten Benutzer.

Zum Beispiel:

Sudo chown -R "$USER":www-data /webdirectory
Sudo chmod -R 0755 /webdirectory

wobei my-user Ihr eigenes Konto ist (wodurch Sie die Dateien ohne Sudo einfach in Ihre Webroot einfügen können).

56
Peter Smit