设为首页 收藏本站
查看: 754|回复: 0

[经验分享] 编译安装httpd2.4,配置httpd服务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-29 13:49:06 | 显示全部楼层 |阅读模式
1.安装apr,apr-utils,pcre-devel和openssl-devel

[iyunv@wh1 ~]# tar xf apr-1.5.1.tar.gz

[iyunv@wh1 ~]# tar xf apr-util-1.5.3.tar.gz

[iyunv@wh1 apr-1.5.1]# cd apr-1.5.1

[iyunv@wh1 apr-1.5.1]# ./configure --prefix=/usr/local/apr

[iyunv@wh1 apr-1.5.1]# make && make install

[iyunv@wh1 apr-1.5.1]# cd ../apr-util-1.5.3

[iyunv@wh1 apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[iyunv@wh1 apr-util-1.5.3]# make&& make install

[iyunv@wh1 httpd-2.4.10]# yum install pcre-devel

[iyunv@wh1 httpd-2.4.10]# yum install openssl-devel


2.安装httpd

[iyunv@wh1 ~]# tar xf httpd-2.4.10.tar.gz

[iyunv@wh1 ~]# cd httpd-2.4.10

[iyunv@wh1 httpd-2.4.10]#./configure--prefix=/usr/local/apache\>  \

>--sysconfdir=/etc/httpd24 \

> --enable-so \

> --enable-ssl \

> --enable-cgi \

> --enable-rewrite \

> --with-zlib  \

> --with-apr=/usr/local/apr \

> --with-apr-util=/usr/local/apr-util/ \

> --enable-mpms-shared=all  \

> --with-mpm=event \

> --enable-modules=most

[iyunv@wh1 httpd-2.4.10]# make && make install

为httpd24提供启动脚本

[iyunv@wh1 httpd24]# cat /etc/rc.d/init.d/httpd24

#!/bin/bash

#

# httpd24        Startup script for the Apache HTTP24 Server

#

# chkconfig: - 85 15

# description: Apache is a World Wide Web server.  It is used to serve \

#        HTML files and CGI.

# processname: httpd24

# config: /etc/httpd24/conf/httpd24.conf

# config: /etc/sysconfig/httpd24

# pidfile: /var/run/httpd24.pid



# Source function library.

. /etc/rc.d/init.d/functions



if [ -f /etc/sysconfig/httpd24 ]; then

        . /etc/sysconfig/httpd24

fi



# Start httpd24 in the C locale by default.

HTTPD_LANG=${HTTPD_LANG-"C"}



# This will prevent initlog from swallowing up a pass-phrase prompt if

# mod_ssl needs a pass-phrase from the user.

INITLOG_ARGS=""



# Set HTTPD=/usr/sbin/httpd24.worker in /etc/sysconfig/httpd24 to use a server

# with the thread-based "worker" MPM; BE WARNED that some modules may not

# work correctly with a thread-based MPM; notably PHP will refuse to start.



# Path to the apachectl script, server binary, and short-form for messages.

apachectl=/usr/local/apache/bin/apachectl

httpd24=${HTTPD-/usr/local/apache/bin/httpd}

prog=httpd24

pidfile=${PIDFILE-/var/run/httpd24.pid}

lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

RETVAL=0



start() {

        echo -n $"Starting $prog: "

        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd24 $OPTIONS

        RETVAL=$?

        echo

        [ $RETVAL = 0 ] && touch ${lockfile}

        return $RETVAL

}



stop() {

  echo -n $"Stopping $prog: "

  killproc -p ${pidfile} -d 10 $httpd24

  RETVAL=$?

  echo

  [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}

}

reload() {

    echo -n $"Reloading $prog: "

    if ! LANG=$HTTPD_LANG $httpd24 $OPTIONS -t >&/dev/null; then

        RETVAL=$?

        echo $"not reloading due to configuration syntax error"

        failure $"not reloading $httpd24 due to configuration syntax error"

    else

        killproc -p ${pidfile} $httpd24 -HUP

        RETVAL=$?

    fi

    echo

}



# See how we were called.

case "$1" in

  start)

  start

  ;;

  stop)

  stop

  ;;

  status)

        status -p ${pidfile} $httpd24

  RETVAL=$?

  ;;

  restart)

  stop

  start

  ;;

  condrestart)

  if [ -f ${pidfile} ] ; then

    stop

    start

  fi

  ;;

  reload)

        reload

  ;;

  graceful|help|configiyunv|fullstatus)

  $apachectl $@

  RETVAL=$?

  ;;

  *)

  echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configiyunv}"

  exit 1

