Виртуальный хост Apache указывает на неверный корень документа

Я использую Linux Mint, и я пытаюсь настроить виртуальный хост с Apache.

Я добавил следующий файл в /etc/apache2/sites-available/ (он скопирован из файла по умолчанию в этом каталоге)

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName testsite.dev
        DocumentRoot /home/chris/Projects/web/testsite

        <Directory /home/chris/Projects/web/testsite>
            Allow from all
            AllowOverride All
            Order allow,deny
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    </VirtualHost>

Я также добавил запись в мой файл hosts (/etc/hosts), которая будет:

127.0.0.1    testsite.dev

Я также включил сайт и перезагрузил сервис apache:

a2ensite testsite 
service apache2 reload

Однако, когда я просматриваю http://testsite.dev/ он обслуживает страницы из / var / www / вместо /home/chris/Projects/web/testsite.

Что я делаю неправильно?

1 ответ

Решение

Несколько вещей, которые я бы проверил:

  • Убедитесь, что у вас есть "NameVirtualHost ***:80" в вашей конфигурации. Если "*:80" отличается, это может конфликтовать со значением в "VirtualHost" (в общем случае проблем меньше, если они одинаковые).
  • Убедитесь, что у вас не определен другой "VirtualHost", который может конфликтовать с этим (я предполагаю, что все находится в "sites-available", а также в любом другом файле конфигурации Apache).
  • Проверьте журнал ошибок, чтобы убедиться, что ничего "плохого" не происходит. Включение и проверка журнала доступа также могут быть полезны.
  • Дважды проверьте, что файлы / содержимое в двух каталогах - это то, что вы думаете. Если вы их как-то перепутали, это могло бы сработать, как и ожидалось.
  • Остановите и запустите службу Apache. В теории перезагрузка должна работать, но на всякий случай (это будет не первый раз, когда перезагрузка завершится неудачей, но остановка / начало работы).

Если вы пройдете через все это и все еще не сможете получить то, что вам нужно, я создам минимальный набор конфигураций Apache (переместите все существующие и создайте временные) и начните постепенно менять вещи, чтобы увидеть, где они находятся. идут не так.

Другие вопросы по тегам