今天在帮同学搭建lamp环境的时候,在快要完的时候竟然发生了一个小问题。困惑半天最后才发现竟然是selinux捣的鬼,现在记录一下,希望对其他朋友有用,也当作自己的一些笔记了!
重新启动apache报如下错误:
httpd: Syntax error on line 109 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险,而且不方便。
2不关闭SELINUX的方法:
setenforce 0
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
service httpd restart
setenforce 1
最后总结一下安装lamp环境最先需要做的两件事情:
第一是关闭selinux,第二是关闭防火墙,这样才可以本机通过IP访问虚拟机搭建的LAMP环境。
关闭防火墙的命令为 service iptables stop 重启后又会失效。