前一段时间遇到的问题,想起来了给记一下。
在虚拟机的linux下配置好php环境后,访问localhost正常出现apache安装成功的的页面,但是当我想访问根目录下的index.php文件的时候,便会出现 access denied界面,返回http code 403.
说是拒绝访问,那就先看下权限
首先,检查目录、文件权限
因为是apache的网站根目录是虚拟机中的共享目录,查看权限后发现全都是777的,所有人都可读可写可执行。所以问题不在这里
然后,检查apache配置
最后是把能找到的目录权限全部配置成
# apache 2.4.6
AllowOverride All
Require all granted
把能开的权限都打开。
还是不行。
【以上两部检查baidu的时候还是能搜到很多的】
再接再厉
关闭防火墙,多次重启apache,当然还是不行。
然后我尝试访问一个不存在的文件 /no_exist.php 的时候,会返回 404 not found.
所以说,我确实能够访问到网站目录,也能找到目录下的文件,但只是没有权限打开并解析文件。
找到解决方案,是selinux的问题
【点击这里查看详情】
自己本地开发时,可以选择关闭selinux
vim /etc/selinux/config
SELINUX=disabled
然后重启就解决了。
也可以选择其他的方法尝试,如上面链接里提到的
chcon -R -t httpd_sys_content_t /path/to/you/wwwroot