Apache服務器基礎教程-01從源碼安裝Apache
一、準備:
- Ubuntu 16.04 Server 純淨系統
- Apache httpd-2.4.39 源碼
Apache httpd-2.4.39的下載地址:http://httpd.apache.org/download.cgi
我在寫此文檔的時候這是最新版本,文檔時間:2019.04.21。你可以下載.tar.bz2壓縮包,也可以.tar.gz壓縮包。文檔教程中使用的是httpd-2.4.39.tar.gz
一、簡單描述
- Apache是一個大名鼎鼎的服務器軟件,廢話不多說。從軟件庫中快速安裝:
(1)在Fedora/CentOS/Red Hat上安裝Apache與運行Apache
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
(2)在Ubuntu/Debian上安裝並運行Apache
sudo apt install apache2
sudo service apache2 start
- 上面內容我不再多做講解,今天我們使用從源代碼安裝的方式來安裝Apache。
(1)軟件庫不是可以直接安裝嗎?爲什麼要從源代碼安裝?
答:觀看我教程的同學大多是初學者,使用從源碼安裝的方式,讓他們進一步瞭解底層的一些知識,如果你喜歡從庫安裝,就隨意。
(2)安裝步驟:源代碼安裝當然要麻煩,但是對初學者來說,解決難題的過程是快樂的。
a. 安裝程序編譯環境:
C/C++源代碼需要通過編譯生成可執行文件,纔可以正常運行。而Apache服務器軟件就是使用C/C++開發的,所以我們先需要先編譯,所以編譯環境必須有,你懂的。
b. 配置編譯參數:
Apache源碼目錄下的configure可執行文件,就是用來配置安裝Apache的參數的。通過參數配置,我們可以自定義一些Apache服務器的一些功能,在配置參數的過程中,Apache會檢查你係統缺失的必備程序組件,如果Linux系統缺失相應組件,則配置過程會報錯,需要手動解決。解決過程無非就是把缺失的內容安裝上。
c. 編譯與安裝:
做好以上準備,就可以編譯、安裝了。廢話少說,開始吧。
二、安裝準備
對於安裝Apache需要依賴的環境,可以直接在Fedora/CentOS/Red Hat上使用yum工具來安裝依賴程序包,在Ubuntu/Debian上使用apt工具來安裝依賴程序包。
當然了,你的Linux系統需要50M以上的臨時空間、你的Linux系統能連接網絡,同時你的系統時間正確,具體的這裏不再介紹。
根據官方文檔,從httpd-2.4.39源碼安裝,確保你係統包含以下環境。沒有的話,請使用以下提示命令進行安裝。
-
APR and APR-Util:
確保您的系統上已安裝APR和APR-Util,在某些系統上需要安裝相應的-dev包。sudo apt install -y libaprutil1-dev
-
PCRE
sudo apt install -y libpcre3-dev
-
C編譯器和構建系統
這裏我們需要把gcc和cmake都安裝上sudo apt install -y gcc cmake
-
**Perl 5 **
sudo apt install -y perl
-
openssl
這個程序不是官方補強制安裝的。在此教程之後我會寫一個安裝ssl證書的教程,所以我們再此安裝Apache服務器之前我們先安裝上openssl。
sudo apt install -y openssl
三、安裝過程
以下操作都在root用戶模式下進行,“#”後爲註釋內容。
- 配置編譯參數
“#”號後面爲註釋內容
tar -zxvf httpd-2.4.39.tar.gz #解壓源碼包
cd httpd-2.4.39 #進入源碼目錄
ls #查看源碼目錄
你可以看到以下文件,如圖所示:
- 配置
./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文件,但是,如果你的環境和我演示的不一樣,執行上面過程你可能不會順利通過,那麼就需要你解決相應的錯誤了。有問題,可以來到https://jkdev.cn提問,我會抽時間回覆。
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地址,看到瀏覽器“It Works”字樣,那麼恭喜你,安裝成功了。
此次教程到這裏,後續下一節。