Виртуальный хост "Запрещено. У вас нет прав доступа к этому серверу"

До того, как я создал виртуальный хост, я мог видеть " http://localhost/", но когда я создал виртуальный хост, я не мог видеть " http://localhost/" и мой виртуальный хост " http://test/"

Вот мой конфигурационный файл virtualhost:

<VirtualHost test:80>

        ServerAdmin javad@fish.com
        ServerName  test
        ServerAlias test

  DocumentRoot "/home/javad/Public/test/public"     
<Directory  "/home/javad/Public/test/public/" >
 Options Indexes FollowSymLinks
 MultiViews ExecCGI     
 DirectoryIndex index.php   
 AllowOverride all 
 Order    allow,deny 
 allow from all
</Directory>

  </VirtualHost>

поэтому я провел тест a2ensite

и добавил

127.0.0.1 проверить файл / etc / hosts и перезапустить apapche2 нормально

Но после этого я не могу получить доступ к http://test/ или даже http://localhost/ я получаю

Forbidden You don't have permission to access / on this server.

Когда я удаляю настройки виртуального хоста, я могу получить доступ к http://localhost/

4 ответа

Как только вы активируете виртуальный хост, вам нужно перенастроить localhost как виртуальный хост. Вы можете просто скопировать и вставить httpd.conf параметры.

Это слишком долго для комментария, поэтому я вернусь к ответу. Запустите этот скрипт и предоставьте нам вывод:

#!/bin/bash -x -e

cd /
ls -lhd .
cd home
ls -lhd .
cd javad
ls -lhd .
cd Public
ls -lhd .
cd test
ls -lhd .
cd public
ls -lhd .
ls -lh

Вероятно, нет никакого индексного файла в каталоге и список каталогов отключен? - вы не можете получить доступ к файлам напрямую?

в противном случае проверьте права на чтение для пользователя веб-сервера.

Мне кажется странным, что внутри контейнера виртуального хоста есть положение каталога, обычно это не так, если вы можете запустить свой веб-сервер, он, кажется, работает.

вам нужно иметь директиву namevirtualhost для правильной работы вашей конфигурации.

<VirtualHost test:80>... попробуйте вместо этого использовать *:80 или ip:80. разрешение может вызвать проблемы и сделать виртуальный хост неэффективным.

Когда вы создаете vhost, вы также должны указать vhost для своего сервера, в данном случае localhost. Смотрите выделенный раздел под названием " Главный хост уходит"

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