10
votes

Apache - Les autorisations sont manquantes sur un composant du chemin

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

dans httpd.conf fichier: xxx

tout Le chemin du répertoire de mon site Web, les dossiers appartiennent à Apache: Apache , avec chmod défini sur 774 tout en bas.

selinux booléen httpd_can_network_connect est d'être sur .

J'utilise un fichier .htaccess pour rediriger mon nom de domaine dans le répertoire approprié. Je soupçonne que cela pourrait être causé par la question mais ... ce n'est rien de plus qu'un sentiment d'intestin.

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

edit Contenu du fichier .htaccess: xxx


9 commentaires

Dans ce cas, pourriez-vous montrer votre code htaccess?


Juste! Merci pour la proposition d'aide


Vos images sont dans Domain Dossier?


C'est un site wordpress. Les images sont dans Domaine / WP-Content / Uploads


C'est bizarre, votre code htack ne ressemble pas à un wordpress un. Quoi qu'il en soit, je suppose que vous accédez à vos images avec www.domain.com/wp-content/uploads/image.jpg ?


Ce fichier .htaccess n'est pas celui de WordPress, mais celui du dossier / var / www / html pour rediriger le nom de domaine sur les dossiers sur le serveur. Pour répondre à votre question: Oui, c'est la façon dont les images sont appelées dans le site Web.


Avez-vous ajouté des règles ou autre chose dans WordPress HTACCESS?


En voilà un bon. Laisse moi vérifier


Vous me mettez sur la bonne voie monsieur. Merci beaucoup. Vous avez terminé une longue errance. Je vais répondre à ma propre question fournissant les détails de mon correctif


7 Réponses :


21
votes

Je l'ai enfin trouvé! Merci à une tonne Justin Lurman de faire de la manifestation du fichier .htaccess. Cela m'a fait voir que WordPress n'avait plus le droit de modifier plus mon fichier .htaccess. C'était encore plus étrange parce que j'avais 100% sûr que des autorisations étaient bonnes (même trop permissives si vous me demandez).

Alors j'ai regardé à Selinux, comme je le sais, cela peut jouer des tours sur moi parfois et j'avais raison. Délivrance de la commande suivante résolvée: xxx

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


2 commentaires

Merci, ça aide sur Centos 7


Cela frappa mes fesses pendant quelques heures. Merci!



13
votes

Dans mon cas, le dossier contenant n'avait pas la permission + x, le modifiant à 755 l'astuce.


0 commentaires

3
votes

ou vous pouvez exécuter xxx

dans ces dossiers ...


0 commentaires

3
votes
setsebool -P httpd_enable_homedirs 1

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

1 commentaires

J'avais l'erreur exacte dans l'OP, malgré les autorisations de recherche, CHMOD et SELINUX CHCON, définissez correctement tous les composants du chemin. Les heures passées, trouvant constamment les mêmes réponses à définir des autorisations sur les composants du chemin à l'aide de Chmod et de Chcon. Sans explication sur cette réponse, j'aurais probablement saupé de ne pas aborder le problème des composants de chemin dans le message d'erreur, si je n'avais pas été aussi désespéré pour quelque chose de différent. Malgré le message d'erreur pointant sur ces composants de chemin, il s'est avéré que le réglage de l'option SELINUX HTTPD_ENABLE_HOMEDIRS résolue. Merci!



2
votes

Qu'est-ce qui a fonctionné pour moi, c'est que tous les répertoires de composants dans le chemin nécessaire aux autorisations d'exécution pour tous

Donc, si le chemin du site Web est / home / user1 / Public_html / Docroot P>

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


0 commentaires

1
votes

sur MacOS, il pourrait être causé par un problème d'autorisation de groupe d'utilisateurs.

aller à httpd.conf fichier (situé à / usr / local / etc / httpd si Apache est installé par homebrew). Trouver et modifier la valeur devant utilisateur sur votre nom d'utilisateur de votre ordinateur (que vous vous connectez avec). Redémarrez Apache.

Ceci doit également être fait à PHP-FMP si vous utilisez cela avec Apache. Trouver php-fpm.conf fichier (généralement situé à /usr/local/etc/php/7.x / et trouvez les définitions de la piscine:

Déterminer Inclure = / USR / local / etc / php / 7.x / php-fpm.d / *. Conf Si commenté et enregistrez le fichier. Ouvrez maintenant le fichier récemment décontracté et trouvez user = et modifiez la valeur de l'utilisateur vers votre nom d'utilisateur de votre ordinateur. Maintenant, redémarrez le service PHP.


0 commentaires

0
votes

Une seule commande: xxx

aide pour moi.


1 commentaires

Déjà MétéoDed . Investissez un peu de temps sur le site et vous gagnerez suffisamment privilèges pour upvote les réponses que vous aimez, qui est la mode de dépassement de la pile de dire merci et marquez une réponse utile .