ubuntu LTS 16.04 編譯安裝配置Apache

操作系統:ubuntu LTS 16.04
apache版本:2.4.27

PRE準備工作

Apache編譯安裝指南中給出了編譯安裝的詳細過程,以下是注意事項:

安裝C編譯器

安裝C語言編譯器gcc-5

sudo apt-get install gcc-5

gcc符號鏈接到gcc-5,使gcc命令等同于gcc-5

sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc

安裝C++編譯器

安裝C語言編譯器g++-5

sudo apt-get install g++-5

g++符號鏈接到g++-5,使gcc命令等同于g++-5

sudo ln -s /usr/bin/g++-5 /usr/bin/g++

安裝make

--fix-missing是修復選項

sudo apt-get install make --fix-missing

安裝依賴包

sudo apt-get install libexpat1-dev

編譯安裝詳細過程

將下載的源碼文件都放在/usr/local/src目錄下

切換到/usr/local/src目錄

cd /usr/local/src

安裝APR

下載安裝APR-1.6.2

APR官網下載對應版本的tar.gz源碼壓縮包,放到/usr/local/src目錄下,并解壓

# 解壓命令
sudo tar zxvpf apr-1.6.2.tar.gz

進到apr-1.6.2源碼目錄下

cd apr-1.6.2

編譯安裝

# 設置輸出目錄
./configure --prefix=/usr/local/apache2/apr-1.6.2

# 根據自己電腦核數×2來設定并行編譯參數,提高編譯速度
make -j1 

sudo make install

下載安裝APR-util-1.6.0

APR官網下載對應版本的tar.gz源碼壓縮包,放到/usr/local/src目錄下,并解壓

# 解壓命令
sudo tar jxvpf apr-util-1.6.0.tar.bz2

進到apr-1.6.2源碼目錄下

cd apr-util-1.6.0

編譯安裝,注意apr路徑參數要與之前apr安裝路徑參數相同

./configure --prefix=/usr/local/apache2/apr-util-1.6.0 --with-apr=/usr/local/apache2/apr-1.6.2

make -j1

make install

下載安裝PCRE

PCRE官網下載pcre-8.41源碼壓縮包,放到/usr/local/src`目錄下,并解壓

# 解壓命令
sudo tar zxvpf pcre-8.41.tar.gz

進到pcre-8.41源碼目錄下

cd pcre-8.41

編譯安裝

./configure --prefix=/usr/local/pcre-8.41

make -j1

make install

下載安裝apache2.4.27

Apache官網下載apache2.4.27源碼壓縮包,放到/usr/local/src目錄下,并解壓

# 解壓命令
sudo tar zxvpf httpd-2.4.27.tar.gz

進到httpd-2.4.27.tar.gz目錄下

cd httpd-2.4.27

編譯安裝

sudo ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apache2/apr-1.6.2 --with-apr-util=/usr/local/apache2/apr-util-1.6.0/ --with-pcre=/usr/local/pcre-8.41 --with-expat=builtin --enable-so --enable-rewrite --enable-ssl

sudo make -j1

sudo make install
  • --prefix : 目標路徑
  • --with: 依賴的庫文件的路徑
  • enable-ssl : 支持SSL加密
  • enable-so : 支持動態加載模塊

添加啟動腳本apache2service

sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2

添加apache2到環境變量

# 輸出啟動腳本至 /home/phdchorus/apache2.sh
sudo echo 'export PATH=$PATH:/usr/local/apache2/bin' > /home/phdchorus/apache2.sh

cd /home/phdchorus

# 修改啟動腳本的讀寫權限
sudo chmod a+x apache2.sh

# 拷貝腳本至目錄
sudo cp apache2.sh /etc/profile.d

# 更新腳本狀態
source /etc/profile.d/apache2.sh

添加apache2到開機啟動項

sudo vim /etc/rc.local

/etc/profile.d/httpd.sh添加到exit 0之前

/etc/profile.d/apache2.sh

exit 0

啟動apache2

sudo service apache2 start

Apache配置

轉到apache目錄下,可以看到以下目錄結構

phdchorus@phdchorus:/usr/local/apache2$ ls
bin  conf  error  htdocs  logs  modules
  • bin是apache啟動目錄
  • conf是apache配置文件目錄
  • htdocs是默認的DocumentRoot
  • logs是默認的日志目錄
  • modules是apache的擴展鏈接(PHP擴展、SSL擴展...)所在的目錄

轉到conf目錄下,可以看到以下目錄結構

phdchorus@phdchorus:/usr/local/apache2/conf$ ls
extra  httpd.conf  magic  mime.types  original
  • httpd.confapache的主配置文件
  • extra中存放了httpd.conf之外的配置文件

安裝配置Apache中記錄了通過apt-get安裝Apache后,對apache的各種配置。apt-get安裝apache后,apache配置按照種類分散到多個目錄文件下面,主配置文件import這些配置文件,從而實現了配置模塊化的效果。而編譯安裝的apache將幾乎所有的配置都放到了主配置文件中,是非常不利于維護的。接下來我們先配置Apache,再按照模塊化配置的思路,重構apache的主配置文件。

配置Apache

基本配置

因為裝機時,我們的計劃是將網絡服務資源放在/var下,所以要修改DocumentRootDocumentRoot對應的Directory

找到DocumentRoot "/usr/local/apache2/htdocs"
修改為DocumentRoot "/var/www/html" --該目錄為自己創建的目錄
 
找到:<Directory "/usr/local/apache2/htdocs"> 
修改為:<Directory "/var/www/html">

配置Apache解析PHP

在主配置文件中寫入

LoadModule php7_module modules/libphp7.so

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

修復安全漏洞

在主配置文件中寫入

TraceEnable off
ServerSignature off

重構主配置文件

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容