我正在尝试在我的桌面 Linux 上运行我的第一个 PHP 代码。
我在我的电脑上安装了 httpd 并更改了这些内容:
将文档根更改为/home/MyUserName/httpd/www
将默认端口更改为 8080
我以 root 身份运行 httpd 并使用浏览器访问主机 (127.0.0.1:8080/) 但出现错误 403,并且无法访问主机上的任何目录。
我的操作系统是桌面版 Fedora 28。
答案1
我怀疑您需要更改自定义文档根目录的所有权,使其属于用户apache
。
如果你跑..
ls -la /home/MyUserName/httpd/www
您从所有者/权限中得到什么?
尝试这个...
chown apache:apache -R /home/MyUserName/httpd/www
这将递归地将您的网络根目录及其下面包含的任何内容的所有权设置给用户apache
。
答案2
这可能是 SELinux 问题
如果getenforce
返回 Enforcing,您可以尝试使用 暂时禁用它(直到重新启动)sudo setenforce 0
。
如果您只是想学习并且觉得不需要此安全功能,您可以通过设置 SELINUX=disabled 在 /etc/selinux/config 中永久禁用它
请注意,禁用 SELinux 将停止整个系统的保护,而不仅仅是 Apache 服务器。如果您追求安全的环境,则不建议这样做。如果事实证明这是问题所在并且您想要正确设置它,您可以audit2allow
在 IMO 中寻找在新安装的操作系统上进行设置的最快方法。