环境:centos-6.4-x86_64


挂载光盘

centos环境下下httpd服务基于源码的安装_centos

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

centos环境下下httpd服务基于源码的安装_安装_02

修改至如下所示:

centos环境下下httpd服务基于源码的安装_centos_03

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

centos环境下下httpd服务基于源码的安装_centos_04

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

                       Developmenttools

安装AdditionalDevelopment

centos环境下下httpd服务基于源码的安装_centos_05

安装Developmenttools

centos环境下下httpd服务基于源码的安装_centos_06

解压htppd-2.4.4.tar.bz2

centos环境下下httpd服务基于源码的安装_安装_07

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

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

centos环境下下httpd服务基于源码的安装_centos_08

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

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

centos环境下下httpd服务基于源码的安装_centos_09

centos环境下下httpd服务基于源码的安装_httpd_10

apr指定安装目录

centos环境下下httpd服务基于源码的安装_安装_11

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

centos环境下下httpd服务基于源码的安装_安装_12

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

centos环境下下httpd服务基于源码的安装_httpd_13

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

centos环境下下httpd服务基于源码的安装_安装_14

将此文件刷入缓存:

centos环境下下httpd服务基于源码的安装_httpd_15

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

centos环境下下httpd服务基于源码的安装_httpd_16

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

centos环境下下httpd服务基于源码的安装_centos_17

指定apr-util安装路径:

centos环境下下httpd服务基于源码的安装_安装_18

然后执行make命令:

centos环境下下httpd服务基于源码的安装_centos_19

然后make install:

centos环境下下httpd服务基于源码的安装_httpd_20

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

centos环境下下httpd服务基于源码的安装_安装_21

centos环境下下httpd服务基于源码的安装_安装_22

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

centos环境下下httpd服务基于源码的安装_httpd_23

指明httpd安装路径:

centos环境下下httpd服务基于源码的安装_httpd_24

发现提示错误:

centos环境下下httpd服务基于源码的安装_centos_25

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

centos环境下下httpd服务基于源码的安装_centos_26

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

centos环境下下httpd服务基于源码的安装_安装_27

结果如下:

centos环境下下httpd服务基于源码的安装_centos_28

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

centos环境下下httpd服务基于源码的安装_centos_29

继续执行./configure命令:

centos环境下下httpd服务基于源码的安装_httpd_30

执行make命令:

centos环境下下httpd服务基于源码的安装_centos_31

以及make install命令:

centos环境下下httpd服务基于源码的安装_安装_32

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

centos环境下下httpd服务基于源码的安装_httpd_33

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

centos环境下下httpd服务基于源码的安装_安装_34

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

centos环境下下httpd服务基于源码的安装_centos_35

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

centos环境下下httpd服务基于源码的安装_centos_36

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

centos环境下下httpd服务基于源码的安装_安装_37

编辑/etc/man.config

centos环境下下httpd服务基于源码的安装_centos_38

在其中添加一行:

centos环境下下httpd服务基于源码的安装_安装_39

运行httpd:

centos环境下下httpd服务基于源码的安装_centos_40

已经可以运行。

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

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

centos环境下下httpd服务基于源码的安装_centos_41

脚本代码如下:

#!/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

运行结果如下:

centos环境下下httpd服务基于源码的安装_安装_42

运行成功!