Joomla! 1.5.1 发布之后,基本上可以说 1.5 系列走上正轨了。这就引得不少之前用 Joomla! 1.0.x 已经建了网站的站长想要升级到 Joomla! 1.5.x 平台。Joomla! 开发团队已经公布了 Joomla! 1.0.x to 1.5.x 升级/迁移指南,本文只是对官方文章的一个翻译。

首先提醒一下正在使用 joomla! 1.0.x 的用户,这个升级方法并非能够将所有的网站都能成功迁移到 Joomla! 1.5 平台。确切的说,这个方法只是能够将所有由 Joomla! 1.0.x 自带的组件、模块所管理的内容迁移过去,如果你还安装了其它第三方扩展套件,就有可能无法迁移该组件管理的内容。例如,RemositoryJSMF 这些组件在 Joomla! 1.5 平台还没有对应的版本,单单迁移数据库过去还是无法运行。

Joomla! 1.0.x to 1.5.x Migrator
Joomla! 1.0.x to 1.5.x Migrator

 

迁移过程基本上是依靠工具来自动完成的,大体分为两个阶段:第一个阶段就是导出 Joomla! 1.0.x 的内容成为一个组件,第二个阶段就是制作针对 Joomla! 1.5.x 的安装器并导入。之所以要采用自动方式,是因为 Joomla! 1.5 系列的数据与 1.0 系列有很大的不相容性。虽然还有一种方法能够通过数据库的备份、导入来完成迁移,但这样容易造成数据丢失,所以不推荐。

 

注意事项:

本文介绍的方法旨在最大可能使这个迁移过程变得容易。不过,仍然建议用户在实施之前先在测试网站练习一次,成功之后再应用到正式网站。

在整个迁移工程没有成功之前,不要急于毁坏旧的 Joomla! 1.0.x 网站。一定要充分验证迁移操作确实成功,才可以放弃旧网站。

第一步:下载 Migrator 组件并安装到 Joomla! 1.0.x 网站

你可以在 Pasamio 的项目网站 找到最新版本的 Migrator 组件,在我撰写本文时,该组件的最新版本是 Migrator RC7 。请下载该组件并安装到你想要迁移的那个 Joomla! 1.0.x 网站上。这个安装过程与其他标准组件完全一样。安装之后,在网站后台的“组件”菜单上就能看到 Migrator  这个名称。

第二步:安装第三方扩展迁移插件

Migrator 这个组件主要是迁移 Joomla! 1.0.x 核心所管理的内容的。前面已经提到,如果某些安装在 joomla! 1.0.x 的第三方扩展在 Joomla! 1.5 平台没有对应的版本,那么就无法迁移。对于有对应版本的第三方扩展,则可以通过安装针对该扩展套件的 Migrator 插件来迁移这些数据。

这样的插件分为两种类型:一种是 [[SQL]] 型插件,是一个 SQL 文本文件;另一种是 [[ETL]] 插件,是 [[php]] 格式的文件,告诉 Migrator 组件如何去处理存储在数据表或者配置文件中的数据。

安装插件的方式是:点击 Migrator 组件中“Add 3rd Party Migrators”这个链接,然后通过“浏览”按钮找到你想要安装的插件,点击“Upload Plugin”按钮安装它。SQL 插件文件将被自动插入到输出的结果中,ETL 插件则被自动执行。你可以点击 Migrator 组件中的“List Plugins”链接来查看已经安装的 ETL 插件。

第三步:创建用来迁移的 SQL 文件

当完成所有针对第三方扩展的迁移插件之后,就可以点击“Create Migration SQL file”,然后点击页面底部的“Start Migration >>”来开始创建过程。Migrator 组件在设计时就考虑到要避免超时故障,因此你可以看到页面自动刷新并且显示状态信息。最后,会显示一个通知消息说“Migration Complete!”,同时 SQL 文件已经可以下载了。你点击“Download”链接即可下载输出的 SQL 文件。这个 SQL 文件与 [[phpMyAdmin]] 导出的数据库 SQL 文件可大不一样,因为在输出时已经作了针对 Joomla! 1.5 的转换,调整了大量的数据表字段以便与 Joomla! 1.5 兼容,例如重写了 mosimage 标记。

