web-dev-qa-db-fra.com

Autorisation refusée: httpd: impossible d'ouvrir le fichier journal des erreurs/etc/httpd/logs/error_log

Lorsque je veux redémarrer httpd searvice sur centOS 6.7, j'ai l'erreur suivante:

/etc/init.d/httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd: (13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log.
Unable to open logs
                                                           [FAILED]

C'est error_log:

ls -Z /etc/httpd/logs/error_log
-rw-r--r--. root root unconfined_u:object_r:var_t:s0   /etc/httpd/logs/error_log

J'ai aussi désactivé selinux.

Quel est le problème?

6
MLSC

httpd s'exécute probablement en tant qu'utilisateur Apache ou utilisateur httpd. Votre journal est la propriété de root et ne peut être écrit qu’en écriture. Changez la propriété de votre fichier journal pour que cela fonctionne.

Cela devrait faire l'affaire:

~# chown Apache.apache /etc/httpd/logs/error_log
4
Bart Friederichs

Vous devriez probablement changer le groupe de ce forder en Apache, il n'est pas recommandé d'avoir root en tant que propriétaire du serveur. Quoi qu'il en soit, Apache devrait changer cela tout seul après le démarrage de http ... 

De httpd Wiki

Avant de commencer, nous devons savoir que le serveur HTTP Apache (Httpd) s’exécute en tant qu’utilisateur et groupe particuliers.

Sur Linux ainsi que sur la plupart des systèmes de type Unix, httpd est lancé en tant qu’utilisateur En tant qu’utilisateur "root"; UID = root, GID = root. Cela est nécessaire car seul Cet utilisateur peut se connecter aux ports 80 et 443 (toute valeur inférieure à 1024 en fait).

Une fois que http démarre et se connecte à ses ports (définis par les instructions Listen Dans httpd.conf), il remplace l'utilisateur par celui spécifié dans Httpd.conf. Typiquement:

Utilisateur: Apache
Groupe: Apache 

Notez que les systèmes basés sur Debian, y compris Ubuntu, utilisent à la place "www-data".

Comme solution possible, vous devriez vous ajouter au groupe Apache

usermod -a -G Apache (username)

Ensuite:

chgrp Apache (folderPath)
chmod g+rwxs (folderPath)  

Quoi qu'il en soit, c'est bizarre ... dites-moi si cela résout votre problème, sinon je le modifierai tant que vous me fournirez plus d'informations :)

1
Asur