Apache服務器基礎教程-01從源碼安裝Apache

Apache服務器基礎教程-01從源碼安裝Apache

一、準備:

  1. Ubuntu 16.04 Server 純淨系統
  2. 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

一、簡單描述

  1. 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
  1. 上面內容我不再多做講解,今天我們使用從源代碼安裝的方式來安裝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源碼安裝,確保你係統包含以下環境。沒有的話,請使用以下提示命令進行安裝。

  1. APR and APR-Util
    確保您的系統上已安裝APR和APR-Util,在某些系統上需要安裝相應的-dev包。

    sudo apt install -y libaprutil1-dev
    
  2. PCRE

    sudo apt install -y libpcre3-dev
    
  3. C編譯器和構建系統
    這裏我們需要把gcc和cmake都安裝上

    sudo apt install -y gcc cmake
    
  4. **Perl 5 **

    sudo apt install -y perl
    
  5. openssl
    這個程序不是官方補強制安裝的。在此教程之後我會寫一個安裝ssl證書的教程,所以我們再此安裝Apache服務器之前我們先安裝上openssl。

sudo apt install -y openssl

三、安裝過程

以下操作都在root用戶模式下進行,“#”後爲註釋內容。

  1. 配置編譯參數
    “#”號後面爲註釋內容
tar -zxvf httpd-2.4.39.tar.gz #解壓源碼包
cd httpd-2.4.39 #進入源碼目錄
ls #查看源碼目錄

你可以看到以下文件,如圖所示:
在這裏插入圖片描述

  1. 配置
./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”字樣,那麼恭喜你,安裝成功了。

此次教程到這裏,後續下一節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章