天天看點

linux中的httpd源碼安裝方法

   對于源碼我們應該知道所謂源碼就是用特定語言寫成的文本,如C語言。其次源碼安裝

的好處是我們可以使用最新的版本和最新的功能,可以加入各種選項來個性配置,也可

以自定制使其更符合自己的習慣,而且在任何平台都能夠配置、編譯。

源碼

用特定的檔案寫出的檔案就成為源碼

拆解--源碼-----配置(./configure)(makefile)--編譯-----可執行--頭檔案 ---庫檔案--手冊--makeinstall安裝

編譯器gcc 

         編譯環境分為四類組

                                                        DevlompemtLibraries開發庫

                                                      Devlopmenttools開發工具

                                                      X software Devlopment圖形界面使用的

                                                      Legacy software Developmen t傳統的軟體開發

庫檔案一般存放在這兩個檔案裡面/lib /usr/lib 系統會自動找到

動态庫不需要做代碼的一部分,直接跳轉執行                 .so結尾

靜态庫直接編譯好在檔案裡面                               .a結尾

頭檔案/include/usr/include如果不想占用空間可采用連結可以使用in-s

手冊man

 拆解位置/usr/local/src

 安裝位置/usr/local/

 配置檔案後面可以跟參數選項

                                                      --prefix             安裝目錄

                                                      --sysconfdir     指明系統配置檔案目錄

                                                      --enable           選項打開

                                                      --disable          選項關閉

    使用源代碼的好處:加入更多選項來個性化你的配置功能,如果你想使用更新版本的紅帽,你必須得使用源代碼。

這裡我給大家提供一個源代碼的下載下傳地方:www.apache.org

下面我給大家安裝一個最新版本的httpd2.4,來讓大家進一步了解源代碼的安裝方法

圖1

linux中的httpd源碼安裝方法

 軟體包拆解tar -jxvf      軟體包的位址   -C       存放軟體包的位置

 而我們的包是存放在/usr/local/src/這個檔案裡面,然後我們切換到這個封包件裡面

 我們仔細看裡面的一些檔案configure ,INSTALL這個兩個檔案,說明是源代碼的安裝

 圖2

linux中的httpd源碼安裝方法

 圖3

linux中的httpd源碼安裝方法

下一步

 我們切換到包的主檔案,看是安裝配置檔案,執行

            ./configure--prefix=/usr/local/apache       指明安裝檔案的目錄–附加下面的指令

              sysconfir=/etc/apache                                 指明配置檔案的安裝目錄

 圖4

linux中的httpd源碼安裝方法

 這個時候我們可以用rpm –qa |grep –I apr 來檢視一下我們是否裝了arp這個檔案,如果發現裝了,這個時候可能是devel庫檔案沒有安裝,然後對這個檔案來進行安裝,可使用

rpm –ivh加上包的檔案名字

 圖5

linux中的httpd源碼安裝方法

      然後我們重新執行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache 發現錯誤依舊存在,不過這次錯誤的提示更加詳細了

 圖6

linux中的httpd源碼安裝方法

 圖7

linux中的httpd源碼安裝方法

 執行make指令

  make install

 切換到我們剛才把它指定的安裝目錄 /usr/local/apache/ 這時候産生了許多頭檔案,庫檔案

 圖8

linux中的httpd源碼安裝方法

   我們需要給它建立連結,系統能夠識别的這些檔案并且能調用,我們不可能一個一個的進行建立,我們隻需要給它這個目錄建立一個連結就可以了。執行

