J'ai configuré le partage Web dans les Préférences Système sur Mac OS X 10.6 et j'ai cliqué sur le lien qu'il m'y a donné. Malheureusement, Apache m'a donné cette erreur 403:
Interdit
Vous n'êtes pas autorisé à accéder à /~myusername/index.html sur ce serveur.
Le journal d'accès affiche: 10.0.1.2 - - [30/Jun/2010:16:25:15 -0700] "GET /~myusername/ HTTP/1.1" 403 210
Le journal des erreurs s'affiche: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Curieusement, l'accès à http: // localhost fonctionne très bien. C'est juste avec deux des dossiers utilisateur avec lesquels j'ai des problèmes, l'autre dossier utilisateur, qui est plus récent que la mise à niveau de mon système, fonctionne bien.
J'ai déjà eu ce travail sur ma machine dans Leopard, alors j'ai tout modifié en ~/Sites
755, ce qui n'a pas fait de bien. Aucune suggestion? Je suppose que j'ai fait quelque chose à ma machine qui a causé cela, car je ne peux pas imaginer qu'Apple gâche quelque chose comme ça.
J'ai créé PEAR avec ces instructions , mais je ne sais pas si cela pourrait en être la cause.
la source
Réponses:
Apple a un document de support pour ce problème . La résolution du problème implique la création d'un fichier
/etc/apache2/users/yourusername.conf
(votre nom d' utilisateur étant le nom abrégé du compte , par exempledanielbeck
- il s'agit généralement du nom de votre dossier de départ/Users
) avec le contenu suivant:Ensuite, exécutez
sudo chown root:wheel /etc/apache2/users/yourusername.conf
et redémarrez Apache.la source
sudo apachectl restart
dans votre terminal.Pour qu'Apache puisse voir le fichier, l'utilisateur sous lequel Apache s'exécute en tant que (probablement
www
ou_www
) doit avoir accès aux répertoires Sites de ces utilisateurs. Avoir accès en lecture / exécution au contenu de~/Sites
ne suffit pas, car il doit être autorisé à traverser/
le chemin vers~/Sites
. Assurez - vous donc/
,/Users
,/Users/myusername
et/Users/myusername/Sites
tous ont au moins laa+x
permission (Execute bits sur les répertoires permet cette classe d'utilisateurs de parcourir le répertoire, même si l' accès en lecture est pas autorisé).Si l'un de ces répertoires n'affiche pas le dernier
x
ensemble (celui des "autres"), utilisez quelque chose commechmod a+x ...
pour le définir pour ce répertoire.Si l'ACL pour l'un de ces répertoires indique que l'
www
accès à l' utilisateur a été spécifiquement refusé, utilisez les arguments appropriéschmod
pour corriger les ACL.la source
Pour référence, je viens de traiter de cela, et aucune des réponses ici n'a fonctionné dans mon cas spécifique. Je configurais des hôtes virtuels, mais plus important encore, j'avais besoin que mes fichiers htaccess fonctionnent réellement.
J'ai changé sur "AllowOverride None" en "AllowOverride All" dans mon fichier /etc/apache2/users/USERNAME.conf, et tous mes sites ont commencé à être interdits.
Je l'ai changé en arrière, puis je l'ai changé uniquement pour un site dans mon fichier httpd-vhosts.conf, et seul ce site était interdit.
Après avoir consulté les journaux et constaté que le problème venait de la réécriture d'URL et du manque de FollowSymLinks, je suis retourné au fichier USERNAME.conf. Je passe de "AllowOverride None" à "AllowOverride All" et j'ajoute "Options + FollowSymLinks" sur la ligne suivante.
Les choses ont commencé à fonctionner. Je venais d'utiliser xampp sur Windows et beaucoup de ces paramètres étaient déjà définis sur l'ensemble du serveur pour les nuls comme moi.
la source
Options +FollowSymLinks
fonctionnait comme un charme.J'ai eu le même problème: mon (ancien) compte n'était pas accessible, mais un autre compte d'utilisateur créé après la mise à niveau vers Lion fonctionnait très bien.
Après vous être assuré que votre /etc/apache2/users/USERNAME.conf ressemble à ceci:
faire une racine chown sudo: wheel /etc/apache2/users/USERNAME.conf
il semble que ce paramètre d'autorisation ne soit pas défini lors de la mise à niveau du système d'exploitation, et l'utilisateur Apache ne peut pas lire le fichier de configuration et génère une erreur.
Au moins, cela l'a résolu pour moi.
la source
sudo apachectl restart
après ça.mise à jour pour Lion en 10/2011 je devais aussi ajouter
UserDir activé donc mon /etc/apache2/extra/httpd-userdir.conf est comme ceci:
la source
Poursuite de la conversation à partir des commentaires de la question initiale - Consultez votre
/etc/apache2/httpd.conf
dossier. Sur ma machine, j'ai ceci:Je soupçonne que le vôtre est commenté. Je me souviens vaguement d'avoir changé cela à la main lors du passage de 10,5 à 10,6 et la valeur par défaut a changé.
C'est probablement évident, mais vous devrez utiliser
sudo
pour modifier le fichier car il appartiendra à root.la source
Mon cas est XAMPP + Mac OS X 10.7 + Répertoire dans le dossier Dropbox (référence croisée à une autre question dans Stack Overflow)
403 Access Forbidden est signalé par Apache, par conséquent, j'ai suivi le commentaire ci-dessus pour changer d'utilisateur dans le
/XAMPP/xamppfiles/etc/httpd.conf
, deUser nobody
àUser my_user_name
. Redémarrez Apache et cela fonctionne bien.la source
Vous n'avez probablement pas activé les index . Si vous ne le faites pas, vous devrez soit créer un fichier d'index (
index.html
ouindex.php
), soit spécifier le fichier explicitement, c'est-à-direhttp://localhost/~me/mypage.html
.la source
~myusername
je crois.http://localhost/
devrait pointer vers/Users/youruser/Sites/
.