求apache出现访问403错误的根本原因以及解决

发布于 2021-11-10 14:49:00 字数 714 浏览 876 评论 3

修改Apache 默认的DocumentRoot路径后,Apache启动失败,失败提示DocumentRoot must be a directory,但确认修改后的路径是目录,且具有linux读写权限。在网上查找了很多,大部分都是由于selinux权限机制引起的,网上的解决方法大多为以下两种:

1,修改目录权限,因为apache默认的用户和用户组为apache,该用户只能访问权限为httpd_sys_content_t 的目录文件,假设想把DocumentRoot改为目录/home/user/www,就修改该目录的权限,命令如下:

     chcon -R -t httpd_sys_content_t /home/user/www

如此,就使得apache可以访问该目录

2,禁用selinux

编辑 /etc/sysconfig/selinux  把其中 SELINUX=enforcing 改为SELINUX=disable

保存后重启系统,问题解决

而我根据第一种方法修改权限后,服务器仍不能启动,禁用selinux后,服务器可以启动了,但浏览器访问时却出现了403错误,提示没有访问权限,真是愁死人了,但这个403错误是之前遇到过的,还好,直接把apache配置文件中的User 和Group的值都从apache 改为当前用户,问题解决,但对于问题的根本原因还是觉得很迷惘,权限都已经授好了,为什么该用户还是不能用呢,求高人解释!可否有其他解决方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绝影如岚 2021-11-16 22:15:05

我禁用了selinux,apache可以启动,但访问的时候还是会出现403错误,只有把apache中的User 和Group 改为当前用户访问时才不会出现这个错误,搞不明白~

眼眸 2021-11-16 16:59:26

我一般的做法是将SELinux给禁用了。

秋意浓 2021-11-16 00:52:56

我的也是啊,自定义了一个500页面,总是报告403

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文