源码编译安装apache httpd-2.2.29

    1.程序包编译

         程序包编译安装:   (需要gcc、make工具)

            建议安装  包组: development tools

        Application-VERSION-release.src.rpm –> 安装后,使

            用rpmbuild命令制作成二进制格式的rpm包,而后再安装

         源代码–>预处理–>编译(gcc)–>汇编–>链接–>执行

         源代码组织格式:

                多文件:文件中的代码之间,很可能存在跨文件依赖关系

                C、 C++: make (项目管理器, configure –>

                Makefile.in –> makefile)

                java: maven

         C代码编译安装三步骤:  (各平台的区别,查看目录下install 文档)

                1. 获取源码并展开归档,进入对应文件夹(勿切换去其他文件夹)

                2、 ./configure:

                    (1) 通过选项传递参数,指定启用特性、安装路径等;执

                    行时会参考用户的指定以及makefile.in文件生成makefile

                    (2) 检查依赖到的外部环境

                3、 make:根据makefile文件,构建应用程序

                4、 make install:复制文件到相应路径

        

         开发工具:

                    autoconf: 生成configure脚本

                    automake:生成Makefile.in

                 注意:安装前查看INSTALL, README

         开源程序源代码的获取:

                官方自建站点:

                apache.org (ASF)

                mariadb.org

                …

            代码托管:

                SourceForge.net

                Github.com

                code.google.com

       

         c/c++编译器: gcc (GNU C Complier)

        

         编译C源代码:

            前提:提供开发工具及开发环境

            开发工具: make, gcc等

            开发环境:开发库,头文件

            glibc:标准库

                通过“包组”提供开发组件

                CentOS 6: "Development Tools",

                "Server Platform Development",

             第一步: configure脚本

                选项:指定安装位置、指定启用的特性

                    –help: 获取其支持使用的选项

                  选项分类:

                    安装路径设定:

                    –prefix=/PATH: 指定默认安装位置,默认为/usr/local/

                    –sysconfdir=/PATH:配置文件安装位置

                    System types:支持交叉编译

                 Optional Features: 可选特性

                –disable-FEATURE

                –enable-FEATURE[=ARG]

                 Optional Packages: 可选包,

                –with-PACKAGE[=ARG],依赖包

                –without-PACKAGE,禁用依赖关系

               第二步: make

               第三步: make install

               安装后的配置:

                (1) 二进制程序目录导入至PATH环境变量中;

                    编辑文件/etc/profile.d/NAME.sh

                    export PATH=/PATH/TO/BIN:$PATH

                (2) 导入库文件路径

                    程序安装完成后,在安装路径下有lib目录,将此目录地址导入系统,即

                    编辑/etc/ld.so.conf.d/NAME.conf

                    添加新的库文件所在目录至此文件中;

                    eg: 添加apache 的库地址

                    vim /etc/ld.so.conf.d/http2.conf  (新建http2.conf )

                    文件中添加   /usr/local/apache2/lib

                    即可

                    让系统重新生成缓存:

                    ldconfig [-v]

                 (3) 导入头文件

                    程序安装路径下有include目录,即为头文件目录,一般需要软链接至

                    /usr/include中

                    基于链接的方式实现:

                    ln -sv

                    eg:apache 头文件添加:

                    进入apache 安装路径下的include

                    ln -sv /usr/local/http2/include  /usr/include/http2

                 (4) 导入帮助手册

                    程序安装完成后,在安装路径下有man目录,将此路径加入man配置文件即可

                    编辑/etc/man.config|man_db.conf文件

                    添加一个MANPATH

   apache 编译安装示例:

                1. 安装编译工具

                1.JPG

        

2.JPG

            2. 获取源码文件

            3.JPG

            3. 解压源码

            4.JPG

            4.当前目录下,进入httpd-2.2.29目录,查看install 文档(官方安装指南)

            5.JPG

            5.当前目录下执行 ./configure

            

            6.当前目录下,继续执行 make

            7.当前目录下,继续执行 make install

            8.添加PATH:添加 /etc/profile.d/http.sh,加入apachectl程序路径

源码编译安装apache httpd-2.2.29

源码编译安装apache httpd-2.2.29

            

        

        

        9.添加头文件

        

源码编译安装apache httpd-2.2.29

        9. 添加man 帮组路径

             编辑/etc/man.config 或  /etc/mandb.conf,  加入程序对应的man路径

源码编译安装apache httpd-2.2.29

        10.开启服务

源码编译安装apache httpd-2.2.29

        

源码编译安装apache httpd-2.2.29

        11.测试

        源码编译安装apache httpd-2.2.29

        

        

原创文章,作者:ldt195175108,如若转载,请注明出处:http://www.178linux.com/39817

(1)
ldt195175108ldt195175108
上一篇 2016-08-24 21:22
下一篇 2016-08-24 21:22

相关推荐

  • N25-第14周博客作业

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP [root@localhost ~]# iptables -L -n  Chain INPUT…

    Linux干货 2017-05-21
  • 分布式存储介绍、FastDFS 部署

    什么是分布式系统? 简单来说,多台主机提供同一个服务,例如负载均衡集群,就是一个分布式系统。 什么是分布式存储? 看看某宝,上面多少图片,如果使用传统的单机存储,需要准备多大的磁盘空间?读写性能如何提升? 上图就是一个分布式存储的结构,此处存储节点不在是磁盘,而是多个主机组成,多个主机内部通信实现数据副本,客户端发来的请求发往前端,前端分发至后端,有点像负载…

    2017-03-08
  • 关于大型网站技术演进的思考(三):存储的瓶颈(3)

    原文出处: 夏天的森林    存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务…

    Linux干货 2015-03-03
  • ipvsadm用法

    ipvsadm命令的用法:      1.用于管理Lvs集群服务      2.用于进行RS的增删改      3.查看配置  lvs服务器架设步骤:  1.判断内核是否支持ipvs(看到CONFIG_NETFIFLER_XT_MATCH_IPVS=…

    Linux干货 2017-01-10
  • 马哥教育网络班22期+第五周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; [xw@localhost ~]$ cat /etc/passwd | grep -E "^(root|fedora|user1)\>" | cut -d:&…

    Linux干货 2016-10-09

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 15:43

    章思路清晰,从yum源的配置,到httpd编译完成,一气呵成,图文并貌,让人一目了然,但是少了编译安装完成后的后续操作,这部分也是需要熟练配置的。