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.