手動編譯安裝 apache 2.4 @ Scientific Linux 6.5 / CentOS 6.5
一般我們可以透過 yum 來安裝自己想要的套件,但有時卻不是最新版,雖然可以透過修改 yum repo 來達成目的,往往還是得需要一些工夫
且在程式軟體界常常有前輩告訴我們用最新版的不一定好,但還是紀錄一下安裝過程
手動安裝時,因為我們需要透過 gcc C/C++ 編譯,make
、make install
來安裝程式,先請確定系統有這些開發套件,一般我們可以輸入以下指令把所有開發套件都安裝好
1 | yum groupinstall "Development Tools" |
安裝完畢後,至 http://httpd.apache.org/download.cgi 下載最新版的 apache 到 /usr/src/httpd/
裡 (本例使用 2.4.9)
因 apache 2.4 安裝需要 apr
,請至 http://apr.apache.org/download.cgi 下載 apr
(本例使用 1.5.1) 與 apr-util
(本例使用 1.5.3)
然後解壓縮 httpd-2.4.9.tar.gz
、apr-1.5.1.tar.gz
、apr-util-1.5.3.tar.gz
1 | cd /usr/src/httpd/ |
之後會得出三個資料夾:
- apr-1.5.1
- apr-util-1.5.3
- httpd-2.4.9
請將 apr-1.5.1
與 apr-util-1.5.3
移動至 httpd-2.4.9/srclib/
底下
1 | mv apr-1.5.1 ./httpd-2.4.9/srclib/apr |
OPTIONAL 若另外需要(一般來說通常都會需要)
mod_rewrite
與mod_ssl
,請安裝下列四個套件,否則在編譯 apache 時會無法 compile
1 | yum install pcre pcre-devel openssl openssl-devel |
接下來開始編譯並安裝 apache
1 | cd httpd-2.4.9 |
安裝完畢後,為 apache 建立開機自動啟動的 script
1 | cp build/rpm/httpd.init /etc/init.d/httpd |
接著進行修改 /etc/init.d/httpd
1 | vim /etc/init.d/httpd |
修改下列2處
60: httpd=${HTTPD-/usr/sbin/httpd} -> 改為 -> httpd=${HTTPD-/etc/httpd/bin/httpd}
61: pidfile=${PIDFILE-/var/run/${prog}.pid} -> 改為 -> pidfile=${PIDFILE-/etc/httpd/logs/${prog}.pid}
接著給啟動 script 增加執行的權限:
1 | chmod +x /etc/init.d/httpd |
新增 httpd 到開機啟動管理程式裡
1 | chkconfig --add httpd |
在 /usr/sbin
下建立與 /etc/httpd/bin/
的連結
1 | ln -s /etc/httpd/bin/* /usr/sbin/ |
在來建立 log 紀錄檔的連結
1 | ln -s /etc/httpd/logs /var/log/httpd |
接下來就可以嘗試啟動 apache 了
1 | /etc/httpd/bin/httpd -k start |
若啟動時出現這個錯誤訊息
Starting httpd: AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
請修改 /etc/httpd/conf/httpd.conf
第 192 行,將 ServerName localhost
的註解拿掉就行了
接著請打開您的瀏覽器,在網址列輸入您的機器 IP (http://{機器ip}/),若頁面出現 It works! 的大字樣就代表安裝成功~~
若發現回應很久之後出現無法連上的狀況,請確定是否你的機器的防火牆是開啟的狀態,輸入以下指令關閉防火牆
1 | service iptables stop |
完成!