J'essaie de configurer un serveur apache sur mon ordinateur portable Kubuntu 13.04. J'ai installé le paquet apache2 et sudo a2enmod userdir; sudo service apache2 restart
, mais quand je visite http://localhost/~user
, il dit quelque chose comme ceci:
Forbidden
You don't have permission to access /~user on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
Résultat de tail /var/log/apache2/access.log
127.0.0.1 - - [02/Aug/2013:16:22:01 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:16:22:02 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 499 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
Résultat de tail /var/log/apache2/error.log
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
public_html
répertoire pour l'utilisateur? L'utilisateur exécutant apache est-il autorisé à le lire?Réponses:
Les
public_html
répertoires doivent avoir leurs autorisations comme ceci pour que l'utilisateur qui exécute Apache puisse y accéder:ne fonctionne toujours pas?
Si vous regardez dans vos journaux d'erreurs Apache, vous pourriez voir une ligne comme celle-ci:
Cela vous indique qu'Apache n'a pas les autorisations pour naviguer vers le répertoire de votre utilisateur (~ kaiyin) dans cet exemple.
Comment régler ceci?
Vous devez vous assurer que les bits de lecture + exécution sont définis pour un groupe dont Apache est membre ou que les autres bits de lecture + exécution sont également définis dans le répertoire de l'utilisateur afin qu'Apache puisse accéder au
public_html
dossier ci-dessous.Exemple
Références
la source
/var/log/httpd/access.log
) et (/var/log/httpd/error.log
) pour voir s'il y a des messages supplémentaires.public_html
; il le fera aussi sur public_html si vous n'avez pas besoin de listes de fichiers, sinon Apache devra également être lu (donc 755/750 plutôt que 711/710).Assurez-vous que les paramètres sont corrects
/etc/apache2/mods-enabled/userdir.conf
. J'obtenais une autorisation refusée après avoir modifié mon public_html, puis j'ai décidé de vérifier leuserdir.conf
. J'ai remarqué qu'il y avait des paramètres pour les versions antérieures d'Apache, ainsi que pour les plus récentes. Je savais que j'exécutais la dernière version, j'ai donc activé les nouveaux paramètres et maintenant tout fonctionne bienla source
Vous pouvez également utiliser un
/etc/hosts
fichier pour éliminer le besoin d'une URL temporaire. S'il existe une référence pour l'URL complète dans le thème ou le plugin (si vous en avez), le site n'affichera pas le contenu au format approprié.la source