1. 程式人生 > >LAMP架構三(Apache的安裝)

LAMP架構三(Apache的安裝)

三、編譯安裝Apache
1、解決依賴關係

安裝httpd 2.4.37時首先需要解決依賴關係,httpd 2.4.37需要較新版本的apr和apr-util

科普下apr是啥 。

APR(Apache portable Run-time libraries,Apache可移植執行庫)的目的如其名稱一樣,主要為上層的應用程式提供一個可以跨越多作業系統平臺使用的底層支援介面庫。在早期的Apache版本中,應用程式本身必須能夠處理各種具體作業系統平臺的細節,並針對不同的平臺呼叫不同的處理函式。

隨著Apache的進一步開發,Apache組織決定將這些通用的函式獨立出來並發展成為一個新的專案。這樣,APR的開發就從Apache中獨立出來,Apache僅僅是使用 APR而已。目前APR主要還是由Apache使用,不過由於APR的較好的移植性,因此一些需要進行移植的C程式也開始使用APR,開源專案比如 Flood loader tester(http://httpd.apache.org/test/flood/,該專案用於伺服器壓力測試,不僅僅適用於Apache)

2、安裝apr,apr-util執行庫

在這裡我們下載 apr-1.6.5.tar.gz與apr-util-1.6.1.tar.gz版本。
apr和apr-util的下載路徑為:

apr: http://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz

apr-util: http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz


(2.1)首先根據慣例剪下apr與apr-util到/usr/local/src下,然後進行解壓操作
tar -zxvf apr-1.6.5.tar.gz
 tar -zxvf apr-util-1.6.1.tar.gz 


(2.2)編譯安裝apr
cd apr-1.6.5
./configure --prefix=/usr/local/apr      #安裝在/usr/local/下 命名為apr (注意這裡可能會出現gcc依賴的沒有安裝,此時就用yum安裝gcc安裝,要是有其他依賴需求就自行安裝)
make
make install

這裡如果make安裝出現錯誤,解決錯誤後重新安裝前記得用make clean清除一下


(2.3)編譯安裝apr-util
cd apr-util-1.5.2
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install


(2.4) httpd-2.4.4編譯過程也要依賴於pcre-devel軟體包,需要事先安裝。
yum -y install pcre-devel


到此為止基本上解決了依賴關係。


3、編譯安裝httpd-2.4.37
下載httpd-2.4.37      wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.37.tar.gz   


(3.1)首先根據慣例剪下httpd-2.4.37.tar.gz到/usr/local/src下,然後進行解壓操作
 tar -zxvf httpd-2.4.37.tar.gz 


(3.2)編譯安裝httpd,裝的過程中少什麼包就yum什麼包,防止和現有的httpd衝突,這裡名稱統一為apache
cd httpd-2.4.37
./configure --prefix=/usr/local/apache --sysconfdir=/etc/apached --enable-so --enable-ssl --enable-cgi --enable-modules=most --enable-rewrite --enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-included-apr

#make

#make  install
解釋:
--enable-so:支援動態共享模組,如果支援php將不能與apache一起工作。必須要有
--enable-ssl:啟用ssl功能,如果不啟用將無法使用https
--enable-mpms-shared=all:prefork、worker、event
--with-mpm=event:event為預設
 --enable-rewrite:支援URL重寫
--enable-cgi :支援cgi
--enable-cgid:httpd使用event或者worker得啟用被執行緒方式訪問
--enable-modules=most :啟用大多數模組
--enable-mods-shared=most:啟用大多數共享模組

4、啟動apache

#/usr/local/apache/bin/apachectl start

加入service服務啟動

cp  /usr/local/apache/bin/apachectl    /etc/init.d/apached

編輯apached指令碼,在第2行新增如下注釋資訊:

vi  apached 

# chkconfig: 35 61 61

# description: Apache

第一行的3個引數意義分別為:在哪些執行級別啟動httpd(3,5);啟動序號(S61);關閉序號(K61)。注意:以上兩行缺一不可

最後輸入你的IP地址,出現下圖說明OK了。