Подтвердить что ты не робот

Как заставить виртуальный хост работать в OS X Lion?

Я пытаюсь настроить виртуальный хост на моей установке Mac OS X 10.7. Я использую VirtualHostX для управления файлами /etc/hosts и httpd-vhosts.conf. В настоящее время мой файл httpd-vhosts.conf выглядит так:

NameVirtualHost *:80

<Directory "/Users/yuval/Sites/mysite/">
Allow From All
AllowOverride All
</Directory>
<VirtualHost *:80>
    ServerName "mysite.dev"
    DocumentRoot "/Users/yuval/Sites/mysite"
</VirtualHost>

и мои файлы /etc/hosts имеют это в нем:

# VHX START
127.0.0.1 mysite.dev
fe80::1%lo0 mysite.dev
# VHX STOP

Я активировал веб-доступ в настройках системы, и я знаю, что apache запущен. Однако, когда я перехожу к 127.0.0.1 или к mysite.dev, я получаю следующее:

Запрещенный

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

Мои права на/Пользователи/yuval/Sites/mysite - 755. Попытка изменить их на 777 тоже не помогла. Обратите внимание, что это происходит с любой выбранной мной папкой - у меня нет файла .htaccess в /Users/yuval/Sites/mysite.

Обновить. Проверяя ошибку apache, это следующие журналы:

[Fri Dec 09 17:59:27 2011] [error] [client 127.0.0.1] (13)Permission denied:
    access to / denied
[Fri Dec 09 17:59:27 2011] [error] [client 127.0.0.1] (13)Permission denied:
    access to /favicon.ico denied

Кажется довольно очевидным, что код vhosts + hosts выполняет свою работу, фактически определяя, что адрес существует, но по какой-то причине это не работает. Любые идеи?

4b9b3361

Ответ 1

Убедитесь, что файл index.html находится в каталоге /Users/yuval/Sites/mysite/.

ИЛИ включить индексирование каталогов:

<Directory "/Users/yuval/Sites/mysite/">
  Options +Indexes
  Allow From All
  AllowOverride All
</Directory>

Вы также можете установить параметр DirectoryIndex для поиска файлов по умолчанию, отличных от index.html: http://httpd.apache.org/docs/current/mod/mod_dir.html

Edit

Увидите сообщение об ошибке - это не похоже на проблему с индексом каталога.

Попробуйте chmod 755 в каталоге /Users/yuval, как указано в этом ответе ServerFault: fooobar.com/questions/137864/...

Также проверьте наличие каких-либо файлов .htaccess в каталоге /Users/yuval/Sites/, поскольку Apache также проверит их.

Ответ 2

Единственное, что мне нужно было сделать, это переназначить мой собственный каталог vhost (и перезапустить apache.)

Я попытался указать на ~/Sites/vhosts вместо /Users/ [Username]/Sites/vhosts, где я храню все мои .conf файлы, поэтому произошла ошибка конфигурации. Я искал журналы apache и узнал из документов apache о httpd -S, в которых мне точно рассказали, где были проблемы с конфигурацией.

Много дезинформации в блогах в сети, поэтому я отправляю это здесь для apache noobs, таких как я.

httpd -S
# fix the issues
sudo apachectl restart