Quelles autorisations de fichiers dois-je définir sur la racine Web?

48

J'utilise Ubuntu Server 10.10 et j'ai installé le serveur Web Nginx avec apt-get install nginx . Il crée une page Web par défaut à /var/www/nginx-default/ et ce répertoire dispose des autorisations drwxr-xr-x 2 root root .

Lorsque j'accède au site par défaut sur http://localhost/ , j'obtiens ce message sur la page 403 Forbidden .

Comment dois-je définir les autorisations de fichier sur la racine www pour que je puisse sécuriser l’accès aux pages Web? Ou y a-t-il autre chose que je dois changer?

    
posée Jonas 25.10.2010 - 17:22
la source

2 réponses

30

Je m'en tiens habituellement à un 755 (ou rwxr-xr-x ) sur ma racine Web, mais je ne pense pas que ce soit le problème que vous rencontrez depuis que votre répertoire est déjà défini à cela. nginx devrait avoir accès à votre répertoire. La question devient alors les permissions (ou l'existence de) du fichier auquel vous essayez d'accéder. Les fichiers de votre répertoire devront être lisibles par l'utilisateur que nginx exécute. Je laisse généralement ces fichiers à 755 (le même que le répertoire). Vous pouvez modifier l'intégralité du répertoire en effectuant sudo chmod -R 755 /var/www/nginx-default/ .

S'il n'y a pas de fichier d'index dans le répertoire, vous obtiendrez toujours la même erreur. Le fichier d'index est utilisé lorsque vous demandez un répertoire pour lequel les listes de répertoires ne sont pas activées. Le fichier d'index le plus courant est index.html . Cette valeur par défaut peut être modifiée dans votre configuration, mais en utilisant quelque chose comme:

location / {
    index index.php;
}

Si vous souhaitez que nginx génère une liste de fichiers dans ce répertoire, activez simplement l’indexation des répertoires , comme alors:

location  /  {
  autoindex  on;
}
    
réponse donnée Jack M. 25.10.2010 - 17:32
la source
50

Je suggère de changer le groupe de votre webroot en www-data , l’utilisateur utilisé par nginx et aussi php5-fpm.

Par exemple:

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

où my-user est votre propre compte (ce qui vous permet de mettre les fichiers facilement dans votre webroot sans sudo).

    
réponse donnée Peter Smit 25.10.2010 - 17:55
la source

Lire d'autres questions sur les étiquettes