linux源码编译安装apache

首先我们需要下载相关的依赖包
apr、apr-util、pcre

下载地址

http://archive.apache.org/dist/apr/apr-1.7.0.tar.gz
http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.zip

1.配置依赖环境
(1) 配置apr依赖
解压依赖包: tar -xf apr-1.7.0.tar.gz
进入解压后的目录:cd apr-1.7.0
配置(设置安装在/usr/local/apr):./configure --prefix=./configure --prefix=/usr/local/apr
编译并安装:make && make install
(2) 配置apr-util依赖
解压依赖包:tar -xf apr-util-1.6.1.tar.gz
进入解压后的目录:cd apr-util-1.6.1
配置(设置安装在/usr/local/apr-util):./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
编译并安装:make && make install
(2) 配置pcre依赖
解压依赖包:tar -xf pcre-8.45.tar.gz
进入到解压后的目录: cd pcre-8.45
配置(设置安装在/usr/local/pcre):./configure --prefix=/usr/local/pcre
编译并安装:make && make install

2.配置安装httpd
解压httpd压缩包:tar -xf httpd-2.4.53.tar.gz
将前面解压后的apr和apr-util解压后的包移到httpd-2.4.54/srclib目录下,并命名成apr和apr-util

[root@localhost local]# cp -rf apr-util-1.5.4 httpd-2.4.53/srclib/
[root@localhost local]# cp -rf apr-1.7.0 httpd-2.4.53/srclib/
[root@localhost local]# cd httpd-2.4.53
[root@localhost httpd-2.4.53]# cd srclib/
[root@localhost srclib]# ls
apr-1.7.0  apr-util-1.5.4  Makefile  Makefile.in
[root@localhost srclib]# mv apr-1.7.0/ apr
[root@localhost srclib]# mv apr-util-1.5.4/ apr-util
[root@localhost srclib]# ls
apr  apr-util  Makefile  Makefile.in

进入到解压后的目录:cd httpd-2.4.53/

执行配置:./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/bin/pcre-config --enable-modules=most --enable-mpms-shared=all --with-mpm=event --with-included-apr

执行编译并安装:make && make install

编译后可能出现以下错误,如果没有,恭喜

make[2]: *** [htpasswd] 错误 1
make[2]: Leaving directory `/usr/local/httpd-2.4.53/support'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/usr/local/httpd-2.4.53/support'
make: *** [all-recursive] 错误 1

解决这个问题,主要是因为可能是因为你的系统还centos7以下版本,如果是,则要把apr-util-1.6.1更新到1.6版本以下,然后重新make clean,再执行编译操作即可.

如果还是提示这个错误,并且错误前有
In function `ssl_proceed_handshake
则说明openssl的版本太低了,要先升级openssl再执行
进行httpd-2.4.53的编译目录下make clean,重新执行

./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-ssl=/usr/local/openssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/bin/pcre-config --enable-modules=most --enable-mpms-shared=all --with-mpm=event --with-included-apr

然后再make && make install
启动httpd

[root@mysql47 apache]# /usr/local/apache/bin/apachectl -t   #apache配置文件语法检测
Syntax OK
[root@mysql47 apache]# /usr/local/apache/bin/apachectl start   #apache启动
[root@mysql47 apache]# ps -ef |grep httpd    #查看apache进程

添加httpd到环境变量

[root@mysql47 conf]# vim /etc/profile
#在最后增加export PATH=/usr/local/apache/bin:$PATH
#保存wq,然后使httpd生效
[root@mysql47 conf]# source /etc/profile
[root@mysql47 conf]# httpd -v
Server version: Apache/2.4.53 (Unix)
Server built:   Mar 30 2022 11:33:56

