上周已经将一个测试站点从1.16.0升级到1.23.5,后面将陆续升级其它网站,步骤记录如下:
一、预备
这一部分是每次升级都一样的:
- 阅读官方升级手册:http://www.mediawiki.org/wiki/Manual:Upgrading
- 阅读官方升级问答:http://www.mediawiki.org/wiki/FAQ#Upgrading
- 从官方网站下载mediawiki最新版本:http://www.mediawiki.org/wiki/Download
- 解压mediawiki软件包到服务器,例如解压到/usr/local/apache2/htdocs/mediawiki-1.23.5
- 修改皮肤文件Vector.php、复制设置文件LocalSettings.php、设置cache和images属性权限等,便于以后统一复制
- 设置站点公用的新设置文件,例如/usr/local/apache2/htdocs/common/CommonSettings-1.23.5.php
- 阅读新版本的UPGRADE和RELEASE-NOTES文件内容
- 下载需要更新的扩展程序
- 解压到扩展程序所在的目录
- 修改共用配置文件中的新扩展程序(例如DynamicPageList)、新配置参数(例如$wgCacheDirectory = "$IP/cache";)等
二、升级前
在老版本中预先修改系统界面:
- MediaWiki:Sitenotice
- MediaWiki:Lastmodifiedat
- MediaWiki:Purge
- MediaWiki:Searchmenu-new
- MediaWiki:Talkpageheader等
在Linux命令行下操作:
cd /usr/local/apache2/htdocs/ ; 来到apache站点根目录 mkdir path-1.23.5 ; 建立新目录 cp -r -p -a mediawiki-1.23.5/* path-1.23.5 ; 复制mediawiki 1.23.5的解压文件到新目录,保持原日期、权限等属性 cp path/favicon.ico path-1.23.5 ; 复制老目录中的favicon.ico到新目录,还有robots.txt,sitemap.xml等根目录下的文件 cp path/skins/common/images/wiki.png path-1.23.5/skins/common/images/wiki.png ; 复制老目录中的wiki.png到新目录 vi path-1.23.5/LocalSettings.php ; 修改新目录配置文件,设置站点名称、数据库IP、用户名、密码、格式、站点语言、共用配置等 vi path-1.23.5/skins/Vector.php ; 修改新目录皮肤文件,设置Google dfp、Analytics、Maps API等代码
三、升级中
在Linux命令行下操作:
vi path/LocalSettings.php ; 修改老目录配置文件,增加$wgReadOnly="Read Only Now (Update to 1.23.5)";,老网站改为只读方式 cd path-1.23.5/maintenance ; 进入升级程序所在的维护目录 php update.php ; 运行升级程序(也可以Web方式使用重新安装的办法来进行升级) rm -fdr path-1.23.5/images ; 删除新目录中的images目录及其下面的所有子目录、文件 mv path/images path-1.23.5 ; 移动老目录中的images目录到新目录(也可以用cp -rpa path/images/* path-1.23.5/images复制) mv path path-1.23.5 ; 将老目录更改名字,然后立刻用下面的填补 mv path/cache path-1.23.5/cache/html ; 如果访问太多、缓存数量太大,可将老的cache文件转移到新的版本中暂用,以后再更新 mv path-1.23.5 path ; 完成目录内容的更换,不用修改Apache的设置
四、升级后
- 根据需要,将MediaWiki重新生成的首页恢复为以前的内容
- 用showJobs.php查看工作队列,runJobs.php进行运行处理
- 根据需要运行refreshLinks.php, rebuildrecentchanges.php等
- 运行rebuildtextindex.php来重建文字索引(1.16版本中纠正了中文内部搜索错误的Bug)
- 检查generateSitemap.php是否正常工作(对--server参数的支持有问题,我换回1.15版本的php文件)
- 有简体变繁体克隆网站的情况,需要修改includes/HTMLFileCache.php,一般可以进行文件缓存
- 复制、修改robots.txt
- 升级完成后全面检查新网站
- 重点检查扩展程序使用是否正常,是否需要跟踪升级
- 查看各菜单项目,检查一些语言设置文件是否变化
- 查看网站的各种代表性页面,及时发现版本之间的不同点
- 注意查看页面源文件的对比,包括是否正确使用文件缓存等
- 反复修改、检查,直到确认完全升级成功
评论