好的。我知道这个话题听起来像是被问了一千次,被回答了一百万次。它被问了很多次,答案也很多。
但是,我无法诊断为什么我的配置不起作用。
这是我的情况:
我已经为我的 Web 开发设置了一个 CentOS7 系统,并设法在其上安装了 apache2 httpd。
在正常设置下,它工作得很好,并成功显示了我放在文件夹中的 index.html 文件:
//var/www/html'
这是 index.html 的权限:
现在我已经更改了配置文件
/etc/httpd/conf/httpd.conf
并进行了以下更改:
DocumentRoot "/home/ftpuser"
#
# Relax access to content within /var/www.
#
<Directory "/home/ftpuser">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
# Further relax access to the default document root:
<Directory "/home/ftpuser">
将 DocumentRoot 更改为“/home/ftpuser”。
并为两个目录指令更改了相同的值,我得到了这个:
我已经仔细检查了文件权限和所有权,并确保一切都与
/var/www/html
相同。文件夹/但是 apache2 仍然显示相同的错误消息。
现在,如果我将目录更改为
/var/www
内的某个位置并更改 httpd.conf
相应的参数然后服务器工作正常。在发布问题之前,我已经尝试了所有方法。所以请详细说明我错过了什么。
我已经尝试了一整天,但无法找到正确的答案。我也一直在网上引用这个资源:Centos:httpd directives
PS:关于使用VirtualHosts,我没有看太多细节。我想配置主服务器并从我的主目录使用它
/home/ftpuser
.
最佳答案
如果您检查了 error_log,它可能会告诉您该错误是文件系统权限错误,而不是“服务器配置”错误。
/home/ftpuser 需要对 apache 用户是世界可读的,以便从中提供文件(如果启用 htaccess,也是世界可执行文件)
关于web - 在 CentOS 中更改 apache2 httpd 的 RootDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43637543/