Autorisation refusée: /home/.htaccess pcfg_openfile: impossible de vérifier le fichier htaccess


13

Ce domaine fonctionnait ce matin, maintenant j'obtiens une erreur 403 et le message ci-dessus dans mon journal d'erreurs. Je n'utilise pas de fichiers .htaccess mais j'ai fait une copie sur le serveur donc j'ai peut-être foiré les choses mais pas de changements dans ce domaine (sauf par accident!). Quelle est cette chose pcfg_openfile de toute façon?

J'ai fait beaucoup de recherches sur Google, mais aucune des solutions ne semblait correspondre à ces circonstances. Le serveur est Ubuntu Hardy Heron.

Réponses:


19

vous avez probablement modifié les autorisations sur le répertoire (ou l'un de ses parents) dans lequel le serveur Web recherche .htaccess, afin que le serveur Web ne puisse plus vérifier s'il existe un fichier .htaccess.

corrigez d'abord les autorisations sur le répertoire (doit être rx par le processus du serveur Web, donc 755 ou 775, selon que vous souhaitez que le répertoire soit accessible en écriture de groupe ou non). Notez que vous devez vous assurer que les autorisations de chaque répertoire parent de sauvegarder à la racine du système de fichiers (c'est-à-dire /) sont transmises par le serveur Web.

puis, si vous n'utilisez pas réellement les fichiers .htaccess et que vous n'avez pas l'intention de les utiliser à l'avenir (c'est-à-dire que vous avez l'intention de mettre toute votre configuration dans httpd.conf / apache.conf), désactivez les fichiers htaccess dans la configuration d'apache.

il existe une petite pénalité de performances pour vérifier l'existence, la lecture et l'analyse des fichiers .htaccess dans le répertoire actuel et dans chaque répertoire parent jusqu'à la racine du document. c'est très petit mais ça s'additionne quand il y a beaucoup de demandes.


Repérez. J'avais réussi à modifier les autorisations sur le répertoire / home et cela avait tout gâché. Un immense merci!
user19196

2

S'il n'est pas évident que .htaccess ne peut pas être lu par le serveur (0755 ou .htacess et que le reste de l'arborescence est dans le groupe www-data), recherchez une racine de répertoire plus élevée uniquement onwer: group that does *** * pas **** avoir accès à l'exécution mondiale.

Pour qu'Apache trouve un fichier, il doit rechercher dans l'arborescence. Il ne peut pas faire cela si un répertoire qui est root: root n'a pas d'accès d'exécution global.

J'ai trébuché dessus plusieurs fois .... :-)


"Il ne peut pas faire cela si un répertoire qui est root: root n'a pas d'accès global pour l'exécution." Ce n'est pas toujours vrai. Si vous exécutez suPHP, alors PHP s'exécute en tant que propriétaire du fichier. Théoriquement, vous devriez pouvoir tester l'accès d'Apache en basculant vers l'utilisateur propriétaire du fichier et voir si vous pouvez y naviguer.
Buttle Butkus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.