web - 在 CentOS 中更改 apache2 httpd 的 RootDirectory

标签 web centos apache2 file-permissions httpd.conf

好的。我知道这个话题听起来像是被问了一千次,被回答了一百万次。它被问了很多次,答案也很多。

但是,我无法诊断为什么我的配置不起作用。
这是我的情况:

我已经为我的 Web 开发设置了一个 CentOS7 系统,并设法在其上安装了 apache2 httpd。

在正常设置下,它工作得很好,并成功显示了我放在文件夹中的 index.html 文件:

//var/www/html'

这是 index.html 的权限:
enter image description here

现在我已经更改了配置文件
/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”。
并为两个目录指令更改了相同的值,我得到了这个:

enter image description here
我已经仔细检查了文件权限和所有权,并确保一切都与 /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/

相关文章:

php - 获取网站状态 - 向上或向下

angular - Angular 中的注入(inject)依赖

mysql - ubuntu21.10中无法执行apache2重启命令

node.js - 在 Centos 6.8 上安装 Node

CentOS 服务器上的 PHP 模块 - 我需要哪些?

mysql - 使用 Mysql 和 Apache 的 Subversion 访问控制(mod-dav-svn、mod-auth-sql、apache、mysql)

apache - 如何验证 Apache 缓存是否正常工作?

web - 如何估算网站带宽

java - war 文件的 jetty 9.x 基本目录的最小文件集是什么?

MYSQL 复制 - 在某些情况下不复制