Назад | Перейти на главную страницу

Проблема с Apache и виртуальными хостами в OS X

Недавно я отформатировал и установил свой iMac. Я использую 10.6.5. До этого формата у меня был установленный по умолчанию веб-сервер Apache с несколькими виртуальными хостами, и все работало прекрасно. После форматирования я снова все настроил, и теперь Apache ведет себя забавно. Вот описание того, что у меня происходит.

Мой корневой каталог по умолчанию для веб-сервера Apache указывает на внешний жесткий диск. В моем httpd.conf вот что у меня есть:

DocumentRoot "/Storage/Sites"

Затем несколько строк ниже:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

А затем под этим:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

В конце этого файла я закомментировал файл user dir include conf:

Include /private/etc/apache2/extra/httpd-userdir.conf

И раскомментировал файл conf виртуальных хостов:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Двигаясь дальше, у меня есть следующая запись в моем файле vhosts:

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

У меня также есть запись хоста в моем файле / etc / hosts, которая указывает mysite.dev на 127.0.0.1 (я также пробовал использовать свой IP-адрес маршрутизатора, 192.168.1.2).

Проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на наличие файлов PHP в / Storage / Sites / mysite, сервер по-прежнему просматривает / Storage / Sites. Я знаю это, потому что в DocumentRoot содержится файл php с phpinfo () (тогда как файл index.php в mysite имеет другой код).

Я пробовал настроить другие виртуальные хосты, но они по-прежнему делают то же самое. Кроме того, «NameVirtualHost *: 80» находится в моем файле vhosts. Я видел решение в другом потоке здесь. Кажется, это не имеет значения.

Есть идеи по этому поводу? Сообщите мне, если этой информации недостаточно.

Включите только те параметры директивы, которые будут общими для всех VirtualHosts, в ваш основной файл httpd.conf. Сделайте все хосты, обслуживаемые Apache, виртуальными.

Удалите DocumentRoot и блоки из основного файла httpd.conf. Имейте их только в файле httpd-vhosts.conf.