Linux學習日記——源碼編譯Apache

來源:互聯網
上載者:User

標籤:部署   make   配置環境   弊端   ror   col   project   doc   pcr   

【本文為筆者在學習Linux 下的軟體安裝時,嘗試使用源碼安裝Apache 的過程,事後進行一個小小的總結,發現錯誤望指正。】

一、典型的源碼編譯安裝軟體的過程包括以下3步:

  1) 運行 configure 命令,並結合必要的參數以產生Makefile ;(讀者可以自行百度Makefile 相關知識)

  2) 運行 make 命令產生各類別模組和主程式;

  3) 運行 make install 命令將必要的檔案複製到安裝目錄中。

  (以上過程都在對應軟體安裝包的根目錄中進行)

二、安裝過程

    Linux 系統中,一般是在 /usr/local/src 目錄中下載源碼包 (不是硬性規定,只是一個習慣),在該目錄下可以通過命令:

    wegt http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.27.tar.gz 下載。資源來自清華大學開源軟體鏡像站(https://mirrors.cnnic.cn/),很多鏡像資源都可以在裡面找到。

    下載完成後使用 tar 進行解壓,然後進入 /usr/local/src/httpd-2.4.27 目錄,進入目錄後需要使用 configure 工具產生Makefile ,對於我這樣的菜鳥來說只用了最簡單的方式產生,因為配置Apache 時可以加入的參數實在是太多了。命令: ./configure --prefix=/usr/local/apache/  在這之後,configure 會產生很多輸出,開始checking 很多編譯環境(是夠有gcc 工具、軟體依賴關係之類的)。

    這時候很多人會出現安裝失敗的報錯資訊(configure: error: APR not found. Please read the documentation. 沒有找到APR,請閱讀文檔)這時候需要先配置相關依賴,一般來說後面還會出現缺少 apr-util 以及 pcre 的情況。若沒有出錯則直接跳到第4步即可。(註:1-3步 是報錯後配置環境,應該在 /usr/local/ 目錄下進行操作,配置完成後檢查目前的目錄是否存在 apr apr-util pcre 三個檔案夾,然後再進入到 /usr/local/src/httpd-2.4.27 目錄中繼續之前操作 )

    1 下載包

      wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  

      wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz

      wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

    2  安裝(下面示範 apr 的安裝 其他安裝方式相同)

      tar -zxf apr-1.4.5.tar.gz

      cd apr-1.4.5 

      ./configure --prefix=/usr/local/apr

      make && make install  (這種組合命令,如果不是在root 下運行,使用 sudo 也只能通過root 運行 make 而 make install 依然沒有許可權,筆者是通過bash 解決

      【sudo bash -c ‘ make && make install  ‘】)

    3  最後在編譯Apache 的時候 加上:

     ./configure   --prefix=/usr/local/apache/   --with-apr=/usr/local/apr   --with-apr-util=/usr/local/apr-util/   --with-pcre=/usr/local/pcre/

    4  完成上一步之後會在目前的目錄下產生Makefile 檔案,這時候使用make 和 make install 命令安裝即可。 命令:  make && make install

    5  以上操作順利完成後,Apache 已經安裝完成,可以通過命令: /usr/local/apache/bin/apachectl start  開啟服務

    然後使用 ifconfig 指令查看伺服器位址:

    

    6  最後在瀏覽器中輸入欄位名地址,結果如下安裝成功:

    

 

  這種源碼編譯的方式,只是體驗一下這個過程,熟悉其中的流程以及原理後加深自己的理解,以上方式安裝雖然看似很簡單,但是是由於使用了簡單的編譯方式。使用源碼編譯安裝軟體其實存在很多弊端,首先,系統中必須存在gcc 工具(對於安全生產有一定的影響);其次,源碼編譯本身是有很多的選擇性參數的,這些參數對應著不同的功能,安裝時指定了哪些參數,軟體就具備哪些功能,而對於不同的使用環境,需求應該是不同的,因此最壞的情況下,需要重新進行編譯安裝(除一些通過添加模組來添加功能的項目外,這些項目可以不重新編譯,只需要編譯相應的模組即可)。另外,編譯安裝的過程耗時很長,並不適用於大規模的項目部署。最後源碼編譯無法完成軟體的管理功能(卸載、升級、檢測...)。重在瞭解,另外RedHat 為瞭解決源碼編譯存在的種種不足,使用了更加簡單的RPM (RedHat Package Manager)包管理機制。讀者可以在 http://man.linuxde.net/rpm 查看詳細內容。

 

Linux學習日記——源碼編譯Apache

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.