httpd升级2.4.57及后续问题处理

背景信息

由于2.4.37版本httpd有安全漏洞,需要升级到2.4.57版本,2.4.57版本是当前最新的版本,只具备源码包,不具备rpm包,而原有的httpd是zabbix配套的,为rpm版本的包。最简单的方式就是进行rpm包的升级,这样也便于后期维护。

基于上述的需求,需要先构建出2.4.57的rpm包,然后使用rpm包升级httpd并解决httpd升级后的问题。

操作步骤

构建rpm包

官网 下载链接为 https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.bz2

安装rpmbuild命令

# 安装rpmbuild命令
yum install rpmbuild
yum install rpmdevtools

# 安装基础依赖
yum -y install epel-release
yum -y install libuuid-devel apr-devel apr-util-devel openldap-devel lua-devel libxml2-devel

# 构建rpm包
rpmbuild -tb httpd-2.4.57.tar.bz2

# 生成的rpm包在如下目录
[root@hadoop01 ~]# ls /root/rpmbuild/RPMS/x86_64/
httpd-2.4.57-1.x86_64.rpm            httpd-manual-2.4.57-1.x86_64.rpm     mod_lua-2.4.57-1.x86_64.rpm
httpd-debuginfo-2.4.57-1.x86_64.rpm  httpd-tools-2.4.57-1.x86_64.rpm      mod_proxy_html-2.4.57-1.x86_64.rpm
httpd-devel-2.4.57-1.x86_64.rpm      mod_authnz_ldap-2.4.57-1.x86_64.rpm  mod_ssl-2.4.57-1.x86_64.rpm

构建rpm包的报错处理: 会报错说缺少/root/rpmbuild/BUILDROOT/httpd-2.4.57-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so

在这里插入图片描述

解决办法: 打开两个终端 一个执行rpmbuild命令 另外一个准备好cp命令 把老的httpd的该模块复制过去 一直执行该命令 知道提示是否覆盖
cp /etc/httpd/modules/mod_mpm_event.so /root/rpmbuild/BUILDROOT/httpd-2.4.57-1.x86_64/usr/lib64/httpd/modules/

升级httpd

# 1 备份httpd配置文件
cd /etc
cp -r httpd httpd.old

# 2 升级httpd 切换到上述构建好的rpm包的目录里
cd /root/rpmbuild/RPMS/x86_64/
yum -y localupdate httpd-2.4.57-1.x86_64.rpm

# 3 问题解决
如果遇到说某个东西冲突的 可以使用rpm命令 卸载对应的低版本软件包 再执行上述的 localupdate命令

启动httpd报错及处理

将httpd配置文件还原

mv /etc/httpd /etc/httpd.new
mv /etc/httpd.old /etc/httpd

缺少mod_systemd

启动httpd服务 报错如下
Starting httpd: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 12 of /etc/httpd/conf.modules.d/00-systemd.conf: Cannot load modules/mod_systemd.so

解决办法 : 下载2.4.57的源码包 编译安装一下 然后复制mod_systemd.so到现在的httpd的modules目录里

下载地址: https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.gz

步骤如下

# 1 解压源码包
tar -xf httpd-2.4.57.tar.gz
cd httpd-2.4.57

# 2 安装基础依赖
yum -y install subversion autoconf libtool python expat-devel pcre-devel systemd-devel gcc-c++ make

# 3 configure 安装目录随意写
./configure --enable-systemd --prefix=/opt/httpd

# 4 安装
make && make install

# 5 复制mod_systemd.so
cp /opt/httpd/modules/mod_systemd.so /etc/httpd/modules/

此问题解决 出现了新的问题 报错: Starting httpd: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 12 of /etc/httpd/conf.modules.d/01-cgi.conf: Cannot load modules/mod_cgi.so into server: libc.so.12: cannot open shared object file: No such file or directory

缺少mod_cgi

重新编译httpd 增加cgi

# 1 进入解压后的目录
cd httpd-2.4.57

# 2 安装基础依赖
yum -y install subversion autoconf libtool python expat-devel pcre-devel systemd-devel gcc-c++ make

# 3 configure 安装目录随意写
./configure --enable-systemd --prefix=/opt/httpd

# 4 安装
make && make install

# 5 复制mod_cgi.so
cp /data/app/httpd/modules/mod_cgi.so /etc/httpd/modules/

再次启动httpd 成功
在这里插入图片描述

zabbix也可以正常访问 如下图
在这里插入图片描述

相关文件

modules文件

