Динамический vhost выдает ошибку 403 denied на OSX Apache

Динамический vhost выдает ошибку 403 denied на OSX Apache

Я следовалэто руководствои я пытаюсь создать динамические vhosts на OSX, разрешив foo.devнаправлять в веб-папку /foo. Моя разница в том, что я использую ~/Sitesв качестве веб-папки вместо Mac HD, как в руководстве. Он использует dnsmasq, который, как я считаю, установлен и работает правильно.

Итак, в моей папке ~/Sites есть:

home
sites
|-foo
|-bar

Мой httpd-vhosts.conf выглядит так:

<Virtualhost *:80>
DocumentRoot "/Users/harryg/Sites/home"
ServerName home.dev
UseCanonicalName Off
ErrorLog "logs/home/error.log"
<Directory "/Users/harryg/Sites/home">
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Allow from all
</Directory>
</Virtualhost>

<Virtualhost *:80>
VirtualDocumentRoot "/Users/harryg/Sites/sites/%1"
<Directory "/Users/harryg/Sites/sites/%1">
    Options FollowSymLinks
    #Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Allow from all
</Directory>
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>

Первый vhost работает нормально, и переход к нему home.devприводит к файлу примера, index.phpкоторый находится в корне этого vhost.

Второй виртуальный хост просто выдает ошибку 403 Forbidden для anything.dev, независимо от того, существует ли папка для поддомена .dev.

Есть идеи?

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

Последние записи журнала

Журнал ошибок Apache:

[Wed Dec 18 00:45:37 2013] [error] [client 127.0.0.1] File does not exist: /Users/harryg/Sites/home/favicon.ico
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server configuration: /Users/harryg/Sites/sites/test/, referer: http://home.dev/
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server 

Сервер теперь работает (была проблема с каталогом журнала ошибок в файле конфигурации). Но все еще нет доступа к динамическим vhosts.

решение1

Каково содержание вашего второго сайта?

Возможны две причины:

  1. Если каталог не имеетиндексЕсли документ (index.php, index.html, default.html и т. д.) и список каталогов не разрешены, Apache отобразит страницу ошибки 403.

  2. Я заметил, что вы не включили ExecCGI в sites.dev. Не могли бы вы попробовать включить его?

Обновлено:Знак процента в пути ( /Users/harryg/Sites/sites/%1) предназначен для mod_vhost_alias, но не правил Apache <Directory>. Измените это:

<Directory "/Users/harryg/Sites/sites/%1">

К этому:

<Directory "/Users/harryg/Sites/sites">

Это работает?

решение2

Только что столкнулся с этой же проблемой, и оказалось, что это настройка по умолчанию в Apache. В httpd.conf есть следующее:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

удалите строку «Запретить всем» и перезапустите Apache.

решение3

Ошибка 403 сообщает об отказе в доступе. Вам необходимо проверить разрешения на каталог дерева вплоть до каталога сайта.

Убедитесь, что пользователь, запускающий Apache, имеет права на чтение и выполнение каталогов, а также на чтение файлов.

Связанный контент