上周已經将一個測試站點從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
- 升級完成後全面檢查新網站
- 重點檢查擴展程序使用是否正常,是否需要跟蹤升級
- 查看各菜單項目,檢查一些語言設置文件是否變化
- 查看網站的各種代表性頁面,及時發現版本之間的不同點
- 注意查看頁面源文件的對比,包括是否正确使用文件緩存等
- 反複修改、檢查,直到确認完全升級成功
评论