Ogni volta che configuro Apache su CentOS 7, la maggior parte delle volte ottengo "(13) Permission denied: file permissions deny server access
” errore come di seguito:
[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
Come correggere i permessi dei file negare l'accesso al server in Apache
Passaggio 1: Controlla la seguente configurazione di Apache che bloccherà l'accesso a tutti i file e gli URL.
<Directory /> Order deny,allow Deny from all </Directory>
Invece, dovrebbe essere come:
<Directory /> Order allow,deny Allow from all </Directory>
Passaggio 2: Controlla le autorizzazioni di lettura/scrittura della cartella principale del tuo sito Web e dei file richiesti da Apache. Per fornire ad Apache i permessi di lettura/scrittura su file/cartelle, esegui il comando seguente:
# chmod -R 755 /var/www/html-R opzione nel comando precedente
aggiornerà ricorsivamente le autorizzazioni utente di tutti i file e le cartelle nella posizione principale del tuo sito web.
Passaggio 3: Verifica la proprietà del file/della cartella principale del sito web . La proprietà dovrebbe essere di Apache(www-data o apache). Innanzitutto, scopri l'utente utilizzato dal processo Apache sul tuo sistema con il seguente comando:
# egrep -iw --color=auto '^user|^group' /etc/httpd/conf/httpd.conf
o
# ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
Ora cambia la proprietà di conseguenza usando il comando seguente:
# chown -R www-data:root /var/www/html
o
# chown -R apache:root /var/www/html
Passaggio 4:verifica la presenza di SELinux (Linux ottimizzato per la sicurezza). Potrebbe essere necessario utilizzare chcon
comando per impostare il contesto di sicurezza della directory principale del tuo sito Web come di seguito:
# chcon -R -h -t httpd_sys_content_t /var/www/html
Problemi simili relativi ad Apache SELinux:
Impossibile aprire lo stream:autorizzazione negata [Apache]