系統版本:Ubuntu-10.10-Server-I386
1 | aptitude install build-essential |
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 |
詳細安裝見 《Linux 從源碼編譯安裝 OpenSSL》 http://www.linuxidc.com/Linux/2011-10/45738.htm
這是 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
兩種方法,可以使用 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 |
這裡首先要清楚什麼是運行級別,詳細介紹見《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 將其2,3,4,5都選中 |
除非有大的版本號變動,否則可按原編譯選項重新編譯安裝即可。
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 |
詳細 Apache2.2 配置見《Linux 從源碼編譯安裝及配置 PHP 5》
[火星人 ] Debian/Ubuntu 從源碼編譯安裝 Apache 2已經有458次圍觀