当镜像里面的rpm包不能满足我们更高版本的apache的应用的时候,我们可以通过官网下载源码,进行安装最新版本的apache

首先准备好我们需要用的源码包

httpd-2.4.4.tar.bz2

tar -zxvf httpd-2.4.4.tar.bz2  -C /usr/local/src/

解压后开始编译

初现错误

安装apr的开发包

[root@localhost httpd-2.4.4]# yum installapr-devel

这时候还会出现一个错误,就是它

519dc0f75abd1.jpg

我们系统自动安装的apr满足不了这个高版本的apache,所以我们直接用下载好的源码安装。

apr-1.4.6.tar.gz

然后直接解压安装

tar -zxvf apr-1.4.6.tar.gz  -C /usr/local/src/

cd /usr/local/src/apr-1.4.6/

./configure

Make

makeinstall

在安装完这个之后,由于apr依赖于apr-util,所以我们还必须安装apr-util

apr-util-1.4.1.tar.gz

tar -zxvf apr-util-1.4.1.tar.gz  -C /usr/local/src/

cd /usr/local/src/apr-util-1.4.1/

由于安装apr-util 需要找到apr的安装目录,所以我们为它指定

./configure--with-apr=/usr/local/apr/bin/apr-1-config

开始编译

Make

Make install

这两部完成后我们继续安装apache

注意我们需要将apr的安装目录指示给apache,以便apache去调用它不然它找不到的话还是安装不成功。

这样开始安装又出现一个缺少pcre的文件,那我们继续安装pcre的开发包

Yum install pcre-devel

继续apache的编译

519dc0f7a473e.jpg

Make  make install

然后编写一个控制文件,控制apache的启动

控制文件

#!/bin/bash

#description:httpd server

#chkconfig:- 88 90

HTTPD='/usr/local/apache/bin/httpd'

CONFFILE='/etc/httpd/httpd.conf'

start(){

[ -f /var/lock/subsys/httpd ] && echo"apache is started" && exit

 echo -n "Starting apache...... "

     sleep 1

$HTTPD -f $CONFFILE && RETVAL=0||RETVAL=1

       [ $RETVAL -eq 0 ]&& touch/var/lock/subsys/httpd && echo "ok" || echo "fail"

}

stop() {

[ ! -f /var/lock/subsys/httpd ] &&echo "apache is stoped" && exit

 echo -n "Stoping apache...... "

     sleep 1

/bin/rm-rf /var/lock/subsys/httpd

$HTTPD -k stop && RETVAL=0 ||RETVAL=1

       [ $RETVAL -eq 0 ] && rm -rf/var/lock/subsys/httpd && echo "ok" || "fail"

}

case"$1" in

start)

       start

       ;;

 stop)

       stop

       ;;

#  status)

#      status -p ${pidfile} $httpd

 #     RETVAL=$?

  #    ;;

 restart)

       stop

       start

       ;;

   *)

  echo "start|stop|restart"    

  ;;

Esac

尝试启动

519dc0f7c0877.jpg

519dc0f7e17e1.png

由上图可以看出安装成功。

加入开机启动

chkconfig  --add httpd

chkconfig httpd on

519dc0f80d532.jpg

那这个样子apache就算安装完成了。

如果大家需要http的源码安装包,和补丁包,这里有