系统版本:RedHat6.5

内核版本:2.6.32-431.el6.x86_64

1、安装httpd2.4版本的软件,首先需要安装apr和apr-util这两个软件包;

注意:apr和apr-util的版本,必须在1.5以上,否则会报错

[root@node1 ~]# ls
apr-1.5.2.tar.gz  apr-util-1.5.4.tar.gz  httpd-2.4.16.tar.gz

2、编译安装apr:

[root@node1 ~]# tar zxf apr-1.5.2.tar.gz
[root@node1 ~]# cd apr-1.5.2
[root@node1 apr-1.5.2]# ./configure --prefix=/usr/local/apr  注释:--prefix=/usr/local/apr:安装路径为/usr/local/apr
[root@node1 apr-1.5.2]# make && make install

编译安装完之后,用ls命令去/usr/local/apr目录下进行查看,确保它确实已经被安装了

[root@node1 apr-1.5.2]# ls /usr/local/apr/
bin  build-1  include  lib

3、编译安装apr-util:

[root@node1 ~]# tar zxf apr-util-1.5.4.tar.gz
[root@node1 ~]# cd apr-util-1.5.4
[root@node1 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/    注释:#--with-apr:告诉系统,apr在/usr/local/apr/下
[root@node1 apr-util-1.5.4]# make && make install

同样,用ls命令查看/usr/local/apr-util/目录,确保apr-util确实已经被安装了;

[root@node1 apr-util-1.5.4]# ls /usr/local/apr-util/
bin  include  lib

4、编译安装httpd2.4

编译前的预安装:

[root@node1 ~]# tar zxf httpd-2.4.16.tar.gz
[root@node1 ~]# cd httpd-2.4.16
[root@node1 httpd-2.4.16]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24--enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork注释:--sysconfdir=/etc/httpd24:配置文件在/etc/httpd24/目录下;--enable-so:开启共享对象,so(Shared Object);--enable-ssl:支持ssl,可以进行加密;--enable-cgi:启用CGI功能--enable-rewrite:启用重写--with-zlib:支持压缩传输--with-pcre:支持正则表达式--enable-mpms-shared=all:编译所有的mpm模块--enable-modules=most:安装所有常用的模块--with-mpm=prefork:默认启用mpm模块中的prefork
[root@node1 httpd-2.4.16]# make && make install
[root@node1 httpd-2.4.16]# ls /usr/local/apache/
bin  build  cgi-bin  error  htdocs  icons  include  logs  man  manual  modules

httpd2.4编译安装成功了,接下来就是一些收尾工作:

1、将/usr/local/apache/bin/加入到系统的环境变量中:

[root@node1 httpd-2.4.16]# vim /etc/profile.d/apache.sh
export PATH=/usr/local/apache/bin:$PATH
[root@node1 httpd-2.4.16]# . /etc/profile.d/apache.sh

2、将/usr/local/apache/include文件,链接到系统的默认安装目录:

[root@node1 httpd-2.4.16]# ln -sv /usr/local/apache/include/ /usr/include/httpd24
`/usr/include/httpd24' -> `/usr/local/apache/include/'

3、将/usr/local/apache/man文档加入man的配置文件当中

[root@node1 apache]# vim /etc/man.config
MANPATH /usr/local/apache/man

4、提供服务脚本

[root@node1 apache]# cp /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24
[root@node1 apache]# vim /etc/rc.d/init.d/httpd24
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
pidfile=${PIDFILE-/var/run/httpd/httpd24.pid}

5、修改配置文件

[root@node1 ~]# vim /etc/httpd24/httpd.conf
PidFile     "/var/run/httpd/httpd24.pid"
ServerAdmin 1073297392@qq.com    #该服务器的管理人员的邮箱

6、验证配置文件的语法是否正确

[root@node1 apache]# httpd -t
Syntax OK

7、将该服务将入到系统服务当中:

[root@node1 apache]# chkconfig --list httpd24
[root@node1 apache]# chkconfig httpd24 on
[root@node1 apache]# chkconfig --list httpd24
httpd24            0:off    1:off    2:on    3:on    4:on    5:on    6:off

8、启动服务

[root@node1 apache]# service httpd24 start
Starting httpd:                                            [  OK  ]

9、查看80端口是否被监听apache的服务进程是否启动:

[root@node1 apache]# ss -tnl
State       Recv-Q Send-Q     Local Address:Port     Peer Address:Port
LISTEN          0   128          :::80            :::*
[root@node1 apache]# ps aux | grep httpd
root      36271  0.0  0.4  72552  2016 ?      Ss   05:24   0:00 /usr/local/apache/bin/httpd
daemon    36273  0.0  0.2  72552  1392 ?      S    05:24   0:00 /usr/local/apache/bin/httpd
daemon    36274  0.0  0.2  72552  1392 ?      S    05:24   0:00 /usr/local/apache/bin/httpd
daemon    36275  0.0  0.2  72552  1392 ?      S    05:24   0:00 /usr/local/apache/bin/httpd
daemon    36276  0.0  0.2  72552  1392 ?      S    05:24   0:00 /usr/local/apache/bin/httpd
daemon    36277  0.0  0.2  72552  1392 ?      S    05:24   0:00 /usr/local/apache/bin/httpd

10、本地访问,确保服务万无一失

[root@node1 apache]# curl 127.0.0.1
<html><body><h1>It works!</h1></body></html>

转载于:https://blog.51cto.com/1005969720/1744263

httpd2.4源码编译相关推荐

  1. linux源码编译安装apache( httpd-2.4.53)处理服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)

    linux源码编译安装apache 首先我们需要下载相关的依赖包 apr.apr-util.pcre 下载地址 http://archive.apache.org/dist/apr/apr-1.7.0 ...

  2. Splunk安装和配置及源码编译安装SVN

    Splunk安装和配置 http://my.oschina.net/tuyang/blog/189159 http://my.oschina.net/longniao/blog/82766 http: ...

  3. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

  4. Ubuntu 16.04源码编译安装Apache 2.4.25教程

    这篇文章主要为大家详细介绍了Ubuntu 16.04源码编译安装Apache 2.4.25,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家介绍了Ubuntu 16.04源码编译安装Apa ...

  5. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

  6. Web服务 源码编译安装LAMP架构

    Web服务 源码编译安装LAMP架构 一.LAMP架构 1.LAMP架构是什么 2.各组件的主要作用 二.编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/opt ...

  7. 源码编译安装httpd服务

    1 概述 很多软件没有发布rpm包,而是直接发布了源码,好处是这样能兼容更多的平台,但是,用户需要对源码进行编译后安装.利用工具make将源码生成二进制文件. 本文主要讲解了对httpd进行编译安装. ...

  8. 源码编译php mysql_linux下apache+mysql+php开发环境纯源代码编译搭建(转)

    linux下apache+mysql+php开发环境纯源代码编译搭建(转)[@more@] 记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过 ...

  9. 源码编译搭建LAMP环境

    源码编译搭建LAMP环境   一.将 LAMP 相关软件包上传刡 linux 上 [root@node63 ~]# ls anaconda-ks.cfg      install.log        ...

