APACHE的源码包安装及脚本控制

 

源码包的下载

作为一款优秀的开源软件,大家可以直接去apache的官方网站下载最新的源码包,地址如下:http://www.apache.org/

源码安装原因主要有:
1.源码安装可以获得最新的,没有被编译,配置的源代码。
2.实现自定义的各种软件的配置及功能。

源码包的解压缩:
从网站下载完各种我们需要的源码包之后,会发现其名称基本有两种格式:
1. .tar.gz  2.  .tar.bz2
以上两种分别是用.tar工具打包之后用.gz或.bz2压缩工具进行压缩后的文件

源码包的展开:
对于两种不同的压缩方式,linux终端及shell提供了不同的解压缩参数,但在展开之前,我们要先运行及设置厂商提供的环境检测及预编译工具:./configrue,而在配置。/configure之前我们要先搭建本地的预编译环境,安装相关的软件包及包组


安装预编译环境所需的其他软件包c5版本下一般包括:development librarise ,legacy development ,x software development ,和 development tools


在使用yum安装之前我们要先看一下本地的/etc/yum.repos.d/CentOS-Media.repo,因为centos5版本和6版本是有区别的,5版本的默认baseurl并不在/mnt/cdrom下而在/media/cdrom 中如下图所示:
apache服务器的源码安装

修改

apache服务器的源码安装

那么挂载完光驱之后我们就可以启用本地的yum库进行./configure的环境搭建了:
安装预编译环境所需的其他软件包c5版本下一般包括:development librarise ,legacy development ,x software development ,和 development tools

development librarise:

apache服务器的源码安装

legacy development:

apache服务器的源码安装

 

 

x software development:apache服务器的源码安装
development tools:

apache服务器的源码安装

在此之前我们有必要说以下apache服务器,作为一款优秀的多平台,可移植特性,apache这些功能的实现需要依赖于另外两款软件包的支持,他们分别是apr和apr-util,本例中的版本是apr-1.4.6.tar.gz和apr-util-1.5.1.tar.gz
然后进行解压缩的工作,用: 
tar -zvxf apr-1.4.6.tar.gz -C  目标路径(如图中的/usr/local/src/)

apache服务器的源码安装tar -jvxf apr-1.4.6.tar.bz2 -C  目标路径(如图中的/usr/local/src/)

apache服务器的源码安装


注意源码包不同,对应的的解压参数也不同,-zvxf对应的是.gzip(工具)格式压缩的解压缩,而.jxvf(工具)对应的是.bzip2格式


进入我们的解压后存放的路径:/usr/local/src,进入后会看到如下的显示:

apache服务器的源码安装

因为apr-util是依赖于apr而工作的。所以我们要先进行apr的相关配与安装,步骤为:先进入apr-1.4.6目录,然后在该目录下执行./configure --prefix=想要安装的路径,(注意./congfigure必须在相关的解压路径目录下进行执行,如源码包解压在/usr/local/src/下,那么解压出一系列相关文件就会在对应的自动生成目录下,而./configure的预编译检测就需要和依赖于这些文件,执行./configure必须在那些文件的父目录中),执行./configure,如图

apache服务器的源码安装

 

在环境生成后,接下来我们要用make指令来进行相关的编译以用于下一步的安装,(注意:makefile文件时在预编时既./configure时生成的,然后再用make进行自动维护编译工作)如图:

 

apache服务器的源码安装


然后接着makeinstall(也可两条指令放一块,中间用&&连接)如上图

 

可以看到/usr/local/src/apr2/lib下有很多库文件,如果别的程序想要依赖使用这些库文件,就需要将/usr/local/src/apr2/lib写入到/etc/ld.so.conf.d中。(因为系统的默认库文件是在/usr/bin下),在/etc/ld.so.conf.d下添加apr2.conf文件,

apache服务器的源码安装

 并将/usr/local/src/apr2/lib写入。保存退出。

 

apache服务器的源码安装

然后用ldconfig,将我们的新文件重新读取刷入缓存中:

apache服务器的源码安装

然后查看刷入的结果

apache服务器的源码安装

apache服务器的源码安装

 

接下来就是安装apr-util-1.5.1-tar.gz,与安装apr类似,先执行./configure --prefix=想要安装的路径,不同的是因为apr-util依赖于apr,所以后面要用--with来指明对apr的依赖,并写出具体依赖路径,如图:apache服务器的源码安装

 

apache服务器的源码安装

接着是make和make install:

apache服务器的源码安装

apache服务器的源码安装

 

apache服务器的源码安装

同样的可以看到在该目录下生成了很多的头文件,如果有别的程序需要依赖/usr/local/src/apr-util2/include/arp-1中的头文件,就需要创建链接。
创建链接到/usr/local/src/apr-util2/include/apr-1  命令为ln -s /usr/local/src/apr-util2/include/apr-1 apr-util2

(此处为链接名称),注意该命令必须在/usr/inlcude下执行(因为系统默认头文件路径在/usr/include/下)

apache服务器的源码安装

 

apache服务器的源码安装

 


接下来安装图示三个源码中的第三个httpd-2.4.4
进入相关路径,然后执行./configure --prefix=想要安装的路径 --with-apr=/usr/local/src/apr2/bin/apr-1-config  --with-apr-util=/usr/local/src/apr-util2/include/apr-1
这时我们在安装httpd-2.4.4这个包时,在前面我们已经说过他要依赖于apr产生的库文件和apr-util产生的头文件,所以在安装路径后我们要用--with来指明他的依赖关系,(这是要注意先后顺序,既apr-util依赖于apr,httpd依赖于apr)

 

apache服务器的源码安装

 

这时你会发现有报错的地方:

 

apache服务器的源码安装

 

pcre为一种正则表达式的兼容库,
此时我们可以用rpm -qlp /media/cdrom/CentOS/来查看一下关于pcre的相关软件包信息这时会看到一个关于pcre-devel的包,这个包中往往包含了一些共享库和配置文件,而我们需要安装的就是这个,这时我们可以用rpm -qlp /media/cdrom/CentOS/pcre-devel.i386.rpm | cat查看这些未安装的软件包在安装时的路径信息:

apache服务器的源码安装


然后安装这个包:

apache服务器的源码安装

 

再返回httpd-2.4.4目录下,重新执行一下./configure --prefix=想要安装的路径 --with-apr=/usr/local/src/apr2/bin/apr-1-config  --with-apr-util=/usr/local/src/apr-util2/include/apr-1 命令

apache服务器的源码安装

 

然后接着是make和make install:

apache服务器的源码安装

 

apache服务器的源码安装

 

完成之后,我们进入之前的指定目录下,可以看到如下的一系列目录:

apache服务器的源码安装

 

 

 

同样的我们要将产生的头文件链接到/usr/include中去

apache服务器的源码安装

 

为了方便以后的服务启用方便我们要将当前目录下的httpd加入到搜所路径中去,

编辑环境文件。每次执行不必到安装目录中去执行了。

apache服务器的源码安装

 

更新profile文件。查看PATH变量,

apache服务器的源码安装

 

然后将相关的man手册加入到系统指定的搜索路径/etc/man.config中去

 

并将MANPATH变量中再加入一条/usr/local/src/apache/man/:

apache服务器的源码安装

 

进入/bin目录下会看到一个httpd的可执行文件,在当前目录下输入./httpd即可启动apache服务,如图示 

 

会发现服务及端口已经启用

apache服务器的源码安装

然后我们打开浏览器,输入服务器的ip地址会看到如下的工作页面

 

apache服务器的源码安装

 

 

为了方便我们以后服务开启及查看的方便我们还可以编写他们的控制脚本

并加入相应的可执行权限:

apache服务器的源码安装

 编写内容如下

 

apache服务器的源码安装

 

apache服务器的源码安装

 

 

然后进行相关测试,看是否正常:

 

apache服务器的源码安装

 

apache服务器的源码安装