Я думаю, что мой 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
файл, который должен быть изменен на. Добавьте виртуальное имя хоста к тому файлу.
Если Вы получаете 403 ошибки, это, вероятно, означает, что каталог не существует, или полномочия на том каталоге не позволят Вам видеть его.
Моя проблема состояла в том, что виртуальные настройки хоста по умолчанию указывали на каталог, который не существовал.
Таким образом, вот то, что необходимо сделать: (принятие Вы находитесь на Snow Leopard),
Найдите и откройте свой виртуальный конфигурационный файл хостов.
pico /etc/apache2/extra/httpd-vhosts.conf
Проверьте, что Ваши виртуальные определения хоста там, иначе создают их
<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>
Открыться /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
Теперь перезапустите Apache, и необходимо быть хорошими для движения!
sudo apachectl restart
Также это маркировано как предупреждение, это - действительно критическая строка в Вашем журнале ошибок:
Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
Apache ищет каталог, который будет содержать файлы, которые будут решены, когда Вы будете говорить с ним. По-видимому, этот каталог не существует, и таким образом Apache не может решить Вас что-либо. Создайте каталог и разместите некоторых index.html
зарегистрируйте там или отредактируйте свой файл конфигурации для указания на Apache на другой каталог.