esac



exit $RETVAL

添加到启动项并启动服务

root@wh1 httpd24]# chkconfig --add httpd24

[iyunv@wh1 httpd24]# chmod +x /etc/rc.d/init.d/httpd24

[iyunv@wh1 httpd24]# chkconfig httpd24 on

[iyunv@wh1 httpd24]# service httpd24 start

Starting httpd24: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using wh1.mageedu.com. Set the 'ServerName' directive globally to suppress this message

                                                          [  OK  ]

3. 安装后配置

[iyunv@wh1 profile.d]# vim httpd24.sh

PATH=/usr/local/apache/bin:$PATH

[iyunv@wh1 etc]# vim man.config

MANPATH /usr/local/apache/man

[iyunv@wh1 httpd24]# vim httpd.conf

PidFile "/var/run/httpd24.pid"


4. 搭建基于IP的虚拟主机

[iyunv@wh1 extra]# vim /etc/httpd24/httpd.conf

Include /etc/httpd24/extra/httpd-vhosts.conf

[iyunv@wh1 extra]# cat httpd-vhosts.conf

<VirtualHost 172.16.21.250:80>

    DocumentRoot "/web/172"

    ServerName www.iyunv.com

</VirtualHost>

<Directory /web/172>

    Require all granted

</Directory>

<VirtualHost 192.168.1.123:80>

    DocumentRoot "/web/192"

    ServerName www.iyunv.com

</VirtualHost>

<Directory /web/192>

    Require all granted

</Directory>

[iyunv@wh1 extra]mkdir -p /web/{192,172}

[iyunv@wh1 extra]echo "Access from 192" >/web192/index.html

[iyunv@wh1 extra]echo "Access from 172" >/web/172/index.html

#重启服务

    [iyunv@wh1 extra]# service httpd24 restart

#验证

[iyunv@wh1 extra]# curl 192.168.1.123

Access from 192

[iyunv@wh1 extra]# curl 172.16.21.250

Access from 172


5. 搭建基于端口的虚拟主机

[iyunv@wh1 extra]# cat httpd-vhosts.conf

Listen 8080

<VirtualHost 172.16.21.250:80>

    DocumentRoot "/web/80"

    ServerName www.iyunv.com

</VirtualHost>

<Directory /web/80>

    Require all granted

</Directory>



<VirtualHost 172.16.21.250:8080>

    DocumentRoot "/web/8080"

    ServerName www.iyunv.com

</VirtualHost>

<Directory /web/8080>

    Require all granted

</Directory>

[iyunv@wh1 extra]# mkdir -v /web/{80,8080}

[iyunv@wh1 extra]# echo "Access from port8080" >/web/8080/index.html

[iyunv@wh1 extra]# echo "Access from port80" >/web/80/index.html

#重启服务

[iyunv@wh1 extra]# service httpd24 restart

#验证

[iyunv@wh1 extra]# curl 172.16.21.250:8080

Access from port8080

[iyunv@wh1 extra]# curl 172.16.21.250:80

Access from port80


6.搭建基于域名的虚拟主机

#在httpd2.2版本定义基于域名的虚拟主机时,需要加入如下现象,在2.4则不再需要,直接定义即可

#NameVirtualHost IP:PORT

[iyunv@wh1 extra]# vim httpd-vhosts.conf

<VirtualHost 172.16.21.250:80>

    DocumentRoot "/web/80"

    ServerName www1.iyunv.com

</VirtualHost>

<Directory /web/www1>

    Require all granted

</Directory>



<VirtualHost 172.16.21.250:80>

    DocumentRoot "/web/80"

    ServerName www2.iyunv.com

</VirtualHost>

<Directory /web/www2>

    Require all granted

</Directory>

#由于没有DNS服务器,方便起见,在/etc/host中添加以下两行

172.16.21.250  www1.iyunv.com

172.16.21.250  www2.iyunv.com

#验证

[iyunv@wh1 extra]# curl www1.iyunv.com

www1.iyunv.com

[iyunv@wh1 extra]# curl www2.iyunv.com

www2.iyunv.com

源代码下载地址:

Apr:http://mirrors.cnnic.cn/apache//apr/apr-1.5.1.tar.gz

Apr-util:http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.3.tar.gz

httpd:http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.10.tar.gz

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-132346-1-1.html 上篇帖子: Apache禁止IP直接访问,只允许域名访问 下篇帖子: apache的rewrite_module模块加载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表