我在 Manjaro 上安装了 Apache 服务器(没有标签,Arch 最接近)。它运行良好。我添加了虚拟主机并尝试使用 chmod 设置目录权限,但没有成功。访问 http://localhost:8080/ 时出现 403 错误
Listen 8080
<VirtualHost *:8080>
DocumentRoot "/home/inf3rno/Desktop/projects/xxx/"
ServerName www.example2.org
ErrorLog "/home/inf3rno/Desktop/projects/xxx/error.log"
CustomLog "/home/inf3rno/Desktop/projects/xxx/access.log" common
<Directory "/home/inf3rno/Desktop/projects/xxx/">
Options Indexes FollowSymlinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
我尝试在 xxx 目录上chmod 775
执行。我得到了。根据 error.log 搜索缺少权限。文件日志记录正常。我发现不同发行版有许多类似的问题,但没有一个答案可以解决这个问题。目录中有 index.php 和 index.html 文件,但都没有提供。我得到了文件。有什么想法可以解决这个问题吗?chmod +x
namei --long
drwxrwxr-x inf3rno inf3rno xxx
namei --long
-rwxr-xr-x inf3rno inf3rno index.php
答案1
对我有用的是chmod +x
针对路径上的每个目录进行设置:
chmod +x /home
chmod +x /home/inf3rno/
chmod +x /home/inf3rno/Desktop/
chmod +x /home/inf3rno/Desktop/projects/
chmod +x /home/inf3rno/Desktop/projects/xxx/
请注意,这不是一个安全的解决方案,最好为 apache 设立一个单独的用户,但对于开发来说,这是可以的。