magic 发表于 2015-8-3 13:17:26

安装Apache HTTP Server

  



操作系统:CentOS 5.5
软件版本:Apache HTTP Server (httpd) 2.2.17


  1.获取源代码
  



# wget http://labs.renren.com/apache-mirror//httpd/httpd-2.2.17.tar.gz
# tar xzvf httpd-2.2.17.tar.gz




  2.编译并安装
  



# ./configure    --prefix=/usr/local/apache2 --enable-mods-shared="ssl proxy"
# make;make install

  configure的参数:
  --prefix          指定安装的路径。
  --enable-mods-shared   编译并启用指定的功能模块。如果出现找不到相关library的错误,请安装对应的devel

  3.创建服务脚本
  /etc/init.d/httpd:
  



#!/bin/bash
#
# httpd      startup script for the Apache HTTP Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server.It is used to serve \
#            HTML files and CGI.
# processname: httpd
# config: /usr/local/apache2/conf/httpd.conf# Source function library.. /etc/rc.d/init.d/functions
# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.INITLOG_ARGS=""# Path to the apachectl script, server binary, and short-form for messages.apachectl=/usr/local/apache2/bin/apachectl
httpd=/usr/local/apache2/bin/httpd
prog=httpd
lockfile=/var/lock/subsys/httpd
RETVAL=0# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure.So we just do it the way init scripts
# are expected to behave here.start() {
      echo -n $"Starting $prog: "
      daemon $httpd
      RETVAL=$?
      echo
      [ $RETVAL=0 ] && touch ${lockfile}return$RETVAL
}
# When stopping httpd a delay of >10 second is required before SIGKILLing the
# httpd parent; this gives enough time for the httpd parent to SIGKILL any
# errant children.stop() {
      echo -n $"Stopping $prog: "
      killproc -d 10$httpd
      RETVAL=$?
      echo
      [ $RETVAL=0 ] && rm -f${lockfile}
}
reload() {
    echo -n $"Reloading $prog: "if!$httpd-t >&/dev/null; then
      RETVAL=$?
      echo $"not reloading due to configuration syntax error"
      failure $"not reloading $httpd due to configuration syntax error"else
      killproc $httpd-HUP
      RETVAL=$?
    fi
    echo
}
# See how we were called.case "$1"in
start)
      start
      ;;
stop)
      stop
      ;;
status)
      status $httpd
      RETVAL=$?
      ;;
restart)
      stop
      start
      ;;
condrestart)
      stop
      start
      ;;
reload)
      reload
      ;;
graceful|help|configtest|fullstatus)
      $apachectl$@
      RETVAL=$?
      ;;
*)
      echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
      exit 1
esac
exit $RETVAL


  4.注册并启动服务
  



# chkconfig --add httpd
# chkconfig --level 3 httpd on# service httpd start
页: [1]
查看完整版本: 安装Apache HTTP Server