apache sur centos 5.6 me donne des autorisations refusées erreur

10

J'utilise apache sur centos 5.6 et chaque fois que j'essaie de charger un script php dans n'importe quel répertoire, autre que / var / www / html (le répertoire racine par défaut d'apache), il me donne une erreur d'autorisation refusée.

Cependant, lorsque je vérifie les autorisations de mon nouveau répertoire racine (/ var / www-dev) par rapport au répertoire par défaut (/ var / www / html), elles correspondent de manière identique. les deux disent: root: root 755

j'ai même essayé de changer la propriété en apache: apache, et j'ai toujours la même erreur

Mais quand je change la configuration d'apache, c'est le répertoire racine par défaut (/ var / www / html) tout fonctionne.

Est-ce que je fais quelque chose de mal?

Ce sont les paramètres que je modifie:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Remarque: je redémarre apache chaque fois que je change la configuration et les autorisations d'apache.

aussi: j'ai aussi REMI et EPEL activés

Koeder
la source
SELinux est-il activé?
Bart De Vos
@TiZon je ne le crois pas. devrait-ce être?
koeder
Pouvez-vous nous donner le message exact? Cette "autorisation refusée" provient-elle du système de fichiers ou directement d'Apache (par exemple par une directive Order)? Et y a-t-il des messages dans le fichier error.log?
Raffael Luthiger
Et vérifiez si vous avez des fichiers .htaccess dans ces deux sous-répertoires.
Raffael Luthiger
1
Merci @TiZon! SELinux, a été activé. Une fois que je l'ai désactivé en modifiant le fichier / etc / selinux / config, mes applications Web ont pu se charger dans d'autres administrateurs.
koeder

Réponses:

11

Habituellement, cela vient de Selinux qui ne donne pas accès au dossier. faire

ls -alZ /var/www/

et si le dossier html n'a pas le contexte system_u: object_r: httpd_sys_content_t, corrigez-le avec chcon

chcon -v -R --type=httpd_sys_content_t /var/www/html

http://wiki.centos.org/HowTos/SELinux

Julien Vehent
la source
Merci @Julien Vehent! Je vous récompenserai la réponse parce que votre méthode me permet de modifier les autorisations SELinux sur un dossier spécifique plutôt que de désactiver SELinux tous ensemble. Merci beaucoup. Ça a marché! et m'a sauvé un mal de tête.
koeder