当镜像里面的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
这时候还会出现一个错误,就是它
我们系统自动安装的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的编译
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
尝试启动
由上图可以看出安装成功。
加入开机启动
chkconfig --add httpd
chkconfig httpd on
那这个样子apache就算安装完成了。
如果大家需要http的源码安装包,和补丁包,这里有