一、前言
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站制作、网站设计、外贸网站建设服务,我们努力开拓更好的视野,通过不懈的努力,创新互联建站赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,微信小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
为了更好地理解学习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