跳到主要內容

Linux更新Apache

手上有台舊機器,灌紅帽不維護版本,要加上SSL功能,因此重操舊業從source build;此方式也適用FreeBSD,但在FreeBSD我建議直接在ports make時加上參數調整即可。

1. 以ssh登入主機
2.下載新版Apache,以1.3.37為例
3.下載新版mod_ssl,以mod_ssl-2.8.28-1.3.37為例
4.下載新版openssl,以openssl-0.9.8c為例
5. 下載新版PHP,以PHP 4.4.4為例
6. su成root
7. cd /usr/local
8. tar xzf apache_1.3.37.tar.gz; tar xzf mod_ssl-2.8.28-1.3.37.tar.gz; tar xzf openssl-0.9.8c.tar.gz;tar xzf php-4.4.4.tar.gz
9. cd /usr/local/openssl-0.9.8c
10. ./config; make
11. cd /usr/local/php-4.4.4
12. ./configure --with-apache=/usr/local/apache_1.3.37 --with-zlib=/usr/local --with-png-dir=/usr/local --with-gd=/usr/local --with-mysql=/usr/local/mysql --with-gettext --with-iconv --with-imap --with-imap-ssl --enable-mbstring --with-pear --with-kerberos --with-openssl=/usr/local/openssl-0.9.8c --enable-track-vars --disable-debug
PHP的參數是依照個人不同的需求調整各種功能,像是openssl這種需要安全性更新的套件,指定版本會安全一點
13. make clean; make ; make install
14. cd /usr/local/mod_ssl-2.8.28-1.3.37
15. ./configure --with-apache=../apache_1.3.37 --with-ssl=../openssl-0.9.8c
16. make clean; make; make install
17. cd /usr/local/apache_1.3.37
18. ./configure --activate-module=src/modules/php4/libphp4.a --enable-module=so --enable-rule=EAPI --enable-module=proxy --enable-module=rewrite
強烈建議要使用EAPI和module=so,理論上php也可以做成module,但我怎麼做都不成功,因此使用傳統方式。
19. make clean; make
20. make certificate (如果沒有要做簽章,就不要make certificate這步)
21. make install

完成後, /usr/local/apache/bin/apachectl stop; /usr/local/apache/bin/apachectl start 重新啟動Apache即可。

P.S.
1. 我有加上make clean是因為我調整參數make許多次,如果是第一次build,可以不加上make clean,但這是好習慣。
2. Apache在更新時並不會覆蓋原有的設定檔,因此我並沒有附上如何設定,有問題請留言。

留言

這個網誌中的熱門文章

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?