显示网页所需的Apache执行权限

Lau*_*ier 3 permissions apache-2.2

我目前遇到一些奇怪的事情,其中​​ apache 必须具有执行权限才能显示页面。这是当前在admin拥有所有权限而apache只有读取权限的目录上设置的权限。尽管如此,我在尝试访问索引时遇到了 403。

我错过了什么吗?我认为 apache 只需要读取权限就可以显示页面?

drwxr-----  3 admin www-data 4096 Apr  4 12:27 assets
drwxr-----  3 admin www-data 4096 Apr  4 12:27 css
drwxr-----  3 admin www-data 4096 Apr  4 12:27 images
-rwxr-----  1 admin www-data  469 Apr  4 12:27 index.php
drwxr----- 15 admin www-data 4096 Apr  4 12:27 protected
drwxr-----  4 admin www-data 4096 Apr  4 12:27 themes
Run Code Online (Sandbox Code Playgroud)

虚拟主机如下:

NameVirtualHost *:443
<VirtualHost *:443>
    ServerName ****
    ServerAlias ****
    SSLEngine On
    SSLCertificateFile ****
    SSLCertificateKeyFile ****
    DocumentRoot /home/sites/share
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

每个请求编辑:

/home/sites/share 上的权限

drwxr----- 8 admin www-data 4096 Apr  4 14:52 share
Run Code Online (Sandbox Code Playgroud)

/home/sites 上的权限

drwxr-xr-x  6 admin admin  4096 Apr  4 12:27 sites
Run Code Online (Sandbox Code Playgroud)

/home 上的权限

drwxr-xr-x   4 root root  4096 Apr  2 18:01 home
Run Code Online (Sandbox Code Playgroud)

USD*_*att 5

共享目录需要 www-data 组的执行权限。没有执行权限,www-data 组(即Apache)的成员不能访问该目录的内容。

chmod 750 /home/sites/share
Run Code Online (Sandbox Code Playgroud)

编辑:显然Apache需要访问的任何其他目录,例如上面的assets/images/etc,并且这些目录的任何子文件夹也需要对该组的执行权限。