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 吧。