CentOS系统apache出现访问权限403错误解决办法

新服务器装的是CentOS系统,以前弄过ubuntu的设置了,原本想着应该差不多,经过一番折腾后才明白CentOS默认安装了selinux,因为这个东西,使得web服务和FTP服务都有莫名其妙的问题,我用virtualmin设置了新网站,结果把网站内容复制过去,却出现403禁止访问错误,还有vsftpd和以前一样设置后,发现怎么也没有写入权限,弄了大半天也解决不了,经过google大神才明白是SELINUX的原因,后来索性直接关闭SELINUX这个东东,一切问题解决。

apache出现403禁止访问错误可能原因:

SELINUX引起解决办法:很简单,把目录或文件的策略类型改成httpd_sys_content_t 就可以了

使用root用户 ,使用下面的chcon命令来改变策略类型:

chcon -t httpd_sys_content_t 目录名或文件名

可以用 ls -laZ 命令查看文件、目录的策略类型。
第二种情况是检查apache的配置文件,看里面的设置:
<Directory />

Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

或者直接关闭SELINUX,这样权限问题都解决了。

关闭SELINUX的方法:

方法1 立即关闭SELINUX

/usr/sbin/setenforce 0  (立刻关闭 SELINUX)
/usr/sbin/setenforce 1  (立刻启用 SELINUX)
也可以加到系统默认启动里面,这样下次重启也是关闭的。
echo “/usr/sbin/setenforce 0″ >> /etc/rc.local

方法2 :重启系统后关闭

使用文本编辑工具打开 /etc/selinux/config

把 SELINUX=enforcing 注释掉:#SELINUX=enforcing

然后新加一行为:SELINUX=disabled

保存,退出,然后重启系统。

 

你可能感兴趣的:(apache)