新聞中心
Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。

安裝編譯環(huán)境
安裝開發(fā)工具組
yum groupinstall 'Development tools'
僅安裝需要的工具
因我的虛擬機是mini安裝,配置aliyun的yum源家里小水管下載慢,就只裝個gcc好了。
yum install gcc
下載源碼包
下載最新版httpd
下載地址:http://httpd.apache.org/download.cgi#apache24
寫此篇文章時最新版本為:httpd-2.4.27
在Centos6.6下編譯安裝最新apache在Centos6.6下編譯安裝最新apache
如果默認鏡像下載太慢的話,可以在紅框內(nèi)選擇其他國內(nèi)鏡像。
執(zhí)行如下命令將源碼包下載至Linux中并解壓
wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.27.tar.gz
tar -xf httpd-2.4.27.tar.gz
下載apr及apr-util
apr是Apache Portable Runtime的縮寫,中文譯為Apache可移植運行環(huán)境,是httpd所必須的,apr-util同理。
apr及apr-util下載地址:http://apr.apache.org/download.cgi
執(zhí)行如下命令:
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.2.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
tar -xf apr-1.6.2.tar.gz
tar -xf apr-util-1.6.0.tar.gz
著手編譯
首先編譯apr
cd apr-1.6.2
./configure --prefix=/usr/local/apr16 //指定安裝位置
make && make install
編譯apr-util
cd apr-util-1.6.0
./configure --with-apr=/usr/local/apr16/ --prefix=/usr/local/apr16-util //指定apr所在目錄及apr-util安裝目錄
make && make install
在這里會報一個錯,如下所示
xml/apr_xml.c:35:19: error: expat.h: No such file or directory //注意這一行,提示沒有expat.h這個頭文件
xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’
......強行省略.....
xml/apr_xml.c: In function ‘do_parse’:
xml/apr_xml.c:434: error: ‘a(chǎn)pr_xml_parser’ has no member named ‘xp’
.....不要看我......
xml/apr_xml.c:500: error: ‘a(chǎn)pr_xml_parser’ has no member named ‘xp_err’
make[1]: *** [xml/apr_xml.lo] Error 1
make[1]: Leaving directory `/root/apr-util-1.6.0' make: *** [all-recursive] Error 1
expat是解析XML的程序,是不是想立馬執(zhí)行yum install expat-devel呢?
然而我可以告訴你,然并卵!
不管是base庫中的2.0版還是epel庫中的2.1版在后面編譯httpd的時候都會報錯!
所以,我們?nèi)xpat的官網(wǎng)去下載最新版的expat。
cd ~
wget https://nchc.dl.sourceforge.net/project/expat/expat/2.2.3/expat-2.2.3.tar.bz2
tar -xf expat-2.2.3.tar.bz2
cd expat-2.2.3
./configure --prefix=/usr/local/expat23
make && make install
現(xiàn)在可以重新編譯apr-util了
cd ~
cd apr-util-1.6.0
./configure --with-apr=/usr/local/apr16/ --with-expat=/usr/local/expat23/ --prefix=/usr/local/apr16-util
make clean //因執(zhí)行過一次編譯了,保險起見把那些編譯出來的東東刪掉,雖然理論上并不影響
make && make install
編譯httpd
cd ~
cd httpd-2.4.27
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --with-mpm=prefork --enable-mpms-shared=all --enable-mods-shared=most --with-apr=/usr/local/apr16 --with-apr-util=/usr/local/apr16-util/
到這一步會報錯,提示我們沒有裝pcre,報錯如下:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
執(zhí)行yum install pcre-devel即可
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --with-mpm=prefork --enable-mpms-shared=all --enable-mods-shared=most --with-apr=/usr/local/apr16 --with-apr-util=/usr/local/apr16-util/
make && make install
下面解釋一下所用的選項:
-
–prefix=/usr/local/httpd24 :配置安裝目錄不用多說了吧?
-
–sysconfdir=/etc/httpd24:指定配置文件存放目錄,默認存放到安裝目錄下
-
–with-mpm=prefork:默認mpm為prefork
-
–enable-mpms-shared=all:將所有mpm編譯為.so模塊
-
–enable-mods-shared=most:編譯大多數(shù)模塊為.so文件
-
–with-apr=/usr/local/apr16:指定apr所在目錄
-
–with-apr-util=/usr/local/apr16-util/ : 指定apr-util所在目錄
更多的./configure腳本選項請參考:http://httpd.apache.org/docs/2.4/programs/configure.html
測試新版httpd
首先將httpd2.4.27的bin目錄加到PATH環(huán)境變量中以便執(zhí)行命令~
echo "export PATH=$PATH:/usr/local/httpd24/bin" >> /etc/profile.d/httpd.sh
source /etc/rc.local
簡單執(zhí)行下面命令開啟服務并測試:
apachectl start
打開瀏覽器–>訪問192.168.123.233–>看到如下圖說明安裝成功
在Centos6.6下編譯安裝最新apache在Centos6.6下編譯安裝最新apache
上文所指報錯
好吧,我沒重現(xiàn)出錯誤情景….
如遇到類似如下報錯,可自行編譯expat
libaprutil-1.so: undefined reference to `XML_GetErrorCode'
新增編譯時沒有啟用的模塊
1. 進入apache源代碼的modules/proxy目錄
2. 運行如下命令自動編譯、安裝和修改httpd.conf文件,激活mod_proxy模塊:
apachepath/bin/apxs -c -i -a mod_proxy.c proxy_util.c
apachepath/bin/apxs -c -i -a mod_proxy_http.c proxy_util.c
選項說明:
-c 執(zhí)行編譯操作
-i 安裝操作,安裝一個或多個動態(tài)共享對象到服務器的modules目錄
-a 自動增加一個LoadModule行到httpd.conf文件,以激活此模塊,若此行存在則啟用之
-A 與-a類似,但是它增加的LoadModule行前有井號前綴(#)
-e 需要執(zhí)行編輯操作,可與-a和-A選項配合使用,與-i操作類似,修改httpd.conf文件,但并不安裝此模塊
3. 重啟apache。
新聞標題:Centos6.6下部署apache服務器
當前鏈接:http://m.5511xx.com/article/dhhpdpp.html


咨詢
建站咨詢
