使用源码包编译安装apache2.4
admin
2023-03-12 05:41:04
0

一、前言

为了更好地理解学习Linux系统程序包的编译安装,因此自己尝试编译安装了apache,本文记录了编译安装的过程和相应出现的报错及解决办法,以供之后再次翻阅。

二、环境准备

系统版本:CentOS Linux release 7.2.1511 (Core)

内核版本:3.10.0-327.el7.x86_64

在进行编译安装前,我也在网上翻阅了不少资料,基本上都在进行编译安装前均需要安装相关的依赖软件包,使用yum安装依赖包如:

yum install -y gcc gcc++ zlib zlib-devel expat-devel pcre-devel

上述部分是一些常见的依赖包,expat-devel和pcre-devel是我在安装过程中报错后补充的。

随后使用wget命令下载相应的源码包到指定的目录:

httpd:http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.29.tar.gz

apr:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz

apr-util:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz

准备工作做完就可以进行编译安装了

三、编译安装

在编译安装httpd的源码包之前,我们得下编译安装apr和apr-until这两个对应源码包。

1、安装apr

[root@localhost tmp]# tar xf apr-1.6.3.tar.gz

[root@localhost tmp]# cd apr-1.6.3

[root@localhost apr-1.6.3]#./configure--prefix=/usr/local/apr

[root@localhost apr-1.6.3]# make&&make install

2、安装apr-util

[root@localhost tmp]# tar xf apr-util-1.6.1.tar.gz

[root@localhost tmp]# cd apr-util-1.6.1

[root@localhost apr-util-1.6.1]#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr

[root@localhost apr-util-1.6.1]# make&&make install

3、安装httpd

[root@localhost tmp]# tar xf httpd-2.4.29.tar.gz

[root@localhost tmp]# cd httpd-2.4.29

[root@localhost httpd-2.4.29]#./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util

[root@localhost httpd-2.4.29]# make&&make install

四、编译安装完成后的工作

1、启动Apache

[root@localhost~]# cd/usr/local/apache/bin/

[root@localhost bin]#./apachectl start

程序安装完成之后想要被运行起来,就必须为其中的二进制程序文件制定环境变量,否则只能通过路径来执行,这样每次都要输入

很长一部分路径,当然也可以使用别名,但比较环境变量来说,环境变量还是简洁明了的。在系统上通过$PATH变量来制定系

统中的二进制程序路径信息,自己编译的程序的二进制执行文件一般不会在此变量中,我们手动加入即可

使用:

echo 'export PATH=/usr/local/src/httpd/bin:$PATH' > /etc/profile.d/httpd.sh

这样就可以直接使用apachectl start|stop|status这样的命令直接管理httpd了

apachectl start :启动后使用浏览器输入IP测试一下

除了二进制文件之外还有库文件,因为大多数应用程序都依赖与标准库某些共享文件。

Linux默认找库文件路径:/lib64,/lib,/usr/lib64,/usr/lib

编辑/etc/ld.so.conf.d/httpd.conf,添加搜索路径至此文件中

写入:/usr/local/httpd/lib64

执行ldconfig命令,重新生成库映射

还有头信息,创建符号连接

ln -s /usr/local/httpd/include /usr/include/httpd

ln -s /usr/local/httpd/include/* /usr/include/

还有man文档,编辑/etc/man.config,找到MANPATH

MANPATH /usr/lcoal/httpd/man

相关内容

热门资讯

苏巧慧阵营影射李四川家族涉黑,... 海峡导报综合报道 新北市长选战硝烟渐起,身处苏巧慧阵营的新北市议员翁震州发文质疑李四川家族在小琉球做...
红场阅兵后,普京同军官握手致意 据凤凰卫视报道,5月9日,俄罗斯胜利日阅兵接近尾声,普京与军官一一握手致意。
车间里走出“准工程师”——黄河... 3500元项目津贴,三个真实项目研发经历,一份实习期月薪8000多元的录用通知——这是工学部2022...
狱中一年瘦脱相,被释放的巴勒斯... 曾为巴勒斯坦媒体工作的记者阿里·萨穆迪在以色列监狱被关押一年后,于4月30日获释。获释当天,萨穆迪的...
俄罗斯红场阅兵战士齐呼乌拉 当地时间5月9日10时(北京时间15时),俄罗斯纪念卫国战争胜利81周年阅兵在莫斯科红场举行。俄罗斯...
福建一地发现华南虎?当地辟谣:... 近日,福建龙岩漳平市,有网民称,“三重岭发现华南虎”,还配了一张老虎夜间出没山林的图片。这位网民表示...
俄红场阅兵现场播放无人机作战视... 据凤凰卫视报道,当地时间5月9日,俄罗斯胜利日阅兵式在莫斯科举行。阅兵现场,同步播放了无人机作战相关...
5月10日起,北京部分地铁线试... 为服务骑行爱好者携车出行,在借鉴国内先进城市成熟经验、深入开展实地调研的基础上,结合本市轨道交通运营...
解放军主战舰艇编队进入澎湖西南... 5月9日下午,国防部新闻局副局长、国防部新闻发言人蒋斌大校就近期涉军问题发布消息。媒体提到,据报道,...
普京会见三国总统 强化后苏联空... 普京会见三国总统  【普京会见三国总统】莫斯科5月8日电​ 当地时间5月8日,俄罗斯总统普京在莫斯科...