Ubuntu源碼安裝Apache服務器


一、准備:

1.Ubuntu 12.04 Server 純凈系統
2.Apache httpd-2.4.41 源碼
3.安裝Apache需要依賴的環境

Apache httpd-2.4.41的下載地址:http://httpd.apache.org/download.cgi。你可以下載.tar.bz2壓縮包,也可以.tar.gz壓縮包。文檔教程中使用的是httpd-2.4.41.tar.gz

ubuntu下使用wget下載源碼 wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.41.tar.gz

可以一次性安裝,如下命令: sudo apt-get install -y libaprutil1-dev libpcre3-dev gcc cmake perl openssl
根據官方文檔,從httpd-2.4.41源碼安裝,確保你系統包含以下環境。沒有的話,請使用以上提示命令進行安裝。

二、簡要描述

1.安裝程序編譯環境:
C/C++源代碼需要通過編譯生成可執行文件,才可以正常運行。而Apache服務器軟件就是使用C/C++開發的,所以我們先需要先編譯,所以編譯環境必須有,你懂的。

2.配置編譯參數:
Apache源碼目錄下的configure可執行文件,就是用來配置安裝Apache的參數的。通過參數配置,我們可以自定義一些Apache服務器的一些功能,在配置參數的過程中,Apache會檢查你系統缺失的必備程序組件,如果Linux系統缺失相應組件,則配置過程會報錯,需要手動解決。解決過程無非就是把缺失的內容安裝上。

3.編譯與安裝:
做好以上准備,就可以編譯、安裝了。廢話少說,開始吧。

三、安裝過程

1.配置編譯參數
以下操作都在root用戶模式下進行,“#”后為注釋內容。

tar -zxvf httpd-2.4.41.tar.gz #解壓源碼包
cd httpd-2.4.41 #進入源碼目錄
ls #查看源碼目錄

可以看到文件夾有一個configure的綠色的可執行文件,
./configure --prefix=/usr/local/apache2  --enable-modules=all --enable-mods-shared=all --enable-so

參數說明:
(1)--prefix:指定安裝目錄,如果不指定的話,默認就是/usr/local/apache2;

(2)--enable-modules=all:加載所有模塊;

(3)--enable-mods-shared=all:所有模塊使用動態編譯的方式進行編譯。如果不加此參數,默認為靜態編譯,靜態是直接編譯進httpd中, 動態編譯會提供一個module.so 文件,需要在httpd.conf配置文件中使用時用 loadmodule 這個語法來加載;

(4)--enable-so:其實使用動態編譯方式時該模塊會自動生效,這里加不加都沒關系,只是寫出了讓你了解一下。

本次安裝我們使用以上列出的參數配置,就可以在很多需求場景使用了,不過你實際的項目上可能會做修改。具體參數說明你可以使用./configure -help查看。

配置結束參數之后,會看到如下圖信息:

此時,源碼目錄下面多出一個Makefile文件,但是,如果你的環境和我演示的不一樣,執行上面過程你可能不會順利通過,那么就需要你解決相應的錯誤了。

2.編譯與安裝

make #編譯
make install #安裝


如果沒有任何錯誤,那就是安裝成功了,此時,/usr/local/目錄下多出了apache2目錄,如圖所示:

也就是我們安裝apache的目錄。此時,執行以下命令對apache服務器進行相應操作

/usr/local/apache2/bin/apachectl start  #開啟服務器
/usr/local/apache2/bin/apachectl stop  #關閉服務器
/usr/local/apache2/bin/apachectl restart  #重啟服務器


此時,打開網絡瀏覽器,輸入服務器的IP地址或本機地址127.0.0.1,看到瀏覽器“It Works”字樣,那么恭喜你,安裝成功了。

這里啟動apache時報了一個錯誤

解決辦法

1)進入apache的安裝目錄:(視個人安裝情況而不同) cd /usr/local/apache2/conf

2)編輯httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80


3)再次重新啟動,不報錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM