Pourquoi Mac OS X Lion Apache DocumentRoot / usr / htdocs?

15

Je suis déconcerté.

Je ne vois pas où /usr/htdocsest spécifié le DocumentRoot pour apache2 sur Mac OS X Lion.

Il s'agit du DocumentRoot par défaut sur une nouvelle installation OSX Lion.

Quelqu'un peut-il m'indiquer où cela est spécifié?

J'ai regardé dans tout le /etc/apache2répertoire et je n'ai pas pu trouver cette règle.

vinhboy
la source
rien dans les /etc/apache2/available-sites/*configs?
ragnq
La configuration OSX par défaut n'utilise pas la structure des sites disponibles ou des sites activés.
vinhboy
1
Ce n'est pas. Une nouvelle installation d'OS X Lion utilise /Library/WebServer/Documents, tout comme les principales versions avant Lion, qui est également l'endroit où pointe le bouton Ouvrir le dossier du site Web de l'ordinateur… dans les Préférences Système »Partage» Partage Web . Avez-vous installé un gestionnaire de packages comme Homebrew, Fink ou MacPorts; XAMPP ou une solution Apache similaire? Quelle est la sortie de which httpdet ps aux | grep httpddans le terminal?
Daniel Beck
Je n'ai installé aucun de ces gestionnaires de packages. Mais merci, je vais regarder dans cette direction. Je vois la /Library/WebServer/Documentsdirective dans le fichier httpd.conf. Cependant, il est évidemment en train d'être écrasé ailleurs. J'ai essayé de suivre toutes les références à d'autres fichiers .conf, mais pas de chance pour le moment.
vinhboy
Pourquoi ne pas greppour /usr/htdocsvotre machine et voir où il est écrasé? - (/ cc @dan, vous n'avez pas reçu de réponse pour cela)
slhck

Réponses:

14

Lorsque "Partage Web" n'est PAS activé, il prend /usr/htdocsla racine. Lorsque vous activez le «Partage Web», le fichier de configuration prend à /etc/apache2/httpd.conf. Le répertoire sera celui spécifié près de la section suivante du fichier.

<IfDefine WEBSHARING_ON>
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"

Vous utilisez également votre répertoire "Sites" pour /Users/USERNAME/Sitesaccéder à localhost/~USERNAME.

timoto
la source
Repérez. Notez également la ligne ServerRoot "/usr"- avec le partage Web désactivé et aucun DocumentRoot alternatif spécifié, il semble que la valeur par défaut d'Apache soit de rechercher htdocsdans la racine du serveur définie.
rymo
Est-ce vrai que certains <IfDefine WEBSERVICE> devraient être commentés puisque c'est un WEBSERVICE?
Gucho Ca
0

Activez d'abord votre partage Web, accédez aux préférences système -> Partage, puis activez le partage Web. J'ai écrit un post dessus.

dimas.priyanto
la source
Pourriez-vous ajouter plus de détails? Votre message contient plus d'informations que ce que vous avez dit ici.
Simon Sheehan
alors il a écrit un article, allez le lire et configurez votre partage web dans lion))) Je l'ai fait aussi, plus tôt maintenant, j'ai le dossier "Sites" dans mon répertoire personnel et tout fonctionne.
holms
0

Ce Q m'a aidé à résoudre un problème identique sur SnowLeopard aujourd'hui. Attention: c'est le httpd.confin /private/etc/apache2 not in /etc/apache2 (qui existe aussi) qui a été lu et signalé /Library/WebServer/Documentsdans mon cas.

J'espère que cela aide (d'autres aussi).

P Marecki
la source
Le dossier / etc entier est un lien vers / private / etc donc les deux sont une seule et même chose.
Fireandlight27
@ Fireandlight27 Je ne pense pas que c'était sur SL, comme je l'écrirais autrement. Je suis content qu'ils soient liés dans votre cas; quelle version d'OS?
P Marecki