第四步:安装到 Joomla! 1.5

你必须全新 安装 Joomla! 1.5.x,并且不要安装在旧的 Joomla! 1.0.x 所在目录。最好是安装在另一个单独创建的目录中。鉴于很多人都是在原来的空间中升级,数据库也是在原来 Joomla! 1.0.x 所在的数据库中(国内大多数空间商只提供一个数据库),那么注意安装 Joomla! 1.5 时数据表的前缀也要使用不同于 Joomla! 1.0.x 的。

对于原来就将 Joomla! 1.0.x 安装在网站根目录下,而现在又需要将 joomla! 1.5 同样安装在根目录下的用户,建议可以在完成第三步之后,将旧 Joomla! 1.0.x 网站的文件系统和数据库完整备份下来(这次要用到 phpMyAdmin 了),然后彻底删除,就可以开始全新  安装 Joomla! 1.5.x 了。

在安装进行到最后一步时,提示你输入网站名称,同时页面下部有“导入迁移脚本”的选项。这个导入过程就要用到在前面创建的 SQL 文件,我想你已经下载到本地硬盘了。现在需要将这个 SQL 文件上传到正在安装的 Joomla! 1.5 网站上去。

上传方法有两种:

  • HTTP 上传
  • FTP/[[SCP]] 上传

HTTP 上传适用于 SQL 文件不大(例如原来的 Joomla! 1.0.x 网站内容不多),不会超出服务器端的 php 上传限制。如果 SQL 文件太大,一般来说服务器端会禁止通过 HTTP 上传,就适合用第二种方法。

如果用 HTTP 上传,就在提示“载入SQL移植文件”的界面上通过“浏览”按钮选择文件并上传。

如果用第二种方法,必须将该 SQL 文件上传到 /installation/sql/migration 目录中,并且改名为“migrate.sql”。

无论你选择哪一种方法上传,如果迁移失败,再次尝试时就必须重新上传原来的 SQL 文件,因为在迁移操作时该文件已经被改变了。

Migrator 组件生成的 SQL 文件其数据表前缀都是“jos_”,因此你必须在这一步操作界面上的“原网站的数据表前缀”这一栏填写这个前缀。接下来注意选择正确的文件编码(中文 Joomla! 1.0.x 网站一般都是 utf-8 编码)。然后还要钩选“此脚本是Joomla! 1.0 移植脚本(SQL移植文件)”这一项,否则会出错。

确认所有资料都正确提供后,点击“上传并执行”来完成迁移操作。如果迁移成功,接下来填写网站名称(原来的网站名称无法迁移),并结束 Joomla! 1.5 安装过程。

注意:在最后填写完网站名称之后,还要求你填写管理员密码。你填写的新密码实际上不会生效,因为迁移过程已经继承了原来 Joomla! 1.0.x 网站的管理员帐号。因此,在完成迁移之后,只有使用旧的 Joomla! 1.0.x 管理员用户名和密码才能登录新的 Joomla! 1.5 后台。这个帐号你应该不会忘记吧?

免责声明:为了撰写本文,我亲手测试了上述方法,发现完全可行。不过,旧网站上那些文章里面的插图图片不会迁移过来。如果旧网站有第三方触发器而新网站没有,那么原来那些触发器标记语法就会以源代码形式展示出来。因此,建议现有的 Joomla! 1.0.x 用户慎重选择升级/迁移,不是说把数据库迁移过来就完成网站升级了。

虽然经过测试此法可行,但是鉴于每个用户所面对的服务器环境千差万别,本文作者和译者均无法保证万无一失。如果哪位在应用此法过程中出现错误,甚至造成网站瘫痪,本站不承担任何责任。

 

{quickdown:951}

  1. 评论 (0)

  2. Add Yours

评论 (0)

这里还没有人发表评论

免费下载最新Joomla!核心中文版

扫描此二维码,立即开始下载 Joomla 3 核心中文版

付费下载汉化版扩展

付费后即可下载独家海量

Joomla! CMS 扩展汉化版

了解付费会员制度

点击这里给我发消息

了解 joomlagate.com 网站的付费会员制度