当前位置: 首页 > news >正文

银河麒麟V10通过制作rpm包升级httpd、php软件修复漏洞

由于银河麒麟V10自带的yum源没有最新的httpd、php软件的升级包,因此,本人下载软件的源码,在本地搭建的麒麟系统中,编译好以后,将其打成rpm包,上传生产环境中进行安装,下面是编译和打包的具体步骤:

一、httpd编译打包

1、安装编译源码的工具以及开发库

yum groupinstall "Development Tools"
yum install pcre-devel libcurl-devel oniguruma-devel

2、将源码解压并执行下面操作:

#根据自己需求选择编译参数
./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-ssl \
--enable-proxy \
--enable-proxy-fcgi \
--enable-rewrite \
--with-mpm=event \
--enable-deflate \
--enable-expires#编译与安装
make&&make install

3、rpm打包的准备工作

#手动创建打包的目录
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}#在SPECS目录中创建httpd.specs
vi ~/rpmbuild/SPECS/httpd.specs
Name:           httpd
Version:        2.4.63
Release:        1%{?dist}
Summary:        Apache HTTP Server
License:        Apache License, Version 2.0
URL:            http://httpd.apache.org/
Source0:        http://apache.org/dist/httpd/httpd-2.4.63.tar.gz
%description
The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server.%files
%defattr(-,root,root,-)
/usr/local/apache2/bin/*
/usr/local/apache2/build/*
/usr/local/apache2/cgi-bin/*
%config /usr/local/apache2/conf/*
/usr/local/apache2/error/*
/usr/local/apache2/htdocs/*
/usr/local/apache2/icons/*
/usr/local/apache2/include/*
%dir /usr/local/apache2/logs
%doc /usr/local/apache2/man/*
%doc /usr/local/apache2/manual/*
/usr/local/apache2/modules/*
%post
echo 'export PATH=/usr/local/apache2/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
echo "
[Unit]
Description=Apache HTTP Server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
ExecStop=/usr/local/apache2/bin/apachectl stop
ExecReload=/usr/local/apache2/bin/apachectl graceful
PrivateTmp=true[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/httpd.service
systemctl daemon-reload

4、将安装好的httpd的目录复制到BUILDROOT目录中。

可以先执行

rpmbuild -bb --noclean httpd.spec

发现报错
在这里插入图片描述
然后,创建目录,将http安装所在的目录复制过去,重新执行

mkdir -p /root/rpmbuild/BUILDROOT/httpd-2.4.63-1.ky10.x86_64/usr/local/
cd /root/rpmbuild/BUILDROOT/httpd-2.4.63-1.ky10.x86_64/usr/local/
cp -ra /usr/local/apache2 .
rpmbuild -bb --noclean httpd.spec

最终在RPMS目录中找到打包的文件。

注意,将安装包在生产环境中执行时,会提醒缺少依赖,通过下面方式安装即可

yum install apr-util oniguruma

二、php编译打包

整个流程与上面的一致,下面只提供编译参数配置和php-fpm.spec文件内容

#编译参数
./configure \
--prefix=/usr/local/php \
--enable-fpm \
--with-openssl \
--with-zlib \
--with-curl \
--with-mysqli \
--with-pdo-mysql \
--with-jpeg \
--with-freetype \
--enable-mbstring \
--enable-opcache
#php-fpm.spec
Name:           php
Version:        8.2.0
Release:        1%{?dist}
Summary:        General-purpose scripting language
License:        PHP License v3.01
URL:            https://www.php.net/
Source0:        php-8.2.0.tar.gz
%description
PHP is a popular general-purpose scripting language that is especially suited to web development and can be embedded into HTML. PHP code can be simply mixed with HTML markup or it can be used in combination with various templating engines and web frameworks. PHP code is interpreted by a PHP interpreter embedded into the web server, which generates the web page document in HTML.
%files
%defattr(-,root,root,-)
/usr/local/php/bin/*
%config /usr/local/php/etc/*
/usr/local/php/include/*
/usr/local/php/lib/*
/usr/local/php/php/*
/usr/local/php/sbin/*
/usr/local/php/var/*
%post
#!/bin/sh
echo "
[Unit]
Description=PHP FastCGI Process Manager (PHP-FPM) 8.2
After=network.target[Service]
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGQUIT $MAINPID[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/php-fpm.service
systemctl daemon-reload

相关文章:

  • Python 训练营打卡 Day 38
  • 浅谈国企数字化转型
  • Jenkins-Pipeline:学习笔记
  • 什么是软件的生命周期,以及常见的开发测试模型
  • 电脑软件管家 免安装便携 四十多种功能系统优化”“磁盘清理”“隐私保护
  • 【行动指南】大一如何高效备考java
  • 密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全
  • 十六进制数据转换为对应的字符串
  • 2025.5.23 【ZR NOI模拟赛 T3】高速公路 题解(容斥,高维前缀和,性质)
  • 精准耐用的工业流量管家 格恩朗金属管浮子流量计
  • MySQL OCP 与 Oracle OCP 认证,怎么选?
  • 生物化学:药品药物 营养和补充剂信息 第三方认证信息 常见误区 汇总
  • 零滑点期货跟单软件在小恒指交易中的作用。
  • 【PhysUnits】15 类型整数基本结构体补充P1(basic.rs)
  • 【第2章 绘制】2.13 坐标变换
  • HA-820A程控高压放大器详解
  • vue2指令方式防抖功能
  • CEH Practical 实战考试真题与答案
  • 【第2章 绘制】2.7 路径、描边与填充
  • 企业信息管理系统的设计与实现(代码+数据库+LW)
  • 网站建设可用性的五个标准/南宁 百度网盘
  • 东南亚做网站 什么语言/国外域名注册
  • 网站建设先航科技/东莞百度推广优化
  • 哪有个人免费云服务器/关键词优化快速排名
  • 京东网站开发/宁波网络推广
  • 中国人民银行网站官网/友情链接平台站长资源