Kdykoli nakonfiguruji Apache na CentOS 7, většinou se mi zobrazí „(13) Permission denied: file permissions deny server access
” chyba, jak je uvedeno níže:
[Fri Nov 12 06:29:24.901157 2021] [core:error] [pid 8287] (13)Permission denied: [client 192.168.10.12:15979] AH00132: file permissions deny server access: /var/www/html/admin/images/logo.png
Jak opravit oprávnění k odepření přístupu k serveru v Apache
Krok 1: Zkontrolujte níže uvedenou konfiguraci Apache která zablokuje přístup ke všem souborům a adresám URL.
<Directory /> Order deny,allow Deny from all </Directory>
Místo toho by to mělo být takto:
<Directory /> Order allow,deny Allow from all </Directory>
Krok 2: Zkontrolujte oprávnění ke čtení/zápisu kořenové složky vašeho webu a souborů požadovaných Apache. Chcete-li Apache poskytnout oprávnění ke čtení/zápisu do souborů/složek, spusťte níže uvedený příkaz:
# chmod -R 755 /var/www/html-R možnost ve výše uvedeném příkazu
rekurzivně aktualizuje uživatelská oprávnění všech souborů a složek v kořenovém umístění vašeho webu.
Krok 3: Zkontrolujte vlastnictví kořenové složky/souboru na webu . Vlastnictví by mělo být Apache (www-data nebo apache). Nejprve zjistěte uživatele používaného procesem Apache ve vašem systému pomocí následujícího příkazu:
# egrep -iw --color=auto '^user|^group' /etc/httpd/conf/httpd.conf
nebo
# ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
Nyní příslušným způsobem změňte vlastnictví pomocí níže uvedeného příkazu:
# chown -R www-data:root /var/www/html
nebo
# chown -R apache:root /var/www/html
Krok 4:Zkontrolujte SELinux (Security-Enhanced Linux). Možná budete muset použít chcon
příkaz k nastavení kontextu zabezpečení kořenového adresáře vašeho webu, jak je uvedeno níže:
# chcon -R -h -t httpd_sys_content_t /var/www/html
Podobné problémy související s Apache SELinux:
Nepodařilo se otevřít stream:Oprávnění odepřeno [Apache]