Centos 6.9 apahce 2.4.29編譯安裝
阿新 • • 發佈:2018-03-04
編譯安裝apache 2.4.29 Centos 6.9 httpd2.4
實驗環境:VMware Workstation Pro 14(試用版)
系統平臺:
CentOS release 6.9 (Final) 內核 2.6.32-696.el6.x86_64
1.去官網下載源碼包
http://httpd.apache.org
http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.29.tar.bz2 http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.bz2 http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2 http://mirror.bit.edu.cn/apache//apr/apr-iconv-1.2.2.tar.bz2
2.解壓包
# cd /app/sdb/httpd # tar xvf httpd-2.4.29.tar.bz2 # tar xvf apr-1.6.3.tar.bz2 -C httpd-2.4.29/srclib/ && mv httpd-2.4.29/srclib/apr-1.6.3 httpd-2.4.29/srclib/apr # tar xvf apr-util-1.6.1.tar.bz2 -C httpd-2.4.29/srclib/ && mv httpd-2.4.29/srclib/apr-util-1.6.1 httpd-2.4.29/srclib/apr-util # tar xvf apr-iconv-1.2.2.tar.bz2 -C httpd-2.4.29/srclib/ && mv httpd-2.4.29/srclib/apr-iconv-1.2.2 httpd-2.4.29/srclib/apr-iconv 把apr相關的源碼必須解壓至httpd源碼目錄中的srclib目錄,在編譯httpd的時候,指定相關源碼位置。確保目錄名稱沒有版本號
3. 安裝依賴包
# yum install gcc gcc++ pcre-devel expat-devel openssl-devel
4. 編譯安裝httpd
參數:
--no-create
該configure腳本運行正常,但不會創建輸出文件。這在生成用於編譯的makefile前檢查測試結果很有用。
編譯參數
# cd httpd-2.4.29 ./configure --prefix=/usr/local/httpd2.4.29 --sysconfdir=/etc/httpd2.4 --enable-so --enable-ssl --enable-cgi --enable-cgid --enable-rewrite --with-zlib --with-pcre --with-included-apr --with-apr-iconv=srclib/apr-iconv --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --enable-include
編譯安裝
# make -j 8 && make install
5.添加環境變量
#ln -s httpd2.4.29/ httpd
PATH=/usr/local/cmake/bin:/usr/local/httpd/bin:$PATH
#httpd -v
Server version: Apache/2.4.29 (Unix)
6.創建用於啟動httpd的賬號和組
# getent group apache > /dev/null || groupadd -g 48 -r apache
# getent passwd apache > /dev/null || useradd -r -u 48 -g apache -s /sbin/nologin apache
7.修改apache目錄所有者和組
#chown -R apache:apache /usr/local/httpd2.4.29/
8.修改啟動httpd服務的用戶和組
# vim /etc/httpd2.4/httpd.conf
User apache
Group apache
9.創建用於service服務的腳本
直接提取一個光盤內的rpm包中的啟動腳本吧(或者網上某些源找到的)
rpm2cpio的輸出結果會以./開頭
# rpm2cpio /misc/cd/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm |cpio -id ./etc/rc.d/init.d/httpd
修改以下幾項為編譯後的目錄,沒有目錄自行創建
#mkdir /var/run/httpd
apachectl=/usr/local/httpd/bin/apachectl
httpd=${HTTPD-/usr/local/httpd/bin/httpd}
prog=httpd
10.復制腳本至rc.d並添加啟動服務
# cp etc/rc.d/init.d/httpd /etc/rc.d/init.d/
# chkconfig --add httpd
# chkconfig httpd on
# service httpd start
Starting httpd: httpd (pid 93324) already running
[ OK ]
11.測試
#curl 192.168.5.128
<html><body><h1>It works!</h1></body></html>
#ps aux|grep httpd
apache 93325 0.0 0.0 76464 2124 ? S 11:36 0:00 /usr/local/httpd2.4.29/bin/httpd -k start
關於配置文件
默認編譯下,除了主配置文件之外,配置文件存放在 指定的配置文件路徑中extra目錄,這個需要註意了,
比如要啟用虛擬主機,則先在主配置文件內把相關功能啟用
# Virtual hosts
#Include /etc/httpd2.4/extra/httpd-vhosts.conf
Centos 6.9 apahce 2.4.29編譯安裝