我试图让我的网站(托管在我的 CentOS 8 上)加载与网站其余部分位于同一目录(/var/www/html)的 background.png 文件,但网站拒绝加载它,当我直接访问 localhost/background.png 我收到拒绝访问错误。
在错误日志中我得到“AH00132:文件权限拒绝服务器访问“。同一目录中的样式表和 PHP 文件运行良好。
我在网上查找了解决这个问题的不同方法,但我似乎无法解决它,而且它变得非常令人沮丧。我的网站应该只需要使用一张图像(至少现在是这样),因此理论上我可以使用在线托管的图像,但出于几个原因我不想这样做。
我尝试过的事情:
- 对 .png 文件使用 chmod 755,甚至使用可访问文件中的 chown/chmod --reference
- 有 mod-mime“AddType image/png .png”
- 除了我的 phpmyadmin 的一些与密码相关的内容之外,没有 .htaccess
- 在 /var/www/html 目录括号下的 httpd conf 上添加了“AllowOverride All、Allow from all、Require all grant”
- 重新启动 httpd
- 清除浏览器
还有其他想法吗?除了基础知识之外,我还是 Linux 方面的新手,所以请不要使用花哨的术语 :p
编辑:
问题出在 SELinux 上。遵循此操作后https://superuser.com/a/988862指南 我设法让 SELinux 允许对该文件进行读取访问。谢谢您的帮助!
答案1
您应该检查该服务器上是否启用了 SELinux,在这种情况下,它是否可能阻止对 Apache 的访问。您应该查看文件是如何标记的,然后修复配置或重新标记文件。