Как изменить Document Root для Apache2 в Mac OS X

13

Расположение по умолчанию корня документа в соответствии httpd.conf есть /Library/WebServer/Documents. Я хочу, чтобы это место было /webcontent. Для этого я создал папку webcontent в корневом каталоге (/). Затем в httpd.conf:

  • Изменена корневая строка документа на DocumentRoot /webcontent
  • Изменен тег Directory на <Directory "/webcontent">;

После перезапуска Apache я получаю следующую страницу:

запрещено

У вас нет разрешения на доступ к / на этом сервере.

Может ли кто-нибудь сказать мне, нужно ли мне изменить какие-либо разрешения в другом месте, чтобы изменить корень документа?

Тинтин
источник
Есть ли у вас index.htmlхранится в /webcontent/?
граф
Нет, но у меня есть test.html, помещенный в папку webcontent. Когда я получаю к нему доступ, я получаю эту запрещенную ошибку. Обязательно ли добавлять index.html?
tintin

Ответы:

10

У httpd.confфайла, поставляемого с OS X, есть запрет по умолчанию, который блокирует каждый каталог от каждого клиента. Затем он разрешает доступ к DocumentRootкаталогу - это будет по умолчанию /Library/WebServer/Documents. Пролистайте немного в этом файле, и вы увидите:

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

    # [...]
    AllowOverride None

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

</Directory>

Измените "/Library/WebServer/Documents"бит на "/webcontent"и все хорошо.

Брэд Акерман
источник
0

Чтобы продолжить ответ @Bred Ackerman, если вы используете apache vhost, вам нужно добавить: 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>
Джон Магнолия
источник