it-swarm-eu.dev

Jaká oprávnění souborů mám nastavit v kořenovém adresáři webu?

Používám Ubuntu Server 10.10 a nainstaloval jsem webový server Nginx s apt-get install nginx. Vytvoří výchozí webovou stránku na /var/www/nginx-default/ a tento adresář má oprávnění drwxr-xr-x 2 root root.

Když přistoupím na výchozí web na http://localhost/ Dostanu tuto zprávu na stránku 403 Forbidden.

Jak mám nastavit oprávnění souboru v kořenovém adresáři www, abych mohl zabezpečit přístup na webové stránky? Nebo je ještě něco, co musím změnit?

55
Jonas

Obvykle se držím 755 (nebo rwxr-xr-x) v mém webovém kořenovém adresáři, ale nemyslím si, že se jedná o problém, se kterým se setkáváte, protože váš adresář je na to již nastaven. nginx by měl mít přístup k vašemu adresáři. Otázka se pak stane oprávnění (nebo existencí) souboru, ke kterému se pokoušíte získat přístup. Soubory ve vašem adresáři bude muset být čitelné uživatelem nginx běží jako. Tyto soubory obvykle nechávám nastaveny na 755 (stejné jako adresář). Celý adresář můžete změnit provedením Sudo chmod -R 755 /var/www/nginx-default/.

Pokud však v adresáři není indexový soubor, budete stále dostávat stejnou chybu. Indexový soubor se používá, když požadujete adresář, který nemá povoleno výpisy adresářů. Nejběžnějším indexovým souborem je index.html. Toto výchozí nastavení lze ve vaší konfiguraci upravit, například pomocí:

location / {
    index index.php;
}

Pokud chcete, aby nginx vygeneroval seznam souborů v tomto adresáři, jednoduše zapněte indexování adresáře , například:

location  /  {
  autoindex  on;
}
36
Jack M.

Navrhl bych změnit skupinu vašeho webrootu na www-data, uživatel používaný nginxem a také php5-fpm.

Například:

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

kde my-user je váš vlastní účet (což vám umožňuje snadno ukládat soubory do webrootu bez Sudo).

60
Peter Smit