403 Запрещенных Ошибки при попытке просмотреть localhost на Apache

Я думаю, что мой Apache должен быть все завинчен. Я не знаю, работало ли это когда-нибудь. Я просто обновил до Snow Leopard, и первый шаг на этом учебном руководстве должен запустить апача и проверить, что это работает путем открытия http://localhost. Это запускается прекрасный, но когда я перехожу к localhost, я получаю 403 запрещенных ошибки.

Я не знаю, где начать выяснять, как зафиксировать его, поэтому интересно, добилась ли новая установка Apache цели.

Что Вы думаете?

Обновление: Я нашел некоторые журналы ошибок в /private/var/log/apache2/. Найденный этим в одном из журналов. Не уверенный, что это означает:

[Tue Nov 10 17:53:08 2009] [notice] caught SIGTERM, shutting down
[Tue Nov 10 21:49:17 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
httpd: Could not reliably determine the server's fully qualified domain name, using Andrews-Mac-Pro.local for ServerName
mod_bonjour: Skipping user 'andrew' - cannot read index file '/Users/andrew/Sites/index.html'.
[Tue Nov 10 21:49:19 2009] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 10 21:49:19 2009] [notice] Digest: done
[Tue Nov 10 21:49:19 2009] [notice] Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8k DAV/2 PHP/5.3.0 configured -- resuming normal operations

Обновление: Я также нашел что-то в dummy-host.example.com-error_log файл. Я не установил эти вещи фиктивного хоста между прочим. Действительно ли это - конфигурация по умолчанию?

[Tue Nov 10 21:59:57 2009] [error] [client ::1] client denied by server configuration: /usr/docs

Обновление: Woohoo! Я нашел файл, который имел виртуальные определения хоста. Это было в /etc/apache2/extra/httpd-vhosts.conf. Это имело те две фиктивных виртуальных настройки хоста там. Я добавил a localhost виртуальный хост. Не уверенный, если это необходимо, но так как это не работало прежде, решенное, чтобы сделать это так или иначе. После удаления старых виртуальных хостов, добавления моего нового localhost виртуального хоста и перезапуска апача, это, кажется, работает. Таким образом, я предполагаю каждый раз, когда я хочу добавить виртуальный хост, я только должен добавить их к этому файлу? Или есть ли файл hosts где-нибудь, как существует на Linux?

Обновление: Да, существует /etc/hosts файл, который должен быть изменен на. Добавьте виртуальное имя хоста к тому файлу.

4
задан 11.11.2009, 18:34

2 ответа

Если Вы получаете 403 ошибки, это, вероятно, означает, что каталог не существует, или полномочия на том каталоге не позволят Вам видеть его.

Моя проблема состояла в том, что виртуальные настройки хоста по умолчанию указывали на каталог, который не существовал.

Таким образом, вот то, что необходимо сделать: (принятие Вы находитесь на Snow Leopard),

  1. Найдите и откройте свой виртуальный конфигурационный файл хостов.

    pico /etc/apache2/extra/httpd-vhosts.conf
    
  2. Проверьте, что Ваши виртуальные определения хоста там, иначе создают их

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/Users/yourusername/Sites/mysite"
    ServerName mysite.local
    ErrorLog "/private/var/log/apache2/mysite-error_log"
    CustomLog "/private/var/log/apache2/mysite-access_log" common
    </VirtualHost>
    
  3. Открыться /etc/hosts файл и добавляет Ваше виртуальное имя хоста. Это - то, что находится в моем:

    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    127.0.0.1          localhost
    255.255.255.255    broadcasthost
    ::1                localhost 
    fe80::1%lo0        localhost
    
    # VIRTUAL HOST START
    127.0.0.1          localhost
    127.0.0.1          mysite.local
    # VIRTUAL HOST STOP
    
  4. Теперь перезапустите Apache, и необходимо быть хорошими для движения!

    sudo apachectl restart
    
2
ответ дан 07.12.2019, 21:30

Также это маркировано как предупреждение, это - действительно критическая строка в Вашем журнале ошибок:

Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist

Apache ищет каталог, который будет содержать файлы, которые будут решены, когда Вы будете говорить с ним. По-видимому, этот каталог не существует, и таким образом Apache не может решить Вас что-либо. Создайте каталог и разместите некоторых index.html зарегистрируйте там или отредактируйте свой файл конфигурации для указания на Apache на другой каталог.

0
ответ дан 07.12.2019, 21:30

Теги

Похожие вопросы