[系統升級] b2evolution from 1.10.2 to 1.10.3

再一次把我的 Blog 系統給升級到最新的穩定版。我使用的系統為 b2evolution,好像國內的用戶不多? 記錄一下升級步驟:

  1. 備份資料庫 (MySql) 與 html 目錄檔案。
  2. 解壓縮所下載回來的最新版本 (目前為 1.10.3 “Key West” 11/01/2007)。
  3. 把所有原來目錄的檔案全砍掉! (是的,這是官方建議的升級方式)
  4. 上傳解壓縮後所有的目錄檔案。
  5. 執行 http://yoursite.com/yourblogsfolder/install
    此步驟會問你連結資料庫的設定以更新資料庫,若沒有變動照預設即可,它會變更設定到 /conf/_basic_config.php 。
  6. 再來就是把原來所備份檔案中,自己曾客製化過的檔案,一個一個給 copy 覆蓋過去。這裡強烈建議使用 WinMerge 工具來作比對。

最後一個步驟是最麻煩的,不過我發現到使用 WinMerge 後,其實也還好,比對的工作花我不到一個小時,而含整個升級程序,我大概花兩個小時左右就完成升級了。

※ 官方升級步驟文件: Upgrade from an older version

本站中文亂碼顯示問題已解決!

一直有網友反應,若是在 Linux 系統跑 Fireforx,或者 Windows XP 英文作業系統下,瀏覽我的部落格一直是亂碼,除非依照我原先貼出的:「解決本站中文顯示亂碼時的瀏覽器設定方式~

這仍是很麻煩的解決方案,而且也不合理。利用空檔時間,仔細找了 b2evolution forum 上有否類似的問題,後來在一篇文章中找出,應該是 ‘conf/_locales.php’ 的問題,只要在下列兩行新增 utf-8 即可:

 $force_io_charset_if_accepted = ‘utf-8’;
 $db_config[‘connection_charset’] = ‘utf8’;

呼,這麼簡單的解決方式,卻是找了好久。不過總算由來以久的亂碼顯示問題給解決掉了!

{PHP 程式} 大量匯入資料至 MySQL 的好工具— BigDump

phpmyadmin 麻煩的是,要匯入超過 2MB 以上的文字資料檔時,預設是不容許的,還要修改包括 php.ini 等設定檔才可!

今日從 ServerZoo 下載儲存我的 Blog 資料,呼,超過 21MB!! 我又不太會用 MySQL 的 command mode 匯入工具,所以上網找了一下資料,是否有簡單易用、協助匯入(import)的好工具。

看到阿修的部落格介紹到— BigDump-MySQL資料匯入好幫手 ,看起來不錯,就到了官方的首頁下載回來用。

只是一個超迷你的 php 程式,放入 webserver 的根目錄即可,然後改一下改檔案的內容,包括要匯入的資料庫名稱、連線使用者、密碼與 url 等。執行後,直接匯入已下載回來的文字檔,執行匯入動作,21MB 的資料,很快耶,好像不到兩分鐘就已匯入完畢,還有執行結果與過程的網頁畫面耶(好像是用 AJAX 寫的)。 稍微注意一點的是,官方網站好像說明可以直接執行 .gz 的壓縮檔,但我執行會出問題,乾脆先利用 WinRAR 解壓縮,然後改一下文字檔的內容,如將 “Create Database” 等 SQL 命令給 comment 掉。

Blog 被駭,資料全毀!! (2007/07/24)

