源码安装

源码安装:

http2.4源码安装:

1> httpd-2.4.4.tar.bz2解压到指定目录/usr/local/src下,

# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src

#cd  /usr/local/src  进入该目录

查看该目录下的INSTALL  #less INSTALL  可以看到该文件的安装引导方法。

200709893.png

在看一下configure文件(由该软件开发商提供)#./configure  --help |less 查看一下跟多选项。

--sysconfdir=DIR       read-only single-machine data [PREFIX/etc]  需指明目录(配置文件)

--with-ssl=PATH        OpenSSL installation directory     套接层需指明目录

--with-apr=PATH        prefix for installed APR or the full path toapr-config运行库需指明

201040136.png

可以看出在编译过程中需进行检测,最后一行看到我们APR...不具备。

#rpm -qa |grep  -i apr (-i 不区分大小写)

看到系统中都装了,为什麽都不认啊。可能是库文件没有被安装,库文件一般都是在 apr-devel 中,装一下这个软件包:#rpm -ivh apr-util-devel-1.2.7-7.el5_3.2.i386.rpm --nodeps

--force

依然没成功,提示本版本比较低,应找到1.4以上版本才行。

#tar -zxvf apr-1.4<table> -C /usr/local/src

#tar -zxvf apr-util<table> -C /usr/local/src

#cd /usr/local/src/apr-1.<tab>   这目录下有README configure目录,我们先看readme

201216212.png

#./configure  --prefix=/usr/local/apr   生成许多makefile文件,这是生成的链接的

#make      

#make  install

#ll /usr/local/apr  可以看到bin的类文件和include头文件、lib库文件  

创建连接]# cd /usr/include  #ln -s /usr/local/apr/include/* .  #ldconfig  (更新缓存)

# ll |less  # vim /etc/ld.so.conf这个可以看到让我们去看这个文件# cd /etc/ld.so.conf.d/

创建一个文件 #vim  apr.conf

201337388.png

#ldconfig (更新缓存)# ldconfig -pv |grep apr (查看加载库文件)

接下来配置apr-util-1.5.1 文件

# cd /usr/local/src/apr-u<tab>/

# ./configure --prefix=/usr/local/apr-util

出现error APR could not be located. Please use the --with-apr option.)查看一下帮助

201456896.png

这告诉我们后面必须跟一个完整路径,带有apr-conf,这个必须查看ll /usr/local/src/apr

[root@localhost apr]# tree |less  可以找到apr-conf目录,

[root@localhost apr]# cd /usr/local/src/apr-util-1.5.1/

[root@localhost apr-util-1.5.1]# ./configure --help |grep apr

 --with-apr=PATH         prefix for installed APR or the full path to

                            apr-config

 --with-apr-iconv=DIR    relative path to apr-iconv source

[root@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

这样就开始安装#make     #make install

查看形成的文件 #ll /usr/local 看到apr-util 文件(可执行工具)

重新来到apache的源码目录 cd /usr/local/src/httpd-2.4.4/

再次执行]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache   可以看到有错误

这次比较明确了。

[root@localhost httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/

出现一个小问题:

201649965.png

pcre -config.... 上面说这个扩展库找不到,我们看一下是不是没装

[root@localhost httpd-2.4.4]# rpm -qa |grep pcre

pcre-6.6-2.el5_1.7

装上了,那就是那个devel 共享库的包安装上,应该就可以了。

安装好后在执行上面那个命令。

[root@localhost httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/

#make      #make  install

这就安装完成了,

有人会问要是想卸载怎么办?

我想说直接把生成的文件夹删掉就可以了。

继续按下面的命令走起就可以了,命令都比较简单的。

cd /usr/local/

cd bin/

./apachectl start

netstat   -tupln  |grep 80(查看80端口是否启动)

此时调用的是apachectl,那么我们想调用自己的脚本来启动apache呢?

那就写脚本吧。。

cd /etc/init.d

vim httpd

#!/bin/bash

#descriptionion: httpd server

#chkconfig:   -88  90

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

CONFFILE=’etc/httpd/httpd.conf’

. /etc/init.d/FUNCTIONS

start()  {

[-f   /var/lock/subsys/http ] && echo  “httpd  is starting....”

echo -n  “httpd   is starting......”

sleep 1

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

[$RETVAL   -eq  0] &&touch /var/lock/subsys/http && echo -e  “33[31m  [ok]  33[0m”||echo  -e  “33[31m   [fail]  33[0m”

}

stop (){

Echo -n  “httpd is stoping.....”

sleep 1

killproc  httpd  && RETVAL=0||RETVAL=1

[$RETVAL   -eq  0] && rm -rf  /var/lock/subsys/http ||echo  -e  “33[31m   [fail]  33[0m”

}

case $1  in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo “Usage:start|stop|restart”

;;

esac

chmod   a+x  httpd

chkconfig  --add httpd(把httpd服务设置开机自启动)

结束

这样我门的源码安装就完成,亲,记得给好评哦!我会更加努力的。