centos6.9源碼編譯httpd2.4
簡介:
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