天天看點

總結之:CentOS 6.4源碼編譯安裝httpd并啟動測試

   今天來總結一下在Linux中軟體安裝,通常我們應該知道,安裝軟體有兩種方法:一種是軟體包的安裝,也就是rpm包的安裝,就是指這些軟體包都是已經編譯好的二進制rpm包,我們通過rpm安裝工具和yum安裝工具就可以直接安裝了。另一種則是源代碼安裝,這種軟體安裝就是指它隻有源代碼,沒有經過編譯的二進制,需要通過手動去編譯安裝的。

   rpm包是别人所編譯好的軟體包,比如說編譯好的rpm包沒有某個功能,也我們又想用,那我們就得自去手動下載下傳源代碼來自行安裝了,自定義去安裝程式包,這個是我們要撐握的。

下面我們就來說說源代碼編譯安裝httpd:

   作業系統:CentOS release 6.4 x86_64

   安裝前提:GCC、Develoment Tools、Server Platform Development  

   安裝的軟體包:httpd-2.2.25.tar.bz2

   首先我們先檢視一下系統中有沒有安裝好的httpd,rmp -q httpd就可以檢視到,如果有我們就先解除安裝,rpm -e httpd就可以解除安裝,如果沒有那就安裝。

<a href="http://s3.51cto.com/wyfs02/M01/12/A6/wKioL1MLOl-gtb97AABX-R_r9Vo937.jpg" target="_blank"></a>

   以安裝httpd-2.2.25源碼的軟體包為例,我們要檢查系統中需要的安裝環境,yum grouplist可以檢視InstalledGroups裡有沒有Server Platform Development和Development tools這兩項,然後再gcc -v檢視一下gcc編譯器有沒有安裝好,做好這些工作那我們就去下載下傳所需要安裝的源代碼軟體包了

httpd-2.2.25.tar.bz2、這個我從我們的教室的伺服器上下載下傳好了、直接get下載下傳到本地就OK了,下載下傳好我們就開始安裝了。

<a href="http://s3.51cto.com/wyfs02/M02/12/A6/wKioL1MLOsKTxhJkAAI6VXkUQFY962.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/12/A6/wKioL1MLOsKhi4p6AALUckgVmus434.jpg" target="_blank"></a>

安裝httpd-2.2.25.tar.bz2源碼軟體包的步驟:

   解壓軟體包到本地:

   # tar xf httpd-2.2.25.tar.bz2

<a href="http://s3.51cto.com/wyfs02/M02/12/A5/wKiom1MLOyzT31LUAAD52T3Lcoo979.jpg" target="_blank"></a>

   cd到解壓好的目錄中:

   # cdhttpd-2.2.25

   在這裡我們可以看到解壓的檔案中生成了一個configure的檔案,我們可以./configure --help看看幫助文檔,這裡就不看了,繼續下一步

<a href="http://s3.51cto.com/wyfs02/M01/12/A6/wKioL1MLO-XR_NROAAHGXU4BRg0094.jpg" target="_blank"></a>

    ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --enable-so

   --prefix=/usr/local/httpd  :這個是指定我們安裝的路徑

   --sysconfdir=/etc/httpd :這個是指定的配置檔案路徑

   --enable-so :這個是指允許子產品化使用

   這樣我們回車就開始了,程式比較大,可能時間比較長,耐心等待吧.....

   編譯完之後我們開始執行make指令了,這個也比較久,等吧......

   make完了就開始執行make install真正開始執行安裝了;

   好了,安裝完之後我們進到安裝目錄看一下生成的檔案:/usr/local/httpd    在bin目錄生成一個叫ahachectl的腳本,我們直接在指令行中輸入ahachectl,系統說找不到這個指令,是以我們要配置一下PATH環境變量,是以我們就在/etc/profile.d/目錄下建一個httpd.sh的檔案,如下:

   # vim /etc/profile.d/httpd.sh

   PATH=/usr/local/httpd/bin:$PATH  

   export PATH

<a href="http://s3.51cto.com/wyfs02/M01/12/A5/wKiom1MLPO_w_QfwAAAjHGA9T0Y284.jpg" target="_blank"></a>

   儲存退出即可!

   我們echo $PATH看看有沒有這個路徑了

<a href="http://s3.51cto.com/wyfs02/M02/12/A6/wKioL1MLPTrAaPkYAABgrWoXI9s970.jpg" target="_blank"></a>

   看!沒有、那是系統還沒有識别,要配置檔案生效那我們就得讓系統重讀配置檔案了:

   # . /etc/profile.d/httpd.sh

   再echo $PATH就看到我們剛才寫的那個路徑了;    

   如果不配置環境變量那我們每次啟動就都得寫全完整路徑了:如

   # /usr/local/httpd/bin/apachectl start

   配置完環境變量和重讀配置檔案後我們就可以直接啟動了。

   # apachectl start

   netstat -tnl:用這個指令我們檢視一下是不是已經監聽了80端口:

   再網頁測試一下!ifconfig檢視一下虛拟機的IP位址:

<a href="http://s3.51cto.com/wyfs02/M00/12/A7/wKioL1MLPwyR8Ar1AAEMNHsIpUI292.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/12/A7/wKiom1MLP8zwvXOyAABdIk1DHbI300.jpg" target="_blank"></a>

   這樣、我們的httpd源碼安裝就完成了!

   再來看看/usr/local/httpd下的include檔案、這裡存放的全是頭檔案,為了讓系統可以通過/usr/include/這個路徑也能找到我們的頭檔案、那我們就要做個連結到這個/usr/include這時來了;

   輸出頭檔案給系統:

   ln -sv /usr/local/httpd/include /usr/include/httpd

   同樣、我們也要輸出庫檔案,在/etc/ld.so.conf.d/目錄下建立一個httpd.conf的檔案:

   # vim /etc/ld.so.conf.d/httd.conf

   /usr/local/httpd/lib

   儲存退出,再讓系統重新生成庫檔案路徑緩存:

   # ldconfig -v

   最後再輸出man幫助文檔,編輯/etc/man.config:

   # vim /etc/man.comfig

   在後面加上一行:

   MANPATH /usr/local/httpd/man  儲存退出即可!

<a href="http://s3.51cto.com/wyfs02/M02/12/A7/wKioL1MLQeriPaO_AACEx1QQYTY878.jpg" target="_blank"></a>

結束:

   大概的安裝過程就是這樣,如有什麼不妥、萬望指出、不勝感激、人無完人、有做得不到之處或錯誤的地方希望多多提點、在此小弟先感謝你的關注了!

本文轉自 wei0164 51CTO部落格,原文連結:http://blog.51cto.com/tanxw/1362910,如需轉載請自行聯系原作者

繼續閱讀