Chaque fois que je configure Apache sur CentOS 7, la plupart du temps, j'obtiens "(13) Permission denied: file permissions deny server access
” erreur comme ci-dessous :
[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
Comment réparer les autorisations de fichiers refusant l'accès au serveur dans Apache
Étape 1 : Vérifiez la configuration Apache ci-dessous qui bloquera l'accès à tous les fichiers et URL.
<Directory /> Order deny,allow Deny from all </Directory>
Au lieu de cela, cela devrait ressembler à :
<Directory /> Order allow,deny Allow from all </Directory>
Étape 2 : Vérifier les autorisations de lecture/écriture du dossier racine de votre site Web et des fichiers requis par Apache. Pour autoriser Apache à lire/écrire dans les fichiers/dossiers, exécutez la commande ci-dessous :
# chmod -R 755 /var/www/htmlOption -R dans la commande ci-dessus
mettra à jour de manière récursive les autorisations utilisateur de tous les fichiers et dossiers à l'emplacement racine de votre site Web.
Étape 3 : Vérifiez la propriété du dossier racine/fichier du site Web . La propriété doit être Apache (www-data ou apache). Tout d'abord, recherchez l'utilisateur utilisé par le processus Apache sur votre système à l'aide de la commande suivante :
# egrep -iw --color=auto '^user|^group' /etc/httpd/conf/httpd.conf
ou
# ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
Modifiez maintenant le propriétaire en conséquence à l'aide de la commande ci-dessous :
# chown -R www-data:root /var/www/html
ou
# chown -R apache:root /var/www/html
Étape 4 :Vérifiez SELinux (Security-Enhanced Linux). Vous devrez peut-être utiliser chcon
pour définir le contexte de sécurité du répertoire racine de votre site Web comme ci-dessous :
# chcon -R -h -t httpd_sys_content_t /var/www/html
Problèmes similaires liés à Apache SELinux :
Échec de l'ouverture du flux :autorisation refusée [Apache]