mtupgrade - 升級 Movable Type
這份文件描述著如何升級到較新版本的 Movable Type 的程序。
如果妳已經安裝過先前版本的 Movable Type (1.0-2.21) 的話,妳就不需要再進行一次完整安裝了。如果妳還沒有安裝過 Movable Type 的話,請參考安裝指引。
進行任何升級動作前,把每一份網誌的所有文章項目及評論都匯出是個好主意。當升級過程中意外地發生甚麼錯誤時,妳會需要這些能被匯入的文章項目及評論的。
下載升級套件檔案(而不是完整套件)。解開妳下載到的 .tar.gz 壓縮檔。
請確定所有的檔案都以 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 之外的地方的話,請確定妳把 images 、 docs 和 styles.css 都上傳到正確的位置了。
755
了。
這表示持有人擁有讀取、寫入以及執行的權限,而團隊和其他人則祇有讀取和執行權限(但是沒有寫入權限)。
基於安全性因素,一旦妳升級完成後,妳就應該要馬上把下列檔案從 FTP 伺服器中刪除:
Movable Type 現在已經升級了,妳可以開始使用新的版本了。
現在請稍微閱讀一下 2.6 版指南,來看看怎麼使用新的功能。
就跟 1.3 版一樣,現在妳可以在評論跟文章項目間分別控制換列和換段;換句話說,祇要妳高興,妳可以在評論中設定轉換換列
,在文章項目中卻不要。請注意如果妳想要在 1.3 版裡面轉換換列和換段的話,妳得編輯每一份網誌的組態,並且核選在評論中轉換換列和換段
核選框。
就跟 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 的話,請遵照這份指引。
從 2.2 起, Movable Type 終於開始支援 SQL 資料庫 (MySQL) 了。到了 2.6 版之後,還多支援了 PostgreSQL 和 SQLite 。請注意這祇是選用的 -- Berkeley DB 資料儲存仍舊在支援之列。如果妳對於使用 SQL 資料庫一點興趣也沒有的話,請跳過這個小節。
如果妳已經把妳的 Movable Type 轉換成 SQL 資料庫支援模式的話,也請跳過這個小節。
要判斷妳的主機是否支援 SQL 資料庫以及連線所需的 Perl 函式庫的話,請執行 mt-check.cgi 並觀察任何下列模組的狀態: DBD::mysql 、 DBD::Pg 或 DBD::SQLite 。如果其中任何一個被安裝了,妳的伺服器也就能夠支援這個版本的 Movable Type 了。如果這些模組通通沒有被安裝,而妳又想要用 SQL 資料庫的話,恐怕妳就得聯絡一下妳的主機管理者了。
如果妳對於轉換資料有興趣的話,升級套件裡同時也包了一個能把資料從 Berkeley DB 檔案複製到 SQL 資料庫的腳本 (mt-db2sql.cgi) 。要把既有的 MT 轉換成使用 SQL 資料庫的話,請按照下列的步驟進行:
ObjectDriver driver_name Database database_name DBUser database_user
這裡的 driver_name 可以是下列之一的東西: DBI::mysql 、 DBI::postgres 或 DBI::sqlite ; database_name 則是妳想用來儲存資料的 SQL 資料庫名稱;而 database_user 則是用來連線到那個資料庫所需的使用者名稱(請注意,如果妳所用的是 SQLite 的話,就不需要提供使用者名稱和密碼了)。
如果妳的 SQL 資料庫伺服器位於不同的主機上的話,妳也可以用 DBHost 來指定主機名稱:
DBHost database_host
請注意: 如果妳用的是 PostgreSQL 或 MySQL 的話,妳在 database_name 所指定的資料庫就一定要是已經存在了的 -- Movable Type 沒辦法自動生一個出來!
基於安全性的考量,妳的 SQL 資料庫密碼不能僅是單純地放在 mt.cfg 裡,而得放在一個叫做 mt-db-pass.cgi 的檔案裡。
在文字編輯器裡開啟 mt-db-pass.cgi ,然後找到這一列:
database_password
請把 database_password 代換成用來連接到妳的 SQL 伺服器所需的密碼。
mt-db2sql.cgi 這個 Perl 腳本會在妳的 SQL 資料庫裡建立起必要的架構,然後把妳的 Berkeley DB 檔案裡的資料扔進去。
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 吧。