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

Виртуальный хост «Запрещено, у вас нет разрешения на доступ / на этом сервере» в debian

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

Вот мой файл конфигурации виртуального хоста:

<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: // тест или даже http: // localhost я получил

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

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

После активации виртуального хоста вам необходимо перенастроить localhost как виртуальный хост. Вы можете просто скопировать и вставить httpd.conf параметры.

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

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

#!/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. разрешение может вызвать здесь проблемы и сделать виртуальный хост неэффективным.