2006年4月11日星期二

終於把網站系統昇級……

要把網站背後的系統昇級,花費的功夫可大可小,首先一定要把系統備份,以免造成不可挽救的後果。謹慎(婆媽)起見,最好先找台機器測試,一切無誤後方讓系統昇級,不過即使做足功夫如不見得一定能夠順利完成。

這次昇級,計劃的第一步是嘗試利用git取代CVS作為版本控制的工具,接著是把Xoops 2.0.9.2更新至2.0.13.2,為日後2.x版本做過渡性的準備。另外最重要是把WordpressME 0.32轉為XPress 2.0.2,雖然二個都是以Wordpress為基礎衍生的模組,但所採用的Wordpress的版本卻相異甚大,XPress與Wordpress同 步,故等於是Wordpress 2.0.2版本,而WordpressME 0.32則停留了在1.0.1版本。

WordpressME 0.32本身並沒有提供任何anti-spam的措拖,在這個網站營運的初期並不構成任何問題,但自有越來越多spammer發現本站的存在後,花費在處 理spam的時間便相應增加,由原來每星期刪一至二封,變本加勵到一天十來封的轟炸,唯一可行的措拖只有把對方的IP封鎖,成效倘算不錯,暫緩了系統昇級 的逼切性。

直至到上星期,spammer開始改變方法,利用世界各地公開的Proxy伺服器發信,封鎖IP的措拖正式失效,而數量亦提昇至每天三十來封,無法 忍受那些賤人的所作所為,終於下定決心要尋找anti-spam的方案,可是Wordpress ME所採用的Wordpress版本實在太舊了,新版本的Anti-spam插件無法執行,預期花時間尋找合適的插件,倒不如直接昇級吧。

將CVS的patch set匯入git的準備在許久以前已經完成,遇到障礙的地方只有在Branch merging一項上,之所以會出現分枝是因為我打算把幾個採用xoops的網站全都匯入同一個git repository內,那麼日後即使為任何理由而要修改系統時,都能快捷地更新所有的網站。

至於Xoops的昇級,因為2.0.9.2到2.0.13.2沒SQL的改動,故把舊檔案覆蓋掉,進入模組的設定網頁,把系統模組更新便可運作。

而Wordpress方面也不困難,先把Wordpress ME暫停,刪除html/modules/wordpress,抄XPress過去,這時在模組的設定網頁,會見到「暫停」了的XPress,按更新,昇 級工作便大致完成,餘下的是XPress的樣板(template)修改……及Debug。

以整合度來看,XPress是反而及不上Wordpress ME,只有少數樣板採用了Smarty,其餘的都hardcode了在PHP內,使之不能不修改源代碼來改變版面。

另外,有2個奇怪的問題

1. HTML標題內的RSS feed位置錯誤,本應是modules/wordpress/?feed=rss2,但卻填上了modules/wordpress/feed。

2. 另外只有3個區塊(Block)安裝了進系統之內,意見區塊之類的東西不見了,查看xoops_version.php得知XPress以非連續的數字為 各區塊編號,六個區塊卻以1,2,5,6,9,10編號,估計問題的成因是2.0.x系Xoops使用for-loop來處理區塊的安裝過程,因為被忽略 的區塊正好是6,9,10那三塊,在把意見的區塊改為4號之後便能正常運佢了,可是這個方法實在是不應該的,將來昇級至更高的XPress版本時可能會出 事。

沒有留言:

Creative Commons License
本網誌Ben Lau製作,以共享創意署名-非商業性-相同方式共享 3.0 香港 授權條款釋出。