源码编译安装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

相关推荐

  • N26 第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用的文件管理工具有: cp mv rm cp 命令 : copy 的简写 语法格式:    1) 单源复制 cp [OPTION]… [-T] SOURCE DEST      …

    Linux干货 2017-02-24
  • Linux网络属性配置—ifcfg命令家族

    ifcfg命令家族:ifconfig,route,netstat 1、NAME               ifconfig – configure a network interface       SYNOPSIS   &n…

    Linux干货 2016-11-27
  • 马哥linux0811作业内容

    总结位置变量$1,$2.. $10,$11…MAX 位置变量的含义分别就是代表第几个参数,$1就是脚本运行的第一个参数.$2就是第二个.以此类推.直到最后. $*,$@,$# 区别 特殊变量: $0 : 表示命令本身 $#:传递给命令的参数个数 $*:传递给脚本的所有参数(所有参数是一个整体的字符串) $@:传递给脚本的所有参数(各个参数都是独立…

    Linux干货 2016-08-19
  • 马哥教育网络班第21期+第六周课程作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的1、以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+@#@   2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s@^[[:space…

    Linux干货 2016-08-22
  • 马哥教育网络班22期第3周课程作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@MyCloudServer ~]# who | cut -d " " -f1 |sort -u root 2、取出最后登录到当前系统的用…

    Linux干货 2016-09-19
  • 设计模式(九)外观模式Facade(结构型)

    1. 概述      外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计。 2.…

    Linux干货 2015-07-06

评论列表(1条)

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

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