Apache 虚拟主机 documentroot 中的其他文件夹

Apache 虚拟主机 documentroot 中的其他文件夹

我正在尝试在我的 Apache 中设置几个 ov VritualHost,但我想将这些虚拟主机的 DocumentRoot 放在基本 www 文件夹之外的文件夹中。我碰巧总是收到“权限被拒绝”的提示。我的 httpd.conf 如下:NameVirtualHost *:80

         <VirtualHost *:80>
              ServerAdmin [email protected]
              DocumentRoot /home/giuseppe/www

              ServerName www.example.com/www
              ErrorLog logs/host.www.projects-error_log
              CustomLog logs/dummy-host.example.com-access_log common

         <Directory "/home/giuseppe/www">
             Options Indexes FollowSymLinks
             AllowOverride All
             Order allow,deny
             Allow from all
         </Directory>

         </VirtualHost>


        <VirtualHost *:80>
             ServerAdmin [email protected]
             DocumentRoot /home/developper

             ServerName www.example.com
             ErrorLog logs/host.developper-error_log
             CustomLog logs/dummy-host.example.com-access_log common
        </VirtualHost>

编辑:

我尝试将用户组权限更改为 www 文件夹。但没有成功。我认为问题出在 ServerName 上。

 VirtualHost A
  ServerName www.example.com

 VirtualHost B
  Servername www.example.com/www

也许 ServerName 必须是有效的 DNS?例如 www.example.com 和 site2.example.com,而不是简单的

答案1

你可以把它放在DocumentRoot你想要的地方,没有特殊的限制。

因此,正如错误消息所述,您的问题仅与文件和目录权限有关。

Apache 用户必须能够访问这些 documentRoots 并读取那里的文件。因此,您应该调整以下几点:

  • 检查 apache 用户或组是否具有此目录内的目录和文件的读取权限
  • 检查他是否拥有所有父目录的执行权
  • 检查您是否没有使用 SELinux 或类似的安全工具添加更多限制(检查 apache 日志和系统日志)

相关内容