Movable Type 升級指引


名稱

mtupgrade - 升級 Movable Type


概要

這份文件描述著如何升級到較新版本的 Movable Type 的程序。


升級

如果妳已經安裝過先前版本的 Movable Type (1.0-2.21) 的話,妳就不需要再進行一次完整安裝了。如果妳還沒有安裝過 Movable Type 的話,請參考安裝指引

預防措施

進行任何升級動作前,把每一份網誌的所有文章項目及評論都匯出是個好主意。當升級過程中意外地發生甚麼錯誤時,妳會需要這些能被匯入的文章項目及評論的。

下載

下載升級套件檔案(而不是完整套件)。解開妳下載到的 .tar.gz 壓縮檔。

上傳檔案

  1. 連接到妳的網頁伺服器
    開啟 FTP 連線到妳的網頁伺服器,並開啟妳安裝了 Movable Type 的目錄。

  2. 上傳程式
    把壓縮檔裡所有的檔案和目錄上傳到妳的網頁伺服器,覆蓋掉所有舊版的檔案。

    請確定所有的檔案都以 ASCII 模式上傳,祇有影像圖片纔應該以 Binary 模式上傳。

    當妳上傳 extlib 目錄裡的檔案時,請小心別覆寫調任何妳初次安裝 Movable Type 時放進去的函式庫。

    請注意:如果妳曾經修改過 search_templates 目錄裡的搜尋模版,請不要從升級套件裡上傳 search_templates 目錄;否則這將會覆寫掉妳的搜尋模版。

    請注意:如果妳所要替換的檔案中,有些是被妳修改過了的,那麼妳應該要把這些檔案標記成已修改,並且對新版的檔案做一樣的修改。當然這祇有當妳的修改導致他們跟新版的 Movable Type 在某些情況下不相容纔需要這麼做。如果妳不確定妳是否得重新對新版的 Movable Type 檔案做一次這些更動的話,妳可以在 Support Forum 上提問。 ( http://www.movabletype.org/support/ )。

    請注意:如果妳的 MT 程式存放在妳的 cgi-bin ,而妳的影像、文件和樣式表卻存放在 cgi-bin 之外的地方的話,請確定妳把 imagesdocsstyles.css 都上傳到正確的位置了。

  3. 檢查權限
    確定每一個 CGI 腳本(所有這樣的檔案都以 .cgi 副檔名結尾)的權限都設定成 755 了。

    這表示持有人擁有讀取、寫入以及執行的權限,而團隊和其他人則祇有讀取和執行權限(但是沒有寫入權限)。

執行升級腳本

刪除升級腳本

基於安全性因素,一旦妳升級完成後,妳就應該要馬上把下列檔案從 FTP 伺服器中刪除:

完成了!

Movable Type 現在已經升級了,妳可以開始使用新的版本了。

現在請稍微閱讀一下 2.6 版指南,來看看怎麼使用新的功能。


注意事項

如果妳從比 1.3 還舊的版本升級

就跟 1.3 版一樣,現在妳可以在評論跟文章項目間分別控制換列和換段;換句話說,祇要妳高興,妳可以在評論中設定轉換換列,在文章項目中卻不要。請注意如果妳想要在 1.3 版裡面轉換換列和換段的話,妳得編輯每一份網誌的組態,並且核選在評論中轉換換列和換段核選框。

如果妳從比 1.4 還舊的版本升級

就跟 1.4 版一樣, Movable Type 需要至少 0.8 版的 File::Spec Perl 模組。如果妳沒有 0.8 版以上的話,就會在更新後看到這個錯誤:

Can't locate object method "splitpath" via package "File::Spec"
at lib/MT.pm line 209.

如果妳不確定妳的伺服器上的 File::Spec 版本夠不夠新,妳應該再執行 mt-check.cgi 一次(請參考下面的檢查所需及選用模組小節);如果妳的伺服器需要較新版本的 File::Spec 的話,請遵照這份指引。

從 Berkeley DB 資料庫轉換成 SQL 資料庫

從 2.2 起, Movable Type 終於開始支援 SQL 資料庫 (MySQL) 了。到了 2.6 版之後,還多支援了 PostgreSQL 和 SQLite 。請注意這祇是選用的 -- Berkeley DB 資料儲存仍舊在支援之列。如果妳對於使用 SQL 資料庫一點興趣也沒有的話,請跳過這個小節。

如果妳已經把妳的 Movable Type 轉換成 SQL 資料庫支援模式的話,也請跳過這個小節。

要判斷妳的主機是否支援 SQL 資料庫以及連線所需的 Perl 函式庫的話,請執行 mt-check.cgi 並觀察任何下列模組的狀態: DBD::mysqlDBD::PgDBD::SQLite 。如果其中任何一個被安裝了,妳的伺服器也就能夠支援這個版本的 Movable Type 了。如果這些模組通通沒有被安裝,而妳又想要用 SQL 資料庫的話,恐怕妳就得聯絡一下妳的主機管理者了。

如果妳對於轉換資料有興趣的話,升級套件裡同時也包了一個能把資料從 Berkeley DB 檔案複製到 SQL 資料庫的腳本 (mt-db2sql.cgi) 。要把既有的 MT 轉換成使用 SQL 資料庫的話,請按照下列的步驟進行:

  1. 編輯妳的 mt.cfg 檔案。
    在文字編輯器裡開啟妳的 mt.cfg ,並加入這幾列:
    ObjectDriver driver_name
    Database database_name
    DBUser database_user
    

    這裡的 driver_name 可以是下列之一的東西: DBI::mysqlDBI::postgresDBI::sqlitedatabase_name 則是妳想用來儲存資料的 SQL 資料庫名稱;而 database_user 則是用來連線到那個資料庫所需的使用者名稱(請注意,如果妳所用的是 SQLite 的話,就不需要提供使用者名稱和密碼了)。

    如果妳的 SQL 資料庫伺服器位於不同的主機上的話,妳也可以用 DBHost 來指定主機名稱:

    DBHost database_host
    

    請注意: 如果妳用的是 PostgreSQL 或 MySQL 的話,妳在 database_name 所指定的資料庫就一定要是已經存在了的 -- Movable Type 沒辦法自動生一個出來!

  2. 設定妳的密碼。
    請注意:如果妳正在使用 SQLite 資料庫的話,就可以略過這個步驟。

    基於安全性的考量,妳的 SQL 資料庫密碼不能僅是單純地放在 mt.cfg 裡,而得放在一個叫做 mt-db-pass.cgi 的檔案裡。

    在文字編輯器裡開啟 mt-db-pass.cgi ,然後找到這一列:

    database_password
    

    請把 database_password 代換成用來連接到妳的 SQL 伺服器所需的密碼。

  3. 執行 mt-db2sql.cgi
    開啟妳的網頁瀏覽器,並把網址指到妳站台上的 mt-db2sql.cgi ,舉例來說,如果妳的站台位於 http://www.your-site.com/ ,而妳所上傳的 Movable Type 檔案位於 /mt 目錄裡的化,妳就得輸入 http://www.your-site.com/mt/mt-db2sql.cgi

    mt-db2sql.cgi 這個 Perl 腳本會在妳的 SQL 資料庫裡建立起必要的架構,然後把妳的 Berkeley DB 檔案裡的資料扔進去。

  4. 檢查成功與否
    一旦 mt-db2mysql.cgi 執行結束後,在妳的瀏覽器裡檢視那一頁的最底下,看看轉換是否成功了。如果是的話,這個訊息看起來會像這樣:
    Done copying data from Berkeley DB to SQL database! All went well.
    

    如果妳看到這樣的訊息,就做完了。 當妳登入到 Movable Type 並且使用時,妳已經開始在用 SQL 版本的系統了。

    如果有錯誤發生了,這個訊息

    An error occurred while loading data:
    

    就會被顯示出來,同時附上當時的錯誤訊息。如果錯誤發生了,請開啟妳的 mt.cfg 檔案,並且移除下列這一列:

    ObjectDriver driver_name
    

    同樣地,這裡的 driver_name 指的是妳在步驟 1. 所設定的驅動程式名稱。

    接著妳可以回來使用 Berkeley DB 版本的 Movable Type 。然後把妳收到的錯誤訊息貼到 Support Forums 吧。


Copyright © 2001-2003 Six Apart. All Rights Reserved.