So ändern Sie Document Root für Apache2 unter Mac OS X

13

Der Standardspeicherort von Document Root gemäß httpd.conf ist /Library/WebServer/Documents. Ich möchte, dass dieser Ort ist /webcontent. Zu diesem Zweck habe ich im Stammverzeichnis (/) einen Webcontent-Ordner erstellt. Dann in der httpd.conf:

  • Die Document-Stammzeile wurde in DocumentRoot geändert /webcontent
  • Das Directory-Tag wurde in geändert <Directory "/webcontent">.

Nach dem Neustart des Apache erhalte ich die folgende Seite:

verboten

Sie haben keine Berechtigung, auf diesen Server zuzugreifen.

Kann mir jemand sagen, ob ich Berechtigungen an einer anderen Stelle ändern muss, um das Dokumentstammverzeichnis zu ändern?

Tim und Struppi
quelle
Hast du eine in index.htmlgespeichert /webcontent/?
Earl
Nein, aber ich habe eine test.html im Webcontent-Ordner abgelegt. Wenn ich darauf zugreife, erhalte ich diesen verbotenen Fehler. Ist es obligatorisch, index.html hinzuzufügen?
Tim und Struppi

Antworten:

10

Die httpd.confmit OS X gelieferte Datei hat eine Standardverweigerung, die jedes Verzeichnis von jedem Client aus sperrt. Es ermöglicht dann den Zugriff auf das DocumentRootVerzeichnis - das wäre die Standardeinstellung von /Library/WebServer/Documents. Blättern Sie in dieser Datei nach unten und Sie werden sehen:

<Directory "/Library/WebServer/Documents">
    # [...]
    Options Indexes FollowSymLinks MultiViews

    # [...]
    AllowOverride None

    # [...]
    Order allow,deny
    Allow from all

</Directory>

Ändern Sie das "/Library/WebServer/Documents"Bit auf "/webcontent"und Sie sind gut.

Brad Ackerman
quelle
0

Um an die Antwort von @Bred Ackerman anzuknüpfen, müssen Sie Folgendes hinzufügen: private / etc / apache2 / extra / httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/Users/fred/Sites"
    ServerName 127.0.0.1
    ServerAlias localhost
    ErrorLog "/private/var/log/apache2/localhost-error_log"
    CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost>
John Magnolia
quelle