Apache2 权限被拒绝 - 访问/被拒绝,因为路径的某个组件缺少搜索权限

shu*_*van 1 apache2

我使用 apache 并在 Ubuntu 21.04 上遇到权限问题

Server version: Apache/2.4.46 (Ubuntu)
Server built:   2021-06-17T17:09:41
Run Code Online (Sandbox Code Playgroud)

sudo apache2ctl configtest 返回语法 OK

我的日志

[Thu Jul 22 14:08:49.553904 2021] [core:error] [pid 33685] (13)Permission denied: [client 127.0.0.1:41084] AH00035: access to / denied (filesystem path '/home/ivan/hosts') because search permissions are missing on a component of the path
[Thu Jul 22 14:08:49.609382 2021] [core:error] [pid 33685] (13)Permission denied: [client 127.0.0.1:41084] AH00035: access to /favicon.ico denied (filesystem path '/home/ivan/hosts') because search permissions are missing on a component of the path, referer: http://gpon-actual.local/
Run Code Online (Sandbox Code Playgroud)

我的主人

<VirtualHost *:80>
    ServerName gpon-actual.local
    DocumentRoot /home/ivan/hosts/gpon-actual
    DirectoryIndex index.php
    ErrorLog ${APACHE_LOG_DIR}/gpon-actual-error.log
    CustomLog ${APACHE_LOG_DIR}/gpon-actual-access.log combined
    <Directory "/home/ivan/hosts/gpon-actual">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        Allow from All
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我执行了不同的建议,但没有人没有帮助

chmod +x hosts
chmod +rx hosts
sudo chown -R $USER:$USER hosts
sudo chmod 777 -R hosts/
Run Code Online (Sandbox Code Playgroud)

在我的 /etc/apache2/sites-available/site.conf 中我添加了

这是之前

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

我刚刚补充道:

<Directory /home/ivan/hosts/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

任何想法 ?

小智 5

只需在 Ubuntu 22.04、Apache 2.4.52 上点击此按钮即可。修复方法很简单。我需要运行:

chmod +x /home/<USERNAME>
Run Code Online (Sandbox Code Playgroud)

仅仅穿上755/home/*/public_html不够。