Úvod
Apache je díky své spolehlivosti a stabilitě populární open-source aplikace pro provozování webových serverů. Navzdory snadnému použití není neobvyklé setkat se s „403 Zakázáno “ chyba po nastavení webu pomocí Apache.
V tomto tutoriálu se podíváme na možné příčiny Apache ‘403 Forbidden “ a různé způsoby, jak ji opravit.
Předpoklady
- Uživatelský účet s oprávněními root nebo sudo
- Přístup k terminálu příkazového řádku
- Nainstalovaná verze webového serveru Apache
Apache 403 Forbidden:Účinky a možné příčiny
The Apache ‘403 Zakázáno “ se zobrazí při pokusu o načtení webové stránky s omezeným přístupem. V závislosti na vašem prohlížeči a příslušné webové stránce existují různé verze chybové zprávy 403:
- Zakázáno
- Chyba 403
- Chyba HTTP 403.14 – Zakázáno
- 403 Zakázáno
- HTTP 403
- Zakázáno:Nemáte oprávnění pro přístup k webu pomocí tohoto serveru
- Chyba 403 – Zakázáno
- Chyba HTTP 403 – Zakázáno
Existuje několik potenciálních důvodů, proč Apache 403 dojde k chybě:
- První možností je chyba oprávnění v adresáři webroot, kde uživatelé nemají přístup k souborům webových stránek.
- Druhým možným důvodem chyby 403 je chybějící nebo nesprávné nastavení v konfiguračních souborech Apache.
- Nakonec, selhání nastavení výchozího indexu adresáře také spustí chybovou zprávu 403 v Apache.
Jak opravit „403 Forbidden“ v Apache
Pokud jste narazili na Apache ‘403 Forbidden “, existuje několik způsobů, jak to opravit:
Metoda 1:Nastavení oprávnění k souboru a vlastnictví
Pokud se domníváte, že příčinou chyby 403 jsou nesprávná oprávnění k souboru, použijte:
sudo chmod -R 775 /path/to/webroot/directory
Příkaz chmod nastavuje oprávnění ke spuštění pro adresář webroot a oprávnění ke čtení pro index.html
soubor.
Chcete-li změnit vlastnictví adresáře, použijte:
sudo chown -R user:group /path/to/webroot/directory
Kde:
user
je uživatelský účet s právy root na vašem webovém serveru.group
jewww-data
neboapache
.
Restartujte webový server Apache, aby se změny projevily.
Pokud pracujete s Ubuntu, použijte k restartování Apache následující příkaz:
sudo systemctl restart apache2
Pokud pracujete s Centos, použijte:
sudo systemctl restart httpd
Metoda 2:Nastavení direktiv Apache
Je možné, že správný požadavek direktiva není nakonfigurována a omezuje přístup ke zdrojům. Chcete-li to opravit:
1. Otevřete hlavní konfigurační soubor Apache. Pro Ubuntu použijte:
sudo nano /etc/apache2/apache2.conf
Pro Centos použijte:
sudo nano /etc/httpd/httpd.conf
2. Jakmile otevřete konfigurační soubor, přejděte dolů na následující sekci:
3. Pokud je poslední řádek v <Directory /var/www/>
sekce obsahuje Require all denied
, změňte jej na Require all granted
.
4. Stiskněte Ctrl+X
a poté Y
pro uložení změn do konfiguračního souboru Apache.
5. Restartujte webový server Apache, aby se změny projevily. Pro Ubuntu použijte:
sudo systemctl restart apache2
Pro Centos použijte:
sudo systemctl restart httpd
Metoda 3:Přidání výchozího indexu adresáře
Když uživatel navštíví adresu URL, která požaduje adresář, webový server hledá soubor v daném adresáři. Pokud soubor nebo jakékoli podobné soubory nejsou nalezeny a seznamy indexů adresářů jsou zakázány, webový server zobrazí „403 Zakázáno“ chybová zpráva.
Chcete-li problém vyřešit, přidejte výchozí index adresáře.
1. Otevřete hlavní konfigurační soubor Apache pomocí:
sudo nano /etc/apache2/apache2.conf
2. Přejděte dolů a zjistěte výchozí název indexového souboru:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
3. Ujistěte se, že je ve složce webroot soubor s tímto názvem, a pokud chybí, nahrajte jej.