Warum ist Mac OS X Lion Apache DocumentRoot / usr / htdocs?

15

Ich bin ratlos

Ich sehe nicht, wo unter /usr/htdocsMac OS X Lion DocumentRoot für Apache2 angegeben ist.

Dies ist der Standard-DocumentRoot bei einer neuen OSX Lion-Installation.

Kann mir jemand zeigen, wo dies angegeben ist?

Ich habe im gesamten /etc/apache2Verzeichnis nachgesehen und konnte diese Regel nicht finden.

Vinhboy
quelle
nichts in den /etc/apache2/available-sites/*configs?
Raggq
Das Standard-OSX-Setup verwendet nicht die Struktur für verfügbare Sites oder aktivierte Sites.
Vinhboy
1
Es ist nicht. In einer neuen Installation von OS X Lion wird /Library/WebServer/Documents, genau wie in den Hauptversionen vor Lion, die Schaltfläche " Computer-Websiteordner öffnen ..." in den Systemeinstellungen »Freigabe» Webfreigabe verwendet, auf die verwiesen wird . Haben Sie einen Paketmanager wie Homebrew, Fink oder MacPorts installiert? XAMPP oder eine ähnliche Apache-Lösung? Was ist die Ausgabe von which httpdund ps aux | grep httpdin Terminal?
Daniel Beck
Ich habe keinen dieser Paketmanager installiert. Aber danke, ich werde diesen Weg gehen. Ich sehe die /Library/WebServer/DocumentsDirektive in der httpd.conf Datei. Es wird jedoch offensichtlich an einer anderen Stelle überschrieben. Ich habe versucht, allen Verweisen auf eine andere .conf-Datei zu folgen, aber noch kein Glück.
vinhboy 18.11.11
Warum nicht grepfür /usr/htdocsauf dem Computer und sehen , wo es überschrieben wird ? - (/ cc @ dan, du hast keine Antwort darauf bekommen)
slhck 18.11.11

Antworten:

14

Wenn "Web Sharing" NICHT aktiviert ist, wird es /usr/htdocsals Root verwendet. Wenn Sie "Web Sharing" aktivieren, wird die Konfigurationsdatei unter übernommen /etc/apache2/httpd.conf. Das Verzeichnis wird in der Nähe des folgenden Abschnitts in der Datei angegeben.

<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"

Sie können auch Ihr "Sites" -Verzeichnis für den /Users/USERNAME/SitesZugriff mit verwenden localhost/~USERNAME.

timoto
quelle
Spot on. Beachten Sie auch die Zeile ServerRoot "/usr"- bei deaktivierter Webfreigabe und ohne Angabe eines alternativen DocumentRoot-Objekts scheint der Apache standardmäßig htdocsinnerhalb des definierten Server-Stammverzeichnisses zu suchen .
Rymo
Ist das wahr, dass einige <IfDefine WEBSERVICE> kommentiert werden sollten, da es ein WEBSERVICE ist?
Gucho Ca
0

Aktivieren Sie zuerst Ihre Webfreigabe. Gehen Sie zu den Systemeinstellungen -> Freigabe und aktivieren Sie dann die Webfreigabe. Ich habe einen Beitrag dazu geschrieben.

dimas.priyanto
quelle
Könnten Sie mehr Details hinzufügen? Ihr Beitrag enthält mehr Informationen als Sie hier angegeben haben.
Simon Sheehan
Also schrieb er einen Beitrag, las ihn und konfigurierte deine Webfreigabe in lion))) Ich tat dies auch, früher habe ich jetzt den Ordner "Sites" in meinem Home-Verzeichnis und alles funktioniert.
Holms
0

Dieses Q hat mir geholfen, ein identisches Problem auf SnowLeopard heute zu lösen. Achtung: in meinem Fall wurde das httpd.confin /private/etc/apache2 not in /etc/apache2 gelesen und darauf hingewiesen (was auch existiert) /Library/WebServer/Documents.

Ich hoffe das hilft (andere auch).

P Marecki
quelle
Der gesamte Ordner / etc ist eine Verknüpfung zu / private / etc, daher sind beide ein und dasselbe.
Fireandlight27
@ Fireandlight27 Ich glaube nicht, dass es auf SL war, da ich sonst nicht schreiben würde. Ich bin froh, dass sie in Ihrem Fall verknüpft sind. welche Betriebssystemversion?
P Marecki