Apache 在移动 DocumentRoot (CentOS 6.4) 后抛出 403 Forbidden

djc*_*djc 3 permissions centos apache-httpd

我在 CentOS 6.4 上通过 yum 安装了 Apache。我将DocumentRootin更改/etc/httpd/conf/httpd.conf为指向/home/djc/www

DocumentRoot "/home/djc/www"
<Directory "/home/djc/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

FS 权限:

djc@vm ~ $ ls -l
drwxrwxr-x.  3 djc djc   4096 Jan 14 11:17 www
Run Code Online (Sandbox Code Playgroud)

没有 SELinux:

djc@vm ~ $ sestatus
SELinux status:                 disabled
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

jan*_*nos 5

为了让 Apache 能够访问新的 docroot,Apache 用户必须能够访问/home/djc/www. 因此,即使/home/djc/www每个人都可以访问,也/home/djc必须由 Apache 用户执行。例如,如果您有:

$ ls -ld ~
drwx------    1 djc   djc        0 Jan 13 15:16 /home/djc
Run Code Online (Sandbox Code Playgroud)

你可以让它像这样访问,它应该足够了:

$ chmod o+x ~
$ ls -ld ~
drwx-----x    1 djc   djc        0 Jan 13 15:16 /home/djc
Run Code Online (Sandbox Code Playgroud)