【发布时间】:2015-10-01 15:44:32
【问题描述】:
我正在考虑将公司内部 wiki 之一(非常基本的 wiki,很少/没有扩展,也没有那么多页面)移动到另一台机器上,并想知道是否可以同时升级 mediawiki 版本,从 1.6到当前最新的 1.25(为了使用仅适用于最新版本的扩展)
升级指南
https://www.mediawiki.org/wiki/Manual:Upgrading
似乎省略了设置目标版本还需要升级底层软件(apache、mysql)的场景。
和移动指南
https://www.mediawiki.org/wiki/Manual:Moving_a_wiki
严格建议源 wiki 和目标 wiki 共享相同的软件级别。
所以我有点卡住了。我会尝试导出/导入 xml 转储,但由于上述原因我没有信心(源 wiki 和目标 wiki 中存在巨大的版本差距)
或者有没有更好的方法来解决这个问题?谢谢
经过一些测试后编辑
我认为弗洛里安的回答是最安全和最明智的,但我会分享我想出的最终解决方案。
- 安装新的 wiki(空白)
-
导出原始 wiki 的 xml 转储
php maintenance\dumpBackup.php --full > dump.xml
我第一次遇到“无法连接到数据库”错误。所以我不得不添加LocalSettings.php 行
$wgDBadminuser=...
$wgDBadminpassword=...
-
在新 wiki 中导入 xml 转储(首先在试运行模式下尝试)
php maintenance\importDump.php --dry-run < dump.xml php maintenance\importDump.php < dump.xml
然后我被提示运行
php maintenance\rebuildrecentchanges.php
将物理文件从旧 wiki 复制到新 wiki,在同一路径中(对于普通 wiki,它们应该位于“images”文件夹中。我的情况不是这样)。
在新 wiki 中(手动)重新创建用户
上次编辑
LocalSettings.php时使用了我想保留的最基本设置(组、限制...)。
搬家就完成了!新的 wiki 没问题,在这个阶段已经可以使用:页面在那里,链接正在工作..
【问题讨论】:
-
我制作了一个脚本来自动更新/保存 mediawiki(即使使用 interwiki,以支持多语言),您可以在 github.com/Fro99666/BASH_froggLinuxWikiFamilyManager 找到它,它需要 linux、git(用于主 wiki 存储库),所以每次我想更新到最新版本,我只需要启动这个脚本。我希望它也能对你有用(顺便说一句,如果你这样做了,如果出现问题,请先备份!:P)
-
@Federico Destefanis:即使您编辑的方式看起来不错并且似乎对您有用(这很棒),但它存在一个大问题。例如,查看脚本中的警告:“警告:这不是完整的数据库转储!它仅用于公共导出”(goo.gl/wq73CC),这意味着数据库中的任何数据,可能由扩展名或其他内容会以这种方式丢失:) 不过:如果您没有/需要除页面之外的任何其他数据(AFAICT 它不包括用户帐户),它会正常工作。
标签: mediawiki