[root@hadoop01 httpd-2.4.57]# ls /etc/httpd/modules/
lua_apr.o               mod_authz_owner.so     mod_ext_filter.so           mod_mpm_prefork.so     mod_session_dbd.so
lua_config.o            mod_authz_user.so      mod_file_cache.so           mod_mpm_worker.so      mod_session.so
lua_dbd.o               mod_autoindex.so       mod_filter.so               mod_negotiation.so     mod_setenvif.so
lua_passwd.o            mod_bucketeer.so       mod_headers.so              mod_proxy_ajp.so       mod_slotmem_plain.so
lua_request.o           mod_buffer.so          mod_heartbeat.so            mod_proxy_balancer.so  mod_slotmem_shm.so
lua_vmprep.o            mod_cache_disk.so      mod_heartmonitor.so         mod_proxy_connect.so   mod_socache_dbm.so
mod_access_compat.so    mod_cache.so           mod_include.so              mod_proxy_express.so   mod_socache_memcache.so
mod_actions.so          mod_cache_socache.so   mod_info.so                 mod_proxy_fcgi.so      mod_socache_redis.so
mod_alias.so            mod_case_filter_in.so  mod_lbmethod_bybusyness.so  mod_proxy_fdpass.so    mod_socache_shmcb.so
mod_allowmethods.so     mod_case_filter.so     mod_lbmethod_byrequests.so  mod_proxy_ftp.so       mod_speling.so
mod_asis.so             mod_cgid.so            mod_lbmethod_bytraffic.so   mod_proxy_hcheck.so    mod_status.so
mod_auth_basic.so       mod_cgi.so             mod_lbmethod_heartbeat.so   mod_proxy_http.so      mod_substitute.so
mod_auth_digest.so      mod_charset_lite.so    mod_log_config.so           mod_proxy_scgi.so      mod_suexec.so
mod_auth_form.so        mod_data.so            mod_log_debug.so            mod_proxy.so           mod_systemd.so
mod_authn_anon.so       mod_dav_fs.so          mod_log_forensic.so         mod_proxy_uwsgi.so     mod_system.so
mod_authn_core.so       mod_dav_lock.so        mod_logio.so                mod_proxy_wstunnel.so  mod_unique_id.so
mod_authn_dbd.so        mod_dav.so             mod_lua.a                   mod_ratelimit.so       mod_unixd.so
mod_authn_dbm.so        mod_dbd.so             mod_lua.la                  mod_reflector.so       mod_userdir.so
mod_authn_file.so       mod_deflate.so         mod_lua.lai                 mod_remoteip.so        mod_usertrack.so
mod_authn_socache.so    mod_dialup.so          mod_lua.o                   mod_reqtimeout.so      mod_version.so
mod_authz_core.so       mod_dir.so             mod_lua.so                  mod_request.so         mod_vhost_alias.so
mod_authz_dbd.so        mod_dumpio.so          mod_macro.so                mod_rewrite.so         mod_watchdog.so
mod_authz_dbm.so        mod_echo.so            mod_mime_magic.so           mod_sed.so
mod_authz_groupfile.so  mod_env.so             mod_mime.so                 mod_session_cookie.so
mod_authz_host.so       mod_expires.so         mod_mpm_event.so            mod_session_crypto.so

相关rpm包

[root@hadoop01 x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
[root@hadoop01 x86_64]# ls
httpd-2.4.57-1.x86_64.rpm            httpd-manual-2.4.57-1.x86_64.rpm     mod_lua-2.4.57-1.x86_64.rpm
httpd-debuginfo-2.4.57-1.x86_64.rpm  httpd-tools-2.4.57-1.x86_64.rpm      mod_proxy_html-2.4.57-1.x86_64.rpm
httpd-devel-2.4.57-1.x86_64.rpm      mod_authnz_ldap-2.4.57-1.x86_64.rpm  mod_ssl-2.4.57-1.x86_64.rpm

文件链接

so文件

httpd 2.4.57 所有rpm包

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
httpd-2.4.46-o111k-x64是一个用于部署和运行Apache HTTP服务器的软件包。 首先,要进行httpd-2.4.46-o111k-x64的配置,需要使用一个文本编辑器打开所安装httpd.conf文件。该文件位于Apache安装目录下的conf文件夹中。 在httpd.conf文件中,可以设置一些全局的配置选项,包括服务器的监听端口、主机名、日志记录选项等。可以根据自己的需求对这些选项进行相应的修改或配置。 另外,还可以在httpd.conf文件中增加虚拟主机的配置。虚拟主机可以让一个服务器同时提供多个不同的网站或域名。可以根据需要在httpd.conf文件中增加多个虚拟主机的配置,包括指定虚拟主机的域名、文档根目录、日志文件等。 除了httpd.conf文件,还可以使用其他的配置文件来进一步定制和调整httpd-2.4.46-o111k-x64的配置。例如,可以使用.htaccess文件来配置特定目录下的访问控制规则和其他相关选项。 配置完成后,可以使用启动脚本或命令来启动httpd-2.4.46-o111k-x64服务器。启动后,可以通过浏览器访问配置的域名或IP地址,来查看是否成功部署和配置了httpd-2.4.46-o111k-x64服务器。 总结来说,httpd-2.4.46-o111k-x64配置主要包括修改httpd.conf文件中的全局配置选项和虚拟主机配置,以及使用其他相关配置文件进行特定定制。配置完成后,可以启动服务器并通过浏览器来访问配置的网站。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值