|
本帖最后由 StephDC 于 2013-9-26 12:07 编辑
之前我一直都没敢直接升级是担心一个升级过去所有的界面什么的都变得一团糟……后来发现原来像美工之类的东西都是用的是 GuMax 皮肤自带的,这样的话升级就简单了
首先确认下有没MediaWiki所在服务器的shell access,有的话,连上——如果在 CPanel 里面有提供 shell/SSH 之类的东西的话,打开它,然后在本机用PUTTY(Windows)或ssh命令(Linux/Mac/其他类Unix系统)连上;如果是自己配置的服务器而且是 LAMP 的话,装 openssh-server 然后启动它,然后在本机用PUTTY(Windows)或ssh命令(Linux/Mac/其他类Unix系统)连上;如果服务器就在你旁边而且是 LAMP 的话,恭喜,你只要打开终端或者进入控制台就可以了。
如果没有以上任何一种……那就有些麻烦了。我不大确定Crontab是否足以执行这些指令。或者只能勉强用ftp和phpMyAdmin这类东西来改。以下我先假设你有 shell access
首先
第一步、备份!
参考 http://www.mediawiki.org/wiki/Backup
先备份最重要的数据库- mysqldump -h {{{hostname|localhost}}} -u {{{userid|yourLoginName}}} --password --default-character-set={{{whatever|utf8}}} {{{dbname|wiki}}} > {{{filename|backup.sql}}}
复制代码 原谅我用MediaWiki模板参数的语法来写这行命令……好吧前面是 mysqldump,后面先指定 mysql 服务器地址,如果是 localhost 可以省略 -h 参数;然后指定用于访问数据库的用户名,如果和你登陆shell的用户名一致也可以省略;然后 --password 强制要求我们输入密码;然后是默认字符编码方式,如果是utf-8就可以省略,不是的自己改;然后写下MediaWiki用的数据库表名称,例如 wiki 或者 mw 什么的;最后再写下导出的文件名,例如 backup.sql 。除了 --password,数据库表名称和导出的文件名为必填项外,其他全部都是选填的。
然后文件备份——请容许我偷个懒- cd /var/www/
- mv wiki wiki-bak
复制代码 好了,瞬间搞定 :D
當然如果不要偷懶精確備份關鍵文件而減少備份文件體積的話……那就- cd /var/www
- mkdir wiki-bak
- mv wiki/extensions wiki-bak
- mv wiki/images wiki-bak
- rm -fr wiki
复制代码 第二步、更新MediaWiki文件
从 http://www.mediawiki.org/wiki/Download 上面下载一份选定版本的 .tar.gz 包。你可以下载到本机然后解压缩了之后上传,或者像我一样偷懒——- wget http://download.wikimedia.org/mediawiki/1.21/mediawiki-1.21.2.tar.gz
- tar xf mediawiki-1.21.2.tar.gz
- mv mediawiki-1.21.2 wiki
复制代码 理论上说服务器的网速比本机应该是快很多的,所以这样应该会比下载再上传快。
或者如果想用最新版本而且还不用担心未来的升级问题的话,欢迎使用git,傻瓜的版本控制系统。前提是你服务器上有装 git 。- git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git wiki
复制代码 这样以后如果版本更新了,只要 cd /var/www/wiki 然后执行 git pull 就可以自动升级了。如果有支持 Crontab 的話還可以把以下命令寫進去,這樣每日/周/月都會自動更新到最新版本了:- cd /var/www/wiki && time git pull
复制代码 第三步、将旧版的信息移回新版——主要是以下几个文件/目录:
- wiki/LocalSettings.php
- wiki/extensions/*
- wiki/images/*
全部 cp 过去就好了 :D- cd /var/www/wiki
- cp ../wiki-bak/LocalSettings.php .
- cp -fr ../wiki-bak/extensions .
- cp -fr ../wiki-bak/images .
复制代码 第四步、刷数据库(危险!)
由于这步极易出错,因此一旦出现问题,请马上从备份还原整个MediaWiki,并联系 MediaWiki 开发组。- cd /var/www/wiki/maintenance
- php update.php
复制代码 如果没问题,那就去网站那里看看效果吧~~~
所以最后总结shell命令文件(updategit.sh):- mysqldump --password $1 > backup.sql
- mv wiki wiki-bak
- git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git wiki
- cp wiki-bak/LocalSettings.php wiki
- cp -fr wiki-bak/extensions wiki
- cp -fr wiki-bak/images wiki
- cd wiki/maintenance
- php update.php
复制代码 把文件 updategit.sh 放在 网站根目录下,然后用 chmod a+x 加入执行权限,然后 ./updategit.sh
第五步、把原來的 GuMax 皮膚裝回來
由于之前我們并沒有改動 LocalSettings.php 和數據庫,因此只要將 GuMax 皮膚文件下載到該在的地方就可以了。這裏就直接參考 GuMax 的網站來下載吧
http://www.paulgu.com/wiki/Horizontal_Navigation_Menu_Series
檢查過應該這樣就沒問題了。老大來幫忙升個級試試吧~有問題記得戳我 :D @equn
|
|