in –s/usr/local/apr/include/apr-1* . 指定一個連結到目前目錄

 庫檔案處理方法

 系統能自動找到是在/lib /usr/lib 這兩個檔案裡面才會找到

  vim/etc/ld.so.conf 這是一個連結庫裡面包含

  include ld.so.conf.d/*.conf 你可以讓在這樣的目錄建立一個*.檔案,然後你源碼庫的路徑就可以了

 我們切換到這個目錄下,然後再這個檔案裡面編輯

 寫入這些檔案/usr/local/apr/lib

  ldconfig                                       更新緩存

  ldconfig –pv | grep apr             查找這些連結檔案

切換到apr-util-1.5.1tar.gz 系統工具目錄下進入這目錄裡面

圖9

linux中的httpd源碼安裝方法

  直接執行./config--prefix=/usr/local/apr-util   --with-apr=/usr/local/apr/bin/apr-1-config 指定它的安裝目錄,并指定apr.config它的安裝目錄

Make

Make intall

然後檢視它安裝後所形成的檔案,切換到/usr/local/目錄下,形成apr-util工具檔案

圖10

linux中的httpd源碼安裝方法

然後我們重新執行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache

圖11

linux中的httpd源碼安裝方法

這次我們需要指明apr-1-config它的安裝檔案時在哪裡,我們隻需要指明就可以了

      --with-apr=/usr/local/apr/bin/apr-1-config      --with-apr-until=/usr/local/apr-until/

圖12

linux中的httpd源碼安裝方法

 這個時候會想,這個檔案已經安裝了可能是devel這個檔案沒有安裝

  rpm –ivh /mnt/cdrom/Server/pcre-devel-66-2.e15_1.7.i386.rpm安裝就可以

 安裝好後我們重新執行

  ./configure--prefix=/usr/local/apache–sysconfir=/etc/apache   --with-apr=/usr/local/apr/bin/apr-1-config-  -with-apr-until=/usr/local/apr-until/

 生成學多make file檔案然後執行make 

  make install 把你的檔案拷貝到相應的檔案裡面

 然後為切換到/usr/local/apache/生成了bin 頭檔案子產品檔案

圖13

linux中的httpd源碼安裝方法

  我們需要給這些頭檔案指定相應的連結切換到include目錄裡面執行

   ln –s /usr/local/apache/include/* .

  對庫檔案編輯

  cd /etc/ld.so.conf.d/

 編輯

 vim apache.conf寫入

 /usr/local/apache/modules

 ldconfig

 ldconfig –pv | grep apche 

 配置檔案

 切換到bin目錄下

 .http –f /etc/apache/httpd.conf 挂接配置檔案

 控制腳本

 存放腳本的位置是在/etc/init.d,前期給它一個可執行的權限

 編寫一個腳本

 !/bin/bash

   prog=/usr/local/apache/bin/httpd 指明一個名稱

  configfile=/etc/apache/http.conf 指明配置檔案

  lockfile=/var/local/subsys/httpd 

  ./etc/init.d/functions

  start(){

               if [ -e $lockfile ] ;then

                        echo “the prigram ‘basename $prog’ is started”

               else

                          ehco –n –e “the prigram ‘basename $prog’ is starting….”

                         sleep2

                        $prog-f$configfile && echo-e“\033 [31m [ok]\033[ 0m” && touch $ lochfile || echo-   e “ \033[31m [fail] \033 [0m”

              fi

}

  stop() {

                       echo -n “the program ‘basename $prog’ is stoping ….”

                       sleep2

                       killproc http && echo “ok” rm –rf $ lockfile || ehco “fail”

                      ehco“the program ‘basename $prog’ is stoped”

 status() {

             if [ -e $lockfile ] ;then

 echo“the program ‘basename $prog’ is running”

     else

                     echo“the program ‘basename $prog’ is stop”

     fi

 case “$1” in

 start )

        start

               ;;

 stop)

        stop

              ;

status)

status

;;

restart)

    stop

    start

       ;;

*)

ehcho “USAGE: start |stop|restart|status”

esac

  如果想讓chkconfig 來管理這個腳本,啟動的時候可以自動啟動,我們首先在這個腳本裡面添加

  #chkconfig 2345 55 25

  #description:httpd server daemon 

 然後執行添加

 chkconfig –add httpd

 手冊

 手冊在/usr/local/apache/man

 如果在這裡不懂,不明白,我們可以執行man man 來檢視一下man 的幫助

 然後我們打開/etc/man.config 添加一條指令來指明它的man的路徑

 MANPATH=/usr/local/apache/man

 然後man 手冊就做好了.

 以上就是我的源碼安裝方法,如有錯誤聯系作者就可以了….

繼續閱讀