MediaWikiのアップグレード手順

提供: Software Development Memo
移動先: 案内検索

バージョン1.15.1へのアップグレード手順を示します。

手順

DBとWebのデータをバックアップする

DBバックアップコマンド例

mysqldump -u <MYSQL_USER> -p <DB_NAME> > <DUMP_NAME>

Apacheを終了する

終了は必須ではありませんが、トラブル防止のために実施しました。

新たなMediaWikiのアーカイブファイルを既存ディレクトリに上書きする

コマンド例

tar zxvf mediawiki-1.15.1.tar.gz -C <APACHE_HOME>/htdocs/ --strip-components=1

AdminSettings.phpをコマンドラインから実行する(1.15.1 の場合)

注意 : 最新バージョンでは、既に使用できません

AdminSettings.phpは、ブラウザから実行できません。

コマンド例(maintenanceディレクトリに移動してください)

$ php update.php --aconf ../AdminSettings.php

エラーメッセージが出る場合は、AdminSettings.phpの設定が不適切であるかもしれません。

update.phpをコマンドラインから実行する(1.23.5 の場合)

ver 1.16.0 -> 1.23.5 にアップグレードを行いましたが、以前とアップグレード用ファイルが変更されていました。

cd /usr/local/apache2/htdocs/w/
php maintenance/update.php

関係ないですが、ページ編集時、Draft extention がエラーとなってしまい、処理続行できなかったので、コメントアウトしました。アップグレードが必要かも。

Apacheを起動する

補足

ver 1.16.0 -> 1.23.5 にアップグレード時の注意事項

公式サイトに記載はありますが、念のため備忘として残します。

Profilerのエラー

【事象】

ページアクセス時、下記のエラーが出る。操作一切不可。

Fatal error: Cannot redeclare wfProfileIn() (previously declared in /usr/local/apache2/htdocs/w/includes/profiler/Profiler.php:33) in /usr/local/apache2/htdocs/w/includes/ProfilerStub.php on line 24

【対処】

ファイルを移動。

/usr/local/apache2/htdocs/w/
mv StartProfiler.php StartProfiler.orig.php

Profilerが何なのかは知りません。

skinのエラー

【事象】

画面上部に、常に下記の Warning が出る。

Warning: A skin using autodiscovery mechanism, MySkin, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

Warning: A skin using autodiscovery mechanism, Simple, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

Warning: A skin using autodiscovery mechanism, Chick, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

Warning: A skin using autodiscovery mechanism, KindofBlue, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

Warning: A skin using autodiscovery mechanism, Standard, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

Warning: A skin using autodiscovery mechanism, Nostalgia, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /usr/local/apache2/htdocs/w/includes/Skin.php at line 74] in /usr/local/apache2/htdocs/w/includes/debug/Debug.php on line 303

【対処】

現状の skins フォルダを消して、新規の skins フォルダを上書き。

当サイトは、スキンは vector しか使用していないので、これで問題なし。skin の仕様変更があったようだが、詳細は知らない。

「特別:最近の更新」にアクセスできない

ver 1.16.0 -> 1.23.5 にアップグレード後、特別:最近の更新 を開こうとすると、画面が真っ白となり、apache の error_log に

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2147483648 bytes) in /usr/local/apache2/htdocs/w/includes/User.php on line 2439

のようなログが表示される。php のメモリ割り当てが少ないのかと思い、php.ini の 「memory_limit = 128M」を徐々に上げていったが、解決しなかった。

試しに、php のバージョンを 5.3 系の最新版である、5.3.29 に挙げてみたらエラーが解消された。根本原因は謎。(エラー発生時は、5.3.6 を使用していた)

ver 1.23.5 -> 1.27.1 にアップグレード時の注意事項

php 5.5 が必須

php 5.3 では動作しなくなっていました。また、mbstring と mcrypt も必要になっていました。libmcrypt も yum 経由で追加しています。

yum install libmcrypt 
yum install libmcrypt-devel

tar zxf php-5.5.38.tar.gz
cd php-5.5.38
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-mbstring --with-mcrypt
make
su
make install

mbstring が無いと、update.php 実行時にエラーになります。

php maintenance/update.php 
Error: Missing one or more required components of PHP.
You are missing a required extension to PHP that MediaWiki needs.
Please install:
 * mbstring <https://secure.php.net/mbstring>

mcrypt が無いと、MediaWiki ログイン時、画面に以下エラーが表示されます。

Exception encountered, of type "BadMethodCallException"

mcrypt インストールの代わりに、LocalSettings.php に

$wgSessionInsecureSecrets = true;

を記述してもエラーは回避できるのですが、公式サイトによると非推奨とのことです。

参考 : https://www.mediawiki.org/wiki/Manual:$wgSessionInsecureSecrets/ja

スキン読み込み

MediaWiki 1.24 以降は、スキン自動読み込みが無効になったようです。LocalSettings.php に

wfLoadSkin( 'Vector' );

を追加しました。

参考

更新履歴

  • 2016/08/29
    • ver 1.27.1 へのアップグレードの記述を追記
  • 2014/10/13
    • ver 1.23.5 へのアップグレードの記述を追記
  • 2010/01/10
    • ページ作成