安装apache和php报错

本文记录了在自编译Apache服务器并使用特定用户身份启动时遇到的一系列问题及解决过程,包括SELinux配置调整、用户组设置修正等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器类型:

[root@guidang htdocs]# uname -a
Linux guidang.dns.com.cn 2.6.33.5 #1 SMP Tue Jun 8 20:38:22 CST 2010 i686 i686 i386 GNU/Linux

循规蹈矩的按操作步骤安装完之后,进行测试,就出现了如下报错:

[root@guidang php-5.2.3]# /usr/local/apache/bin/apachectl start
httpd: Syntax error on line 53 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

在网上找了一些解决办法

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

找到解决办法就尝试了一下:

[root@guidang conf]# /usr/sbin/setenforce 0
[root@guidang conf]# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
context of /usr/local/apache/modules/libphp5.so changed to system_u:object_r:textrel_shlib_t

再次启动apache,失败

[root@guidang conf]# /usr/local/apache/bin/apachectl start
httpd: bad user name vpopmail

这个apache是我们自己编译过的,是按照我们的生产要求来的,以vpopmail的身份进行启动的

[root@guidang conf]# /usr/sbin/adduser vpopmail

第三次启动仍然失败

[root@guidang conf]# /usr/local/apache/bin/apachectl start
httpd: bad group name vchkpw

原来是vpopmail用户属于vchkpw组

[root@guidang conf]# /usr/sbin/groupadd vchkpw

启动成功:

[root@guidang conf]# /usr/local/apache/bin/apachectl start

检查进程:

[root@guidang conf]# ps -aux |grep http|grep -v grep
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 21103 0.0 0.2 19316 8424 ? Ss 13:52 0:00 /usr/local/apache/bin/httpd -k start
vpopmail 22383 0.0 0.1 19316 7348 ? S 14:03 0:00 /usr/local/apache/bin/httpd -k start
vpopmail 22384 0.0 0.1 19316 7328 ? S 14:03 0:00 /usr/local/apache/bin/httpd -k start

还有之前遇到的一些apache启动问题,不过这个问题应该是比较少见的

[root@gbackup2 htdocs]# /usr/local/apache/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for gbackup2.dns.com.cn
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

查看结果是:
[root@gbackup2 htdocs]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gbackup2.dns.com.cn
GATEWAY=119.254.72.129


[root@gbackup2 htdocs]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 gbackup.dns.com.cn gbackup localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6


以上两个配置文件中的主机名不一致,而运行一下命令可以得知hosts文件配置错了
[root@gbackup2 htdocs]# hostname
gbackup2.dns.com.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值