linux源码编译安装apache( httpd-2.4.53)处理服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)相关推荐

  1. Linux源码编译安装apache httpd2.4.48

    Apache httpd httpd是Apache基金会的HTTP服务器项目:HTTP Server project httpd-2.4系列本版,依赖于apr-1.4+, apr-util-1.4+ ...

  2. linux 源码编译安装apache

    cc1 是c语言的编译器. 转载于:https://www.cnblogs.com/oxspirt/p/6483137.html

  3. Ubuntu 16.04源码编译安装Apache 2.4.25教程

    这篇文章主要为大家详细介绍了Ubuntu 16.04源码编译安装Apache 2.4.25,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家介绍了Ubuntu 16.04源码编译安装Apa ...

  4. linux源码编译-安装postgresql数据库(中标麒麟+龙芯CPU)

    linux源码编译-安装postgresql数据库(中标麒麟+龙芯CPU) 一.查看yum源中pgsql版本 二.安装readline-devel 三.下载pgsql库的源码 四.解压下载的源码.co ...

  5. Linux 源码编译安装过程-以安装XZ解压为例

    一.描述 Linux安装软件一般有两种安装方式:安装包安装和源码安装. 1.安装包安装.安装包安装比较简单,例如采用apt-get  install +软件名 命令,安装 deb 包的 Linux 操 ...

  6. Linux源码编译安装步骤及命令

    源码编译安装过程 RPM包:rpm -ivh yum install 源码包----开发工具---->可以执行的程序----->运行安装 • 主要优点 – 获得软件的最新版,及时修复bug ...

  7. 【Ubuntu 16】源码包安装Apache Httpd

    源码包安装适合初学者使用. 背景信息 APR (Apache Portable Runtime) Apache可移植运行的任务(APR)项目是创建和维护软件库,为底层平台的具体实现提供了一个可预见的和 ...

  8. apache 编译php mysql_记一次痛苦的过程-------源码编译安装apache+php5+mysql

    当时有我们准备做一个项目,于是我就自己搭建了lamp服务器,直接yum install所有文件,因为centos是一个比较稳重的系统,所以它上面所有软件都不是最新的,apache是2.2.15版本,p ...

  9. linux源码编译安装lamp环境搭建,linux下源码包编译安装LAMP环境

    1.下载所需的源码包 Httpd-2.4.10  apr-1.5.1  apr-util-1.5.3  pcre-8.33(这些均可在Apache官网进行下载) Mysql-5.5.39    php ...

最新文章

  1. sprintf函数做什么用?
  2. LeetCode——Rotate Image(二维数组顺时针旋转90度)
  3. 初探莫比乌斯反演及欧拉反演
  4. eclipse中 properties文件编码问题
  5. 点云分割 PointCloudSegmentation测试笔记
  6. JBOSS 端口修改说明
  7. 033_使用ArrayDeque模拟队列结构
  8. JTextPane设置颜色出现的问题
  9. thinkphp5中的系统文件上传和$_FILES用法区别
  10. 第三次学JAVA再学不好就吃翔(part72)--Date类
  11. MySQL limit 优化,百万至千万级快速分页:复合索引
  12. 软件构造学习笔记-第六周
  13. session会话拦截ajax,session过期,拦截ajax请求并跳转登录页面
  14. qt checkbox 选中事件_Qt学习笔记3(布局管理)
  15. Android Service(二)Service的两种启动方式
  16. [转]C++ 智能指针详解
  17. jar包里面文件修改
  18. HDU 2154 跳舞毯
  19. 【学习记录】使用多协程和队列,爬取时光网电视剧TOP100的数据
  20. JAVA避免使用魔法数值

热门文章

  1. 2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷
  2. Python爬虫实例之淘宝商品比价定向爬取!爬虫还是很有意思的!
  3. NCRE考试感想 四级嵌入式(下)
  4. 手Q支付Android开发面试前小记
  5. 【计算机网络】第一章--计算机网络概述
  6. CISCO WLC的配置备份与导入
  7. 华为服务器bios系统,华为服务器bios设置
  8. 笨笨图片批量抓取下载 V0.2 beta[C# | WinForm | 正则表达式 | HttpWebRequest | Async异步编程]...
  9. 低频RFID读卡流程
  10. FIL到底是什么?IPFS是什么?IPFS和FIL是什么关系?FIL参与方式