Debian 上的虚拟主机“禁止您无权访问此服务器上的 /”

Debian 上的虚拟主机“禁止您无权访问此服务器上的 /”

在我创建虚拟主机之前我可以看到“http://本地主机“,但是当我创建虚拟主机时我看不到”http://本地主机“和我的虚拟主机”http://测试

这是我的虚拟主机配置文件:

<VirtualHost test:80>

        ServerAdmin [email protected]
        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://本地主机 我明白

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

当我删除虚拟主机设置时我可以访问http://本地主机

答案1

一旦激活虚拟主机,您需要重新配置localhost为虚拟主机。您只需复制粘贴httpd.conf参数即可。

答案2

目录中可能没有索引文件且目录列表被禁用? - 您不能直接访问文件吗?

否则请检查网络服务器用户的读取权限。

对我来说,在虚拟主机容器内有一个目录声明看起来很奇怪,通常情况并非如此,但如果你可以启动你的网络服务器,它似乎可以工作。

您需要有一个 namevirtualhost 指令才能使您的配置正常工作。

<VirtualHost test:80>...尝试使用*:80或ip:80。该分辨率可能会导致问题并使虚拟主机无效。

答案3

这对于评论来说太长了,所以我会修改这个答案。运行此脚本并为我们提供输出:

#!/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

答案4

创建虚拟主机时,您还必须为服务器指定虚拟主机,在本例中为 localhost。请参阅标题为“主要宿主消失

相关内容