最新文章

  1. Nucleus SE RTOS初始化和启动
  2. Mybatis注解学习记录
  3. CSS Border属性solid(实线)使用介绍
  4. ThreadPoolExecutor源码解析(二)
  5. 呵,你会51单片机的精确延时吗?
  6. SpringMVC控制器方法获取参数时@RequestParam注解加与不加的区别
  7. LAMP 系统性能调优,第 3 部分: MySQL 服务器调优(转)
  8. 一个女SEOer的忏悔书
  9. SQL 查询所有表名、字段名、类型、长度、存储过程、视图
  10. python数组下标用变量_你所不知道的Python奇技淫巧13招【实用】
  11. HTML元素分类【三种类型】
  12. httpRuntime一使用
  13. 图书管理系统数据库设计
  14. 如何将socket服务器部署到云服务器上
  15. 安捷伦34401A六位半万用表
  16. 又是一年腊八节 记忆中的腊八粥是什么味道?
  17. 前辈不是我,借他人事迹助暖通新人!
  18. LeetCode——面试题 10.11. 峰与谷(JAVA)
  19. 回顾知识付费近几年的发展历程,浅谈知识付费项目的发展空间
  20. 全排列与逆序数的组合

热门文章

  1. 我的世界方块云服务器bug,我的世界:两个方块能无限刷经验?这装置太BUG了
  2. android 队列上传图片,话说android端七牛图片上传
  3. 源码 连接mysql_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...
  4. linux操作系统之读写锁
  5. Effective C++学习第一天
  6. mysql 学习笔记 02创建表
  7. 再写单链表(不带头单链表)
  8. C++Primer学习笔记:第3章 字符串、向量和数组
  9. 【汇编语言】王爽 - 内中断复习
  10. Codeforces Round #499 (Div. 1) Solution