新服务器装的是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
保存,退出,然后重启系统。