J'essaie de configurer un site Web à l'aide de Silex Bootstrap . Je l'ai mis dans mon dossier avec d'autres projets Web et modifié le paramètre DocumentRoot dans la configuration Apache.
<Directory /folder/to/silex_projects/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Mais je ne peux pas ouvrir la page d'index du framework, donne Apache:
[Lun 17 déc. 21:10:52 2012] [crit] [client 127.0.0.1] (13) Autorisation refusée: /folder/to/silex_project/web/.htaccess pcfg_openfile: impossible de vérifier le fichier htaccess, assurez-vous qu'il est lisible
J'ai chmodé tout le dossier du projet avec chmod a+r -R
. D'autres projets dans le même dossier fonctionnent correctement avec le fichier .htaccess
.
Le fichier .htaccess
existe.
chmod 755 -R /silex_project/
a résolu mon problème. Je ne sais toujours pas pourquoi Apache a besoin d'autorisations en écriture pour fonctionner.
Ceci est probablement dû au fait que l'utilisateur exécutant Apache ne dispose pas de l'autorisation eXecute sur le répertoire. Il est également nécessaire de lire les fichiers qu’il contient. chmod a+rx /folder/to/silex_projects
aurait probablement résolu votre erreur.
Votre chmod 755 -R
ne résout pas le problème en donnant également un accès en écriture, mais parce que cela arrive simplement d'ajouter également l'eXecute.
En plus des autres réponses postées, SELinux (s’il est activé) peut également vous mordre dans cette situation si vous modifiez quelque chose où les fichiers peuvent être accessibles à partir des emplacements "par défaut" de la distribution.
Le correctif consiste à ajouter une stratégie appropriée à selinux pour le répertoire/les fichiers, ou à la désactiver si vous ne souhaitez pas que la sécurité de selinux soit exécutée.
j'ai aussi cette erreur et trouve cette bonne référence (13) Autorisation refusée: /home/username/.htaccess pcfg_openfile: impossible de vérifier le fichier htaccess, assurez-vous qu'il soit lisible
Lors de l'affichage de votre domaine, si vous voyez l'erreur "Interdit", puis vérifiez vos journaux Apache: /Var/log/httpd/error_log /Var/log/httpd/domain/domain.com.error.log
et voir l'erreur:
[crit] [client 1.2.3.4] (13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
cela impliquerait qu'Apache n'a pas d'accès en lecture sur votre répertoire/home/nom d'utilisateur.
La cause peut être liée à l'autorisation, à la configuration ou à la propriété.
Apache s'exécute en tant qu'utilisateur "Apache", le répertoire doit donc être + x pour cet utilisateur ou ce groupe.
1) À partir de DirectAdmin 1.38.0, nous implémentons la fonctionnalité secure_acccess_group, qui définira le répertoire/home/user (pour les utilisateurs) sur chmod 750 et le nom d'utilisateur chown: access. L'utilisateur Apache sera dans le groupe "accès". Pour confirmer cela, tapez ce qui suit:
[root@server]# grep ^access: /etc/group
access:x:506:Apache,nobody,mail,Majordomo,daemon
et vous devriez obtenir quelque chose de similaire à la sortie indiquée.
Si vous obtenez une liste vide d'utilisateurs, le groupe d'accès existe, mais est vide. Pour remplir correctement le groupe (sur les systèmes RedHat/CentOS/Debian), tapez:
usermod -G access Apache
usermod -G access nobody
usermod -G access mail
usermod -G access Majordomo
usermod -G access daemon
sur les systèmes FreeBSD, la commande pour créer le groupe est la suivante:
pw groupadd -n access -M Apache,nobody,mail,Majordomo,daemon
mais cela implique que le groupe n'existe pas encore. Ce cas n’a pas été vu sur FreeBSD, il ne sera donc probablement pas nécessaire.