Как заставить виртуальный хост работать в OS X Lion? - PullRequest
12 голосов
/ 10 декабря 2011

Я пытаюсь настроить виртуальный хост на моем 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, я получаю следующее:

Запрещено

У вас нет прав доступа / на этом сервере.

Мои разрешения для / Users / 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 делает свою работу, фактически определяя, что адрес существует, но по какой-то причине это не работает. Есть идеи?

Ответы [ 2 ]

11 голосов
/ 10 декабря 2011

Убедитесь, что файл 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

Редактировать

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

Попробуйте chmod 755 в каталоге /Users/yuval, как указано в этом ответе ServerFault: https://stackoverflow.com/a/1241319/212700

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

6 голосов
/ 05 октября 2012

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

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

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

httpd -S
# fix the issues
sudo apachectl restart
...