Debian/Ubuntu 從源碼編譯安裝 Apache 2

火星人 @ 2014-03-12 , reply:0
←手機掃碼閱讀

  
在六大Web伺服器軟體,Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus中,Apache 的世界使用量排名始終位居榜首,並且Apache 安裝簡單,參考資料眾多,所以絕對是Web 伺服器軟體的首選。

一、準備工作

系統版本:Ubuntu-10.10-Server-I386

1.1、安裝基礎編譯環境

  1  
aptitude  install build-essential

1.2、編譯安裝 Zlib 庫

  1  2  3  4  5  
wget http://zlib.net/zlib-1.2.5.tar.gz  tar -zxf zlib-1.2.5.tar.gz  cd zlib-1.2.5/  ./configure --prefix=/usr/local  make && make install

1.3、安裝 OpenSSL (可選)

詳細安裝見 《Linux 從源碼編譯安裝 OpenSSL》 http://www.linuxidc.com/Linux/2011-10/45738.htm

二、編譯安裝 Apache2.2

這是 apache2.2 安裝最大的難點,詳細說明見 apache2.2 中文文檔配置源代碼樹部分(下載見http://www.linuxidc.com/Linux/2011-10/45740.htm),其中關於模塊選項。

我的選擇 (推薦)

  1  2  3  4  5  
wget http://www.apache.org/dist/httpd/httpd-2.2.17.tar.gz  tar -zxf httpd-2.2.17.tar.gz  cd httpd-2.2.17/  ./configure  --prefix=/usr/local/apache --enable-mods-shared=most --enable-ssl=shared --with-ssl=/usr/local  make && make install

使用模塊有兩種方法:一是靜態連接進核心,二是作為DSO模塊動態載入

--enable-mods-shared=most 動態載入大部分模塊
--enable-ssl=shared 動態載入 mod-ssl 模塊
--enable-ssl=static 靜態載入 mod-ssl 模塊

另一種選擇

  1  
  ./configure  --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local

上面意思是將 mod_so 和 mo_rewrite、ssl 模塊靜態編譯進 apache(還可以添加更多模塊),mod_so 作用是允許 apache 以後運行時作為 DSO 模塊動態載入,等同於 --enable-modules=so

三、啟動Apache伺服器

兩種方法,可以使用 apachectl 或者 httpd 皆可。簡單說 apachectl 是控制器,可以開、關、重啟 apache ,是啟動腳本。httpd 是後台守護進程,是apache的主程序。因此apachectl中必須指明httpd路徑。

將apachectl加入系統變數中,即直接編輯/etc/environment文件,或者新建軟鏈接。

  1  2  
ln -s /usr/local/apache/bin/apachectl /usr/local/bin  ln -s /usr/local/apache/bin/httpd /usr/local/bin
  1  2  3  
sudo apachectl -k start  sudo apachectl -k stop  sudo apachectl -k restart

四、開機自動啟動 Apache

這裡首先要清楚什麼是運行級別,詳細介紹見《Ubuntu系統update-rc.d命令詳解》 http://www.linuxidc.com/Linux/2010-12/30886.htm

方法一(推薦)

  1  2  
ln -s /usr/local/apache/bin/apachectl /etc/init.d/  update-rc.d apachectl defaults

方法二 (圖形界面)

  1  2  
sudo install sysv-rc-conf  sudo sysv-rc-conf //找到apachectl 將其2345都選中

五、其他

5.1、Apache 升級

除非有大的版本號變動,否則可按原編譯選項重新編譯安裝即可。

  1  2  3  4  
  ./configure  --prefix=/usr/local/apache --enable-mods-shared=most --enable-ssl=shared --with-ssl=/usr/local   make && make install  apachectl -k graceful-stop  apachectl -k start

5.2、Apache 配置

詳細 Apache2.2 配置見Linux 從源碼編譯安裝及配置 PHP 5》

 





[火星人 via ] Debian/Ubuntu 從源碼編譯安裝 Apache 2已經有170次圍觀

http://www.coctec.com/docs/net/show-post-68208.html