web-dev-qa-db-fra.com

Apache - Des autorisations sont manquantes sur un composant du chemin

Aucune des images de mon site Web n'est chargée, bien que les chemins soient corrects. Dans mes journaux Apache, j'ai plein de: 

(13)Permission denied: [client 87.231.108.18:57108] AH00035: access to 
my/file/path/some-photo.jpg denied because search permissions are missing 
on a component of the path

Dans le fichier httpd.conf

User Apache
Group Apache

Jusqu'au répertoire de mon site Web, les dossiers appartiennent à Apache:apache, avec chmod défini sur 774 jusqu'au bas 

SELinux booléen httpd_can_network_connect a été est On

J'utilise un fichier .htaccess pour rediriger mon nom de domaine vers le répertoire approprié. Je soupçonne que cela pourrait être la cause du problème mais ... ce n'est rien de plus qu'un sentiment viscéral. 

J'ai besoin d'aide, toute suggestion est la bienvenue. Merci beaucoup! 

EDIT Contenu du fichier .htaccess: 

RewriteEngine On
Options +FollowSymLinks

RewriteCond %{HTTP_Host} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{HTTP_Host} www\.domain\.com
RewriteRule (.*) /domain/$1 [L]
10
Alexandre Bourlier

Je l'ai enfin trouvé! Merci beaucoup à Justin Lurman d’avoir signalé le fichier .htaccess. Cela m'a fait comprendre que Wordpress n'avait plus le droit de modifier mon fichier .htaccess. C'était encore plus bizarre parce que j'étais à 100% sûr que les permissions étaient bonnes (même si trop permissives si vous me le demandez). 

J'ai donc examiné SElinux, sachant qu'il peut parfois me jouer des tours et que j'avais raison. L’émission de la commande suivante l’a résolu: 

chcon -R --type=httpd_sys_rw_content_t wp-content/

J'espère que ça aide quelqu'un d'autre :)

16
Alexandre Bourlier

Dans mon cas, le dossier contenant n’avait pas l’autorisation + x, le changer en 755 a fait l'affaire.

13
Radek

Ou tu peux courir

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Dans ces dossiers ...

3

setsebool -P httpd_enable_homedirs 1

chcon -R -t httpd_sys_content_t/home/user/public_html

0
Fabien Thetis

Ce qui a bien fonctionné pour moi, c’est que tous les répertoires des composants du chemin requis ont besoin d’exécuter des autorisations pour tous. 

donc, si le chemin du site Web est/home/utilisateur1/public_html/docroot

chmod +x /home/user1/
chmod +x /home/user1/public_html/
chmod +x /home/user1/public_html/docroot/
0
GiorgosK