Aujourd'hui, j'ai migré mes images d'un serveur à un autre et j'ai rencontré un étrange problème d'autorisation
[Mon Mar 25 08:42:23.676315 2013] [core:crit] [pid 15182] (13)Permission denied: [client 24.14.2.22:48113] AH00529: /files/domain.com/public_html/images/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/files/domain.com/public_html/images/' is executable, referer: http://domain.com.com/file.php
ce que j'ai essayé:
chmod -R 777 root_dir
restorecon -r
disable selinux
Chown -R root:root root_dir
Aujourd'hui, j'ai fait face à ce problème. J'ai transféré public_html de l'ancien lecteur vers le nouveau et je le montre comme ceci:
chown -R owner:owner public_html
Ceci est correct pour les sous-répertoires et fichiers dans public_html, mais l'utilisateur de public_html ne doit être personne pour qu'Apache puisse vérifier son contenu, donc cela a résolu mon problème:
chown owner:nobody public_html
Remarque: propriétaire est l'utilisateur (par exemple web1)
J'ai eu le même problème. Pour moi, c'est un problème de SeLinux (CentOS 7).
Ça marche pour moi:
$ setsebool -P httpd_enable_homedirs true
$ chcon -R -t httpd_sys_content_t /var/www/html/
Notez que vous devez modifier ce qui précède /var/www/html/
dans un répertoire approprié.
J'utilisais Plesk onyx et j'ai reçu le même message d'erreur, je viens de changer l'autorisation de dossier en 775 et cela a fonctionné pour moi.
TL; DR:
Sudo chmod a+rx /var{,/services{,/web{,/web-folder}}};
find /var/services/web/web-folder -type d -exec Sudo chmod a+rx {} +;
Vous devez vous assurer que le répertoire et tous ses répertoires parents sont lisibles et exécutables (l'exécutabilité est requise pour ouvrir un répertoire) par le serveur Web. Vous pouvez le faire en faisant de l'utilisateur du serveur Web le propriétaire et en définissant les autorisations utilisateur (EG: chown Apache <dir>; chmod u+rx <dir>;
), ou en faisant du groupe le groupe de serveurs Web un groupe qui inclut l'utilisateur du serveur Web et en définissant les autorisations de groupe sur (EG: chgrp Apache <dir>; chmod g+rx <dir>;
), ou en définissant les perms du monde sur (EG: chmod o+rx <dir>;
).
ouvrez votre fichier httpd.conf et changez Refuser de tous en Autoriser de tous sur le fichier .htaccess
<FileMatch "^\.ht">
Order allow,dey
Allow from all
</FileMatch>
Quand j'ai vérifié httpd/user-error_log
, ça a donné
[Fri Jan 09 18:58:08 2015] [crit] [client 192.168.1.xxx] (13)Permission
denied: /var/services/web/web-folder/.htaccess pcfg_openfile: unable to check
htaccess file, ensure it is readable
chmod 755 ne résout pas le problème. La commande ci-dessous est ce qui fonctionne pour moi. J'utilise http car il s'agit de l'utilisateur et du groupe Apache utilisés dans Synology DSM 5.1-5021
cd /var/services/web
chown http:http web-folder
Apache httpd.conf @ /etc/httpd/conf/httpd.conf
plus de détails sur la nouvelle modification limitations d'Apache/Webserver dans 5.