源碼編譯安裝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

        ? 開源程序源代碼的獲?。?/p>

                官方自建站點:

                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.www58058.com/39817

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

相關推薦

  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 # who|cut -d' ' -f1|sort|uniq # root 2、取出最后登錄到當前系統的用戶的相關信息。 # last|head -n 1 # …

    Linux干貨 2016-08-29
  • 自制Linux系統

    自制Linux系統 1.首選準備一臺Linux虛擬機并添加一塊新硬盤 2.分區并創建文件系統,創建兩個必要的分區根分區和boot分區 fdisk /dev/sdb  分區 mke2fs -t ext4 /dev/sdb1    創建boot文件系統 mke2f…

    Linux干貨 2016-09-16
  • linux學習第三天

            Linux學習第三天 Bash特性及文件系統介紹 cat /etc/shells cat命令進入/etc/shells/下面查看有幾種shell FHS (文件系統遵循FHS定義)     /bin  供所有用戶使用基本的用戶命令程序文件   …

    Linux干貨 2016-10-18
  • python 10第二周博客作業

    1.取磁盤利用率:cut -d命令 df|tr –s? ‘ ’?? ‘%’ |cut –d “%” –f5正則表達式:df -h |grep “^/dev/sd” |grep -o “[[:digit:]]\+%”|grep -o “[[:digit:]]\+”2. paste 合并兩個…

    Linux干貨 2018-03-17
  • Linux 第三天: (07月26日) Linux使用幫助

    Linux 第三天: (07月26日) Linux使用幫助         whatis 顯示命令的簡短描述makewhatis centos6 制作數據庫mandb centos7 制作數據庫 help COMMAND 內部命令man bash 內部命令COMMAND –help -h 外部命令man C…

    Linux干貨 2016-08-08
  • N25-第七周作業

    第七周 1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@zf ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partit…

    Linux干貨 2017-02-24

評論列表(1條)

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

    章思路清晰,從yum源的配置,到httpd編譯完成,一氣呵成,圖文并貌,讓人一目了然,但是少了編譯安裝完成后的后續操作,這部分也是需要熟練配置的。

欧美性久久久久