星期日晚上,某位網友 msn 告訴我,我的 Blog 被駭了!! XX(

馬上連線到我的站台,哇! 首頁已被改為駭客到此一遊的紀念,還給我播放音樂呢。 透過 FTP 連線,慘! 所有程式都被砍掉,包括資料庫,全被砍得一乾二淨!

當下臉都綠了一大半,因為,我沒有備份呢。 :'( 趕緊寫信給我的主機廠商— ServerZoo。我是約晚上 10 點多寫的信,沒想到,竟然還有客服人員馬上 Email 回信給我,問我是否要還原? 馬上回信請他們幫我還原,呼,還好,資料全部都在。這點我真的很感謝 ServerZoo,他們的服務真是好,星期日還有網管人員協助服務,而且更重要的是,他們都有對主機作備份,否則,我辛苦大半年寫的 Blog 文章,可就會不見了(我只有約半年前的備份)。

問題出在哪裡? 我也不知道 :| 該如何處理? 第一、馬上升級 Blog 系統,現在我的系統是 b2evolution 1.10.2 “Florida” (2007/06/28);第二,變更密碼,從資料庫到 Blog 站台的管理者密碼全改掉;第三、更改 config 檔的權限,原先是 644,現改為 440。

Mark msn 告訴我,最有可能的問題是從內部侵入,因為像我如此嚴重的全被砍掉,有可能是同一主機的其他用戶可能被值入了「僵屍電腦」,再透其盜用同一主機用戶的密碼。不知道耶,這些我都搞不懂,是還好,因為有資料庫的備份,所以我只花了三個小時就全部還原並重新升級為新系統了。

我想,明日還是打個電話請問一下 ServerZoo,看看問題可能出在哪裡。若可以,能調出主機存取記錄的話,那應該會比較容易查到問題的根源。

【系統升級】b2evolution from 1.8.2 to 1.10-beta

由於日前造成虛擬主機廠商 ServerZoo 的主機負載過重,除了作一些防範的措施外(在此也感謝 ServerZoo 的技術人員,他們一直在協助我作追蹤處理,甚至還幫我移轉主機),藉這個機會也順便升級一下我的 Blog 系統,除了新增一些功能外,當然最希望的是能讓系統更穩、能擋掉更多的 Spam。

應該有一年沒有升級了吧,到了 b2evolution 的官方網站,看到才剛釋出的 1.10-beta, 代號為 “Miami” 的最新版本。雖然是 beta 版本,但據官方的文件說明,是建立在 1.9.2 最穩定的核心基礎上。我的習慣一向都是使用最新的套件,所以直接 Download 回來準備作系統升級。

b2 的系統升級大概就是只有一種方法:資料庫保存不動,把網站目錄全砍掉,解壓縮下載最新的版本至網站目錄,執行 /install/install.php ,升級! (作這些動作之前,當然要記得全備份下來)

這樣步驟的主要目的是變更資料庫的 Table Schema,但是原來有修改過,如 CSS, Skin, Main 主頁等怎麼辦? 沒有任何方法,就是一個個的比對(可以使用如 WinMerge 的比對工具),修改,或者直接 Copy 原修改的檔案覆蓋掉新系統的檔案(若是 CSS, Skin 等這沒問題,但最好不要覆蓋 core 的核心檔案)。

升級完畢後,耶,中文出現亂碼!! 查了一些資料,有位「工頭的家」,他寫了好多關於 b2evolution 的技巧,真不錯。參考了一篇:「完全解決 b2evolution 1.86 版及 1.9.1版的中文亂碼問題」,要將 _locales.php 修改其編碼為 utf-8。我也照作了,但是亂碼問題仍存在,怪異的是,只有內文有問題,右側邊與標題等中文顯示都沒問題。讓我 Try 了許久,總算發現到,原來執行資料庫升級時,b2evolution 新增其中一個 Table: evo_item__prerendering ,預設的編碼為 latin1、而校對(collation)也是 latin_swedish_ci。這不行,對中文的輸出入會有問題,所以利用 phpmyadmin 修改編碼為 utf8, 校對改為 utf8_general_ci,記得,連 Column 內預設的也要改,參考下圖。

serverzoo_b2evolution_table_schema

到此階段,總算中文顯示完全正常了,系統升級也到此告一段落。

不過,升級後, ServerZoo 又來信說,CPU 負載仍過重,吼~ 看來要與 Spammer or Hacker 還要奮戰一些時候了。 >:XX

擋掉搜尋引擎機器人的方法

剛在網路爬文,發現到,影響主機負載過重與頻寬傳輸量最有可能的原因就是 Robots 機器人作祟,而其中又以 百度(Baidu) Spider 為最。再看看我的 Blog 系統的管理畫面,其中在 User-agents 方面,還真的百度就給我佔據了 96% 之多!

b2evolution_user_agents_20070515

既然也有眾多網站的站長們對 百度 Spider 沒有好感,我想乾脆就先把它給關掉,禁止該機器人搜尋本站。關掉的方法有兩種:

  1. 在網站根目錄上新增 robots.txt
  2. 在網站根目錄的 .htaccess 直接 deny 掉

第一種方法,是國際通用的,禮貌上,凡是 Robots 看到 robots.txt 的內容有擋掉它的 User-agens,那麼它會跳過不搜尋;不過又有網友說 google, yahoo 等可以,但是百度好像不理會? robots.txt 內容如下:(以文書編輯器新增以下內容後上傳至網站根目錄即可)

User-agent: baiduspider
Disallow: /

若是第一種方法無效,則採取第二種方法,直接在根目錄下的 .htaccess 編輯新增內容如下:

#
SetEnvIf User-Agent ^Baidu baidu
Deny from env=baidu

我先用第一種方法看看,若還是造成負載與頻寬過重,則直接就在 .htaccess 把它給擋掉。至於利用 IP Ban 掉,可能不是一個好方法,因為百度的搜尋引擎的 IP address 似乎不是固定的。

※ 延伸參考:
o 禁止搜索引擎收錄的方法(百度幫助中心)
o 擋掉 Baidu Spider
o 【轉貼】建議大家把百度搜尋機器人封鎖,免得浪費頻寬和流量

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal