一、准備:
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)再次重新啟動,不報錯