首页 > 代码库 > 马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10

马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10

目的:通过编译安装httpd, 掌握基于Linux环境下源代码编译安装程序的一般方法和步骤。

环境:

     操作系统:CentOS 6.5 

     内核版本:2.6.32-431.el6.i686

     软件版本:Apache HTTP Server 2.4.10

 

 

软件下载:

    1、Apache HTTP Server 2.4.10 (httpd): http://apache.dataguru.cn//httpd/httpd-2.4.10.tar.bz2

    2、Apache Portable Runtime 1.5.1: http://apache.dataguru.cn//apr/apr-1.5.1.tar.bz2

    3、APR-util 1.5.3: http://apache.dataguru.cn//apr/apr-util-1.5.3.tar.bz2

 

安装步骤:

    1、将下载好的httpd/apr/apr-util 的源代码上传到CentOS 6.5系统内

    2、解压 httpd-2.4.10.tar.bz2

# tar -xvf httpd-2.4.10.tar.bz2

    3、检查编译环境是否满足编译需求,指定安装路径: --prefix=/usr/local/apache-2.4.10  配置文件的路径:--sysconfdir=/etc/apache-2.4.10

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache-2.4.10 --sysconfdir=/etc/apache-2.4.10
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... configure: WARNING: APR version 1.4.0 or later is required, found 1.3.9
configure: WARNING: skipped APR at apr-1-config, version not
acceptable
no
configure: error: APR not found.  Please read the documentation.

        

    检查编译环境遇到错误,不符合httpd-2.4.10 编译需求。这里我还记得刚工作的时候一个老师说过,遇到错误是上帝给你解决问题和成长的机会。感谢上帝,接下来解决错误来满足编译的需求。当前系统提供的apr的版本是1.3.9,而编译时需要1.4.0或更新的版本。

     4、编译安装apr-1.5.1,指定安装路径: --prefix=/usr/local/apr1.5

# tar -xvf apr-1.5.1.tar.gz
# cd apr-1.5.1
# ./configure --prefix=/usr/local/apr1.5
# make
# make install

     5、编译安装apr-util-1.5.3,指定安装路径:--prefix=/usr/local/apr-util-1.5,指定所依赖的apr:--with-apr=/usr/local/apr1.5

# tar -xvf apr-util-1.5.3.tar.gz
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util-1.5 --with-apr=/usr/local/apr1.5
# make
# make install

    6、再次检查编译httpd-2.4.10时所需要的环境,指定编译时所需要的apr及apr-util

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache-2.4.10 --sysconfdir=/etc/apache-2.4.10 --with-apr=/usr/local/apr1.5 --with-apr-util=/usr/local/apr-util-1.5

    7、编译安装

# make
# make install

    8、配置httpd二进制程序的PATH环境变量

# vi /etc/profile.d/apache-2.4.10.sh
PATH=/usr/local/apache-2.4.10/bin:$PATH
export PATH
 
# source /etc/profile.d/apache-2.4.10.sh

    9、将httpd的头文件输出给系统

# ln -sv /usr/local/apache-2.4.10/include /usr/include/httpd

    10、库文件输出给系统

# vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apr1.5/lib
/usr/local/apr-util-1.5/lib
 
让系统重新生成库文件路径缓存
# ldconfig

    11、导出man 文件

# vim /etc/man.config
MANPATH /usr/local/apache-2.4.10/man

 

    12、启动Http Server

# apachectl start
# netstat -tnl | grep 80

    13、验证

http://Centos 6.5的IP地址/  会在网页里显示 It works!

           

 

总结:源代码编译安装的方法

     一、准备好开发环境,针对Centos 6.5,安装Development tools 和 Server Platform Development 两个包组。

    二、下载源代码,并解压

# tar -xvf package-version.tar.{gz|bz2|xz}

    三、切换至源代码目录中

# cd package-version

    四、执行configure 脚本

# ./configure

    五、编译

# make

    六、安装

# make install

    七、输出二进制程序、头文件、库文件和man文档给系统

            1)二级制程序输出

                在/etc/profile.d/目录下,创建一个以.sh结尾的脚本,内容如下:

                PATH=二进制程序所在的目录路径:$PATH

                export PATH

            2)头文件输出

                在/usr/include 目录下新建一个软链接文件,将链接文件指向头文件所在的目录。

                ln -s 头文件所在的目录 /usr/include/链接文件

            3)库文件输出

                在/etc/ld.so.conf.d目录下,创建一个以.conf结尾的文件,内容为库文件所在的目录。

                使用ldconfig命令让系统重新生成库文件路径缓存。

            4)man文档输出

                编辑/etc/man.config文件,新增一行,内容如下:

                 MANPATH    man文档的目录