1. 程式人生 > >centos6.9源碼編譯httpd2.4

centos6.9源碼編譯httpd2.4

編譯 httpd

簡介:

Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁web服務器;由於centos6默認安裝的是httpd2.2版本,不具有httpd2.4的新特性,為了在6版本上使用2.4版本的,從而能利用httpd2.4的新功能,更好的完成工作中的需求。


準備事項:

1、系統環境:

centos6.9

2、所需要的源碼安裝包:

apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.27.tar.bz2

3、創建一個專門存放apr apr-util httpd數據包的目錄

mkdir /app


實驗步驟:

0、查詢舊版apache的包名,卸載舊版的apache;或者直接找一個幹凈的6.9系統做實驗也可以。

rpm -q httpd

rpm -e httpd


1、安裝開發包組“Development tools”

yum groupinstall "Development tools"


2、在官網上下載源碼httpd2.4、arp、arp-util安裝包並解壓縮:

官網:http://www.apache.org/index.html

cd /usr/local/src/ #把安裝包剛放在這目錄下

tar xvf apr-1.6.2.tar.gz

tar apr-util-1.6.0.tar.gz

tar httpd-2.4.27.tar.bz2


3、編譯安裝依賴的apr-1.6

在/usr/local/src/ 路徑下

cd apr-1.6.2

cat README #查看一下編譯文檔

執行configure腳本

./configure --prefix=/app/apr #指定apr的安裝路徑

make & make install #開始安裝


4、編譯安裝apr-util-1.6

cd apr-util-1.6.0 #進入apr-util目錄

./configure --help #查看安裝包放的路徑

./configure --prefix=/app/apr-util --with-apr=/app/apr #--with-apr=/app/apr 指定的路徑

make & make install #開始安裝

註意: 如果出現報錯error:expected錯誤;就需要安裝expat-devel 包

yum install openssl-devel pcre-devel expat-devel


5、創建apache 賬戶

useradd -r -d /app/website -s /sbin/nologin apache -m

#-d /app/website 指定網站主頁的路徑,強制性創建 /app/website加上-m


6、編譯安裝httpd-2.4

cd httpd-2.4.27

./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/app/apr/ --with-apr-util=/app/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork


編譯參數詳解:

--prefix=/app/httpd24 :指定安裝目錄的路徑

--enable-so:支持動態共享模塊,如果沒有這個模塊PHP將無法與apache結合工作

--enable-ssl:支持SSL,支持https

--enable-cgi :啟動與外部應用程序的cgi接口

--enable-rewrite:支持url重寫

--with-zlib:支持web頁面壓縮傳送

--with-pcre:支持的擴展的正則表達式

--with-apr=/app/apr/:指定apr路徑

--with-apr-util=/app/apr-util/:指定apr-util路徑

--enable-modules=most:安裝大多數模塊

--enable-mpms-shared=all:支持大多數共享模塊

--with-mpm=prefork:安裝mpm工作模式的prefork默認模式


編譯完成後執行下面的命令

make & make install

有報錯,缺什麽包就安裝什麽包,再執行上面的安裝命令

yum install openssl-devel pcre-devel


7、修改主配置文件把默認的用戶註釋掉改成允許apach用戶訪問

主配置文件:/app/httpd24/conf/httpd.conf

vim /app/httpd24/conf/httpd.conf

user apache #添加apache 用戶

group apache #添加apache組

Documentroot /app/website #把默認的主站點改成/app/website

<directory /app/website> #修改權限

Require all granted #允許所有


8、為了方便命令的使用需要添加環境變量的路徑,編輯二進制程序讓系統能找到

vim /etc/profile.d/httpd24.sh

PATH=/app/httpd24/bin:$PATH


9、設置開機啟動腳本,

vim /etc/init.d/httpd24

apachectl=/app/httpd24/bin/apachectl

httpd=${HTTPD-/app/httpd24/bin/httpd} #字符串處理的變量方式

pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}

lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

設置開機啟動項

chkconfig --add httpd24 #添加到運行服務腳本裏

chkconfig httpd24 on #設置開機啟動

service httpd24 start


10、生成測試網頁

創建主站點頁面,如果已經已經創建了就直接編輯主頁面的內容

mkdir /app/website

echo /app/website > index.html


11、啟動httpd

apachectl start

ss-ntl #查看監聽接口發現80端口打開,說明實驗成功了。

12、瀏覽器訪問頁面,出現/app/website內容說明實驗成功了。


註意事項:

1、httpd2.4需要依賴apr和arp-util包必須是 1.4以上版本

2、在編譯安裝apr或者httpd的過程中報錯可以安裝以下的包來解決

yum install openssl-devel pcre-devel expat-devel

3、httpd 2.4在centos6.9所依賴的apr軟件包光盤自帶的版本比較低,所以需要安裝較高的版本;在centos7的版本上自帶依賴的軟件包版本高,滿足要求,直接安裝httpd 2.4就可以用。

本文出自 “12180356” 博客,請務必保留此出處http://12190356.blog.51cto.com/12180356/1971002

centos6.9源碼編譯httpd2.4