环境:centos-6.4-x86_64


挂载光盘

173041321.jpg

进入/etc/yum.repos.d/编辑CentOS-Media.repo文件

173051772.jpg

修改至如下所示:

173212286.jpg

yum搜索系统已经安装和未安装的工具

173253289.jpg

其中需要安装的有这两个:AdditionalDevelopment

                       Developmenttools

安装AdditionalDevelopment

173256271.jpg

安装Developmenttools

173302772.jpg

解压htppd-2.4.4.tar.bz2

173312614.jpg

解压之后要给安装包指定安装目录/usr/local/apache

如果采用默认的话会安装在/usr/local/apache2

173357928.jpg

安装之后发现报错,需要APR相关的包

解压apr-1.4.6.tar.gz以及apr-util-1.5.1.tar.gz

173405688.jpg

173417993.jpg

apr指定安装目录

173427398.jpg

执行make 成功后执行make install命令

173435835.jpg

创建一个apr.conf.文件使别的程序能够找到apr产生的库文件

175404617.jpg

并在此文件中写入如下路径:

175406123.jpg

将此文件刷入缓存:

175418275.jpg

apr产生的头文件建立一个链接:

175435470.jpg

到这apr安装完成,接下来安装apr-util:

175447957.jpg

指定apr-util安装路径:

175451851.jpg

然后执行make命令:

175454830.jpg

然后make install:

175457408.jpg

创建apr-util.conf并写入库文件路径:

175537465.jpg

175549257.jpg

给apr产生的库文件建立一个链接:

175551570.jpg

指明httpd安装路径:

175555701.jpg

发现提示错误:

175601153.jpg

根据错误提示,有可能是没有安装与pcre-config相关的包,然后去磁盘上查看一下有无此包:

175608384.jpg

发现目录里有一个pcre-devel这个包是一个开发包,里边含有一些库文件和配置文件,查看一下其中有无pcre-config

175611784.jpg

结果如下:

175612595.jpg

发现其中有一个pcre-config文件,所以把这个包安装一下:

175613616.jpg

继续执行./configure命令:

175613562.jpg

执行make命令:

175614782.jpg

以及make install命令:

175614574.jpg

进入/usr/local/apache/目录下发下所有文件都已生成:

175616862.jpg

给生成的库文件建立一个链接:

175617558.jpg

为了使当前目录下的bin中的二进制文件能够随时被别的程序调用,需要改变它的环境变量:

175618586.jpg

在其中第54行添加一行代码:

175619449.jpg

由于这个文件必须在下次登录才能启用,所以要重新把这个文件读取一下:

175619773.jpg

编辑/etc/man.config

175620872.jpg

在其中添加一行:

175621871.jpg

运行httpd:

175622609.jpg

已经可以运行。

编写控制脚本更加方便httpd服务的开启与关闭:

/etc/init.d/新建httpd文件:

175623488.jpg

脚本代码如下:

#!/bin/bash

[ -e /etc/init.d/functions ] && ./etc/init.d/functions

prog=/usr/local/apache/bin/httpd

lockfile=/var/lock/subsys/httpd


start () {

      if [ -e $lockfile ];then

      echo "the httpd is started"

      else

      echo "the httpd is starting......"

      sleep 1

       $prog && echo "[ok]" && touch $lockfile || echo "failer"

      fi



}


stop () {

      if [ ! -e $lockfile ];then

      echo " the httpd is stoped"

      else

      echo "the httpd is stopping......"

      sleep 1

      killproc httpd && echo "[ok]" && rm -rf$lockfile || echo "failer"

      fi


}


status () {

      if [ -e $lockfile ];then

      echo " the httpd isstarted"

      else

      echo " the httpd is stoped"


      fi


}



case "$1" in


start)

      start

      ;;

stop)

      stop

      ;;

status)

      status

      ;;

restart)

      stop

      start

      ;;

*)

      echo "USAGE:start|stop|status|restart"

esac

运行结果如下:

175624713.jpg

运行成功!