Sur ma machine Mac OS 10.5, je voudrais mettre en place un sous - dossier ~/Documents
comme ~/Documents/foo/html
être http: // localhost / foo .
La première chose que j'ai pensé à faire est d'utiliser Alias comme suit:
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Cela m'a fait interdire 403. Dans le error_log, j'ai obtenu:
[error] [client ::1] (13)Permission denied: access to /foo denied
Le sous-dossier en question dispose d'un accès chmod 755. J'ai essayé de spécifier des likes comme http: //localhost/foo/test.php , mais cela n'a pas fonctionné non plus. Ensuite, j'ai essayé la route du lien symbolique.
Entré dans /Library/WebServer/Documents
et fait un lien symbolique vers ~/Documents/foo/html
. La racine du document a
Options Indexes FollowSymLinks MultiViews
Cela m'a toujours fait interdire 403:
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
De quoi d'autre ai-je besoin pour configurer cela?
Solution :
$ chmod 755 ~/Documents
En général, le dossier à partager et l'ensemble de son dossier ancêtre doivent être visibles par l' www
utilisateur du service.
la source
Réponses:
Je parie que certains répertoires au-dessus de celui auquel vous souhaitez accéder n'ont pas les autorisations pour autoriser Apache à le parcourir. Devenez l'utilisateur sous lequel Apache est exécuté (
sudo -i -u apache
ou quoi que ce soit), puis essayez de le changer dans le répertoire d'intérêt etls
ainsi de suite. Si vous ne pouvez pas (comme prévu), essayez d'entrer dans les répertoires au-dessus, un par un, jusqu'à ce que l'on vous laisse entrer. Le sous-répertoire de celui-ci est celui qui doit avoir étéo+x
défini. Faire mousser, rincer, répéter au besoin.la source
sudo -i -u _www
sous OS X (puisque l'utilisateur Apache est _www by dans la configuration par défaut d'apache sous OS X), alors je le faiswhoami
, j'obtiens toujours mon nom d'utilisateur, pas _wwwsudo - www-data
(pour Ubuntu).Utilisation
+FollowSymlinks
la source
Vérifiez que le coffre-fort de fichiers n'est pas activé. J'ai eu le même problème. J'ai essayé tout le reste que j'ai pu trouver. Rien n'a fonctionné. Mais après une heure à essayer de comprendre cela, je me suis rappelé que j'avais activé le coffre-fort.
Le désactiver a résolu le problème.
la source
Vérifiez la propriété du lien symbolique. Puisque vous êtes sous Mac OS X, les propriétaires de liens symboliques peuvent être modifiés. À
/Library/WebServer/Documents
fairels -l
Si votre lien symbolique
~/Documents/foo/html
est appeléfoo
et dispose d'autorisations telles queEnsuite, par défaut sur OS X Apache s'exécute en tant qu'utilisateur _www et groupe _www, donc dans le cas mentionné ci-dessus, il ne pourra pas traverser le lien symbolique vers
~/Documents/foo/html
Courir
man 8 chown
sur votre terminal système, ou de regarder en ligne homme chownVous verrez qu'en utilisant le
-h
option changera la propriété du lien symbolique lui-même, plutôt que le fichier vers il pointe (c'est sa source). Ensuite, vous pouvez faire quelque chose commeCela changera le lien sim en
et le groupe Apache _www pourra traverser le lien.
la source
Vérifiez votre répertoire / Users (ls -l / Users) pour voir les droits de votre utilisateur (quelqu'un).
Le répertoire "Sites" est-il également correctement disponible sur localhost / ~ quelqu'un?
la source