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.


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.


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.


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).


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.