Apache源码编译安装详解

时间:2024-03-31 09:18:28

一、Apache含义

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。


二、yum源的配置

1、yum的定义:

yum = Yellowdog Updater Modified,是一款与rpm包管理工具相似的程序包前端管理工具,且具有能自动解决rpm包安装时的依赖关系,更方便的安装、删除、更新RPM包。


2、yum配置客户端信息:

配置文件格式由两段组成:1、[main] 2、[repo]

通常主配置段不建议更改;可以进行仓库段的配置;主配置为/etc/yum.conf;配置仓库段直接在/etc/yum.repo.d/目录下新建一个以.repo为后缀的文件,写入配置信息即可;repo配置列表:


[repo_ID]
仓库名称
name=String
定义yum仓库的完整描述信息
baseurl=PATH
仓库的访问路径
enabled={1|0}
是否启用此仓库;1启用,0禁用;默认启用
gpgcheck={1|0}
是否检查包来源合法性及完整性;1检查,0不检查
gpgkey=PATH
公钥文件路径(可以在本地,也可以是在服务器端的路径)
cost=Number
定义此仓库的开销,默认为1000,值越小越优先使用


3、配置yum仓库

可以自行配置yum仓库,也可以直接下载已经做好的yum仓库使用;例如;自行配置:

Apache源码编译安装详解


或者也可以google下开源镜像,有很多如科大的、sohu、163...,直接mv到/etc/yum.repo.d/下;原来如有,请先备份下原来的yum仓。例如:再下载个网易163配置好的:

Apache源码编译安装详解

如更换了yum源仓库,先更新下缓存:#yum makecache


配置完成后,用yum查看开发工具包组和gcc、make编译器是否安装:

Apache源码编译安装详解

Apache源码编译安装详解

如上都是安装的,后续如还有编译时依赖的包再使用yum来安装。

然后下载apache源码包,可以去官网 http://httpd.apache.org/  根据自己的需要进行下载。


三、编译安装的基本步骤

1、执行./configure脚本

这一步是检查编译环境是否符合编译需求,并定义当前程序编译时启用哪个特性或功能,以及安装路径的定义等等;如果程序所需的库文件不完全,该设置脚本就会退出,并告诉你还需要哪些库文件或是哪些版本太旧需要更新。具体的参数可以./configure --help来查看,有详细的说明;


2、执行make命令进行编译

make是一个源代码项目管理工具,通过configure脚本执行结合automake生成的makefile文件来作为make命令的配置文件。可以让make自身可以自动调用gcc编译器来完成自动解决依赖关系。


3、执行make install命令安装

上面两步都完成后即可执行make install命令来安装,这步骤可以看到拷贝程序中的文件至系统中,这也要去应该用root去执行,否则可能会权限不足。


4、配置程序的配置文件及路径

由于是编译安装,其中程序的可执行文件、库文件、头文件、man文档等都不会被系统读取,需要对路径进行配置,让系统可以读取到。


四、编译安装

查看httpd是否已经安装,如安装先卸载:

Apache源码编译安装详解

这里显示没有安装。


1、下载安装包解压

官网地址:这里选择httpd-2.4.7测试,下载完成后解压,然后cd进httpd目录;

Apache源码编译安装详解

Apache源码编译安装详解


查看INSTALL这个安装帮助文档,里面有安装步骤:

Apache源码编译安装详解

了解这些后,可以正式的编译安装了;


2、编译安装

执行:

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd/httpd.conf --enable-so

Apache源码编译安装详解


出现报,需要安装APR-1.4.0及以上的版本,系统上yum安装的为1.3.9的,到apache官网提供的源码包地址下载: http://www.apache.org/dyn/closer.cgi

Apache源码编译安装详解

下载1.5.0一样是源码需要编译安装,编译安装完成后在重新执行./configure的脚本:

Apache源码编译安装详解


需要在./configure后指定所依赖的apr功能选项;

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --with-included-apr --with-apr=/usr/local/apr/

执行再次出现报错:

Apache源码编译安装详解


大致是说需要把apr和apr-util下载下来并解压到./srclib/.下在执行:

Apache源码编译安装详解

完成后重新执行./configure脚本和make && make install。这个过程时间有点长...需要耐心等待,期间无报错信息,实验过程中注意查看是否还有报错信息。


对于上述报错其实安装文档已有说明,因为没有仔细看才导致的,所以说编译安装程序前还是需要阅读下安装文档可以避免很多错误的。

Apache源码编译安装详解


3、安装完成后需要对其进行一些路径的配置

1、先配置二进制程序的环境变量,在/etc/profile.d/下新建一个apache.sh的脚本,键入PATH路径:

#vi /etc/profile.d/apache.sh

Apache源码编译安装详解

保存后重读下配置文件# . /etc/profile.d/apache.sh


2、再导出头文件给系统PATH:对/usr/local/apache/include作个软连接到/usr/include:

Apache源码编译安装详解


3、对lib库文件进行配置PATH:#vi /etc/ld.so.conf.d/httpd.conf

Apache源码编译安装详解

ldconfig刷新下库文件


4、最后配置下man文档的地址:#vi /etc/man.conf;这一步测试不添加路径也是可以man到的;但是建议添加。

Apache源码编译安装详解


至此配置路径等文件已完成


4、启动apache进行测试

由于之前都已配置好PATH,所以可以直接执行:#apachectl start

Apache源码编译安装详解

在网页中输入虚拟机的IP访问测试:

Apache源码编译安装详解

出现 It works!说明已安装启动成功!



本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1363919,如需转载请自行联系原作者