Manual:Upgrading/ja



概要
最初に、MediaWikiに入っている UPGRADE テキストファイルをお読みください.


 * 1) 要件を確認する
 * 2) リリースノートを読む
 * 3) 既存のファイルとデータベースをバックアップする
 * 4) 新バージョンのファイルを展開（解凍）する
 * 5) 更新スクリプトを実行してデータベースをチェックする
 * 6) 拡張機能（エクステンション）をアップグレードする
 * 7) 更新を確認する

システム要件を確認する
MediaWiki のシステム要件は次のとおりです.

PHP

 * PHP 5.0.x 以上
 * PHP 5.1.x または 5.2.x、5.3.x（5.3.1 はバグがあるため除く）の使用を推奨します.
 * 特定の64ビットプラットフォーム上の PHP 5.0.xには、MediaWikiに根本的な問題を引き起こすバグがあることに注意してください. x86_64（AMD64、EMT64）または影響のあるその他の64ビットプラットフォーム上で稼動させる場合、PHP 5.1.x または 5.2.x が要件となります.

DBMS

 * MySQL 4.0.x 以上
 * バージョン 3.x は MediaWiki 1.6.0以降ではサポートされていません.

または

なお、Cロケールで日本語全文検索をできるのはPostgreSQL 8.2.2以降です. 8.2.1はパッチを適用する必要があります.
 * PostgreSQL 8.1 以上
 * Postgres 8.1 または 8.2 で稼動させる場合は tsearch2 および plpgsql モジュールも必要となります.
 * Upgrading Postgres も参照のこと.

リリースノートを読む
tar形式の配布パッケージまたはSVNからチェックアウト／エクスポートしたファイル群の中に、ファイル名が大文字のファイルがいくつかあります. そのうちの一つが RELEASE-NOTES です. 今すぐファイルを開いて、このリリースで何が変わったのかを確かめましょう.

既存のファイルとデータベースをバックアップする

 * 完全な説明書： Manual:Backing up a wiki/ja

アップグレードスクリプトがよく整備され堅牢であるとはいえ、失敗も起こりえます. データベース構造を更新する前に、データベースとファイルの両方を含む、wikiの完全なバックアップを取得してください.


 * wikiのコンテンツをデータベースより. SQLデータベースダンプに加えてXMLダンプを取っておくのもよい考えです.
 * MySQL:
 * テキストダンプ： mysqldump --all-databases > file.txt
 * xmlダンプ： mysqldump --all-databases --xml > file.xml
 * PostgreSQL:
 * pg_restore の出力： pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
 * SQLite:
 * php maintenance/sqlite.php --backup-to filename
 * 画像およびその他のメディアファイル（images ディレクトリの中身）
 * 設定ファイル、すなわち LocalSettings.php</tt> および AdminSettings.php</tt> （存在する場合）
 * MediaWikiのプログラムファイル. すべてのスキン・拡張機能を含む. 自分で変更した場合は特に.

tar形式パッケージの利用
tarballパッケージを使う場合、旧バージョンのMediaWikiが稼動しているサーバ上でファイルを展開します. tarballパッケージを解凍するとき、通常はwikiの新バージョン用の新規ディレクトリが作成され、新ファイルとディレクトリを現行のwikiディレクトリにコピーしなければなりません. そうする代わりに、展開と同時に既存ファイルを置き換えて1ステップでこれを実行するには、次のコマンドを用います.

$ tar xvzf mediawiki-.tar.gz -C /path/to/your/wiki/ --strip-components=1

古いLinuxディストリビューション（すなわち RHEL/CentOS 4.x）上では、

$ tar xvzf mediawiki-.tar.gz -C /path/to/your/wiki/ --strip-path=1

--strip-components や --strip-path フラグのない旧バージョンのtar（例えば GNU tar 1.13.x）を使っている人は、次のとおりに -C オプションなしでアーカイブを展開し、その後、旧wikiディレクトリの中に最新パッケージの中身を再帰的にコピーします.

$ tar xvfz mediawiki-.tar.gz $ cp -r mediawiki-/* /path/to/your/wiki/

(Open)Solarisユーザは gtar を使うか、または

$ gzip -dc mediawiki-.tar.gz | tar xf -

Windowsユーザはtarballの展開に7zipが使えます.

Subversionの利用
Subversionを使う場合、クリーンな場所にファイルをエクスポートします. ディレクトリ構造を保ったまま、すべての既存ファイルを新バージョンで置き換えます. これでコアコードが最新になります.

更新スクリプトを実行する <span id="Run_the_update_script">
注： 1.16以前のwikiへアップグレードする場合、wikiのルートに AdminSettings.php</tt> ファイルが存在し、最新の情報が入っていることを確かめてください. ユーザにはデータベースのフルパーミッション（シェルアクセス）が必要です.

推奨する更新実行方法はコマンドラインのメンテナンススクリプトを使うことですが、webベースのインストーラを再実行することも可能です.

シェル
コマンドラインまたはSSHシェルの類で、maintenance</tt> ディレクトリに移動し、更新スクリプトを実行します.

$ php update.php

Windows上の simple installations向けの注意（XAMPPなど）： .php ファイルが PHP.exe と関連付けられていれば、update.php ファイルの実行（ダブルクリック）によりスクリプトを実行できます（そうでない場合は update.php を右クリックして「プログラムから開く」（Open With）を選び、PHP.exe をブラウズします）. サーバアプリケーション（Apacheなど）やデータベース（MySQLなど）の稼動中に行うこと.

MediaWikiは既存の構造を検査し、必要応じてテーブルやカラムを追加し、新しいコードで動作するよう構造を更新します.

「No superuser credentials」エラーの対処法
In case the scripts abort with a message:

"No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See AdminSettings.sample for more details"

This means that you should check that you have defined $wgDBadminuser and $wgDBadminpassword in your LocalSettings.php file (in the main directory). These are the user and password needed by this script in order to access to the database.(Note: Prior to MediaWiki 1.16, these variables were located in . This file was removed in 1.16 and the variables were moved to LocalSettings.php.)

「unexpected T_STRING」エラーの対処法
Individuals running update.php from the command line may encounter the following errpr: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ~/mainteance/commandLine.inc on line 13

This error occurs when update.php is run from php4.

Individuals who have their site hosted by providers whom provide both php4 and php5 should take the following steps:
 * 1) from the command line, enter the command 'whereis php5'
 * 2) once you have discerned the location of the php5 path, list the contents of php5/bin directory
 * 3) once you've determined the name of the php executable (either php or php5), then type in the entire path to execute update.php

Below is an example: $ whereis php5 $ ls -la ls /usr/local/php5/bin $ /usr/local/php5/bin/php update.php

phpShell
フルパーミッション／シェルアクセスが利用できない場合、PHP関数を利用してコマンドプロンプトをエミュレートするphpShellなどの選択肢を考えてください. これはロックダウンされたホスティング設定上では動作しないかもしれません.

このような解決策を利用するとき、スクリプト開始時の秒読み期間を飛ばす方がよい場合がよくあります. そうするには更新スクリプトに --quick</tt> オプションを渡します.

$ php update.php --quick

様々なPHPバージョンがインストールされている場合、「php」ではなく「php5」を使わなければならないかもしれません. phpshellでは、phpshellがウェブサーバからの実行であるために、スクリプトが終了してしまわないよう commandLine.inc および LocalSettings.php ファイルの編集が必要かもしれません. 次のように実行することにより、この問題を回避できる可能性があります.

$ unset REQUEST_METHOD; php update.php --quick

これは、スクリプトを終了させる存在である REQUEST_METHOD 環境変数を廃棄した上でスクリプトを実行します.

インストーラを再実行する
シェルからの更新スクリプト実行に代わる方法の一つは、webインストーラを再実行することです. 次の手順で行ないます.


 * 1) LocalSettings.php</tt> を LocalSettings.old.php</tt> にリネーム（改名）します
 * 2) config</tt> ディレクトリをwebサーバが書き換えられるようにします
 * 3) データベースユーザにデータベースの全権限があることを確認します
 * 4) ブラウザでwikiにアクセスしてインストーラを起動します
 * 旧バージョンのインストール時と同じ値を入力欄に記入します.
 * スクリプトは、インストール処理を開始するときに既存のMediaWikiテーブルを検出し、テーブル構造をアップグレードします.
 * 完了すると、新しい LocalSettings.php</tt> が生成されます.
 * 1) 新しい設定ファイル（LocalSettings.php</tt>）を削除します
 * 2) LocalSettings.old.php</tt> を元の LocalSettings.php</tt> にリネームします
 * 3) config</tt> ディレクトリのパーミッションを元に戻します

拡張機能をアップグレードする
拡張機能（エクステンション）は、新バージョンのMediaWikiで動作するために更新されています. 必ず最新バージョンにアップグレードしてください. 手動でカスタム拡張機能に更新する必要があるかもしれません（訳注： 原文の意図ががつかめず. You might need to perform manual updates to custom extensions.）.

更新を確認する
アップグレードが完了したら、ブラウザでwikiを表示し、次の操作が期待どおりに動くか確認します.
 * ページの表示
 * ページの編集
 * ファイルのアップロード

Special:Versionを開き、バージョン表示が正しいことと拡張機能が存在することを確認します.

アップグレードはどのくらい大変ですか？
If the only file you have modified is LocalSettings.php, and you are upgrading from 1.5 or later, the process is very simple. The amount of human work involved is only a few minutes. The database schema changes will take an amount of time proportional to the size of your database -- potentially hours for wikis with millions of pages, but for a more typical size of a few thousand pages, it is usually done in seconds.

Minor upgrades, within the same major version, say from 1.13.0 to 1.13.1, do not require any schema changes at all. You can just update the files.

Upgrading from 1.4 or earlier is potentially complicated because support for character sets other than UTF-8 was dropped, and the schema for storing bulk text changed. Please read the relevant section in the UPGRADE</tt> file.

Upgrading becomes difficult if you have modified our source code, and you don't want your changes to be overwritten. Tools such as diff and patch may be useful. There is also potential for trouble if you are using unmaintained extensions. Upgrade your extensions at the same time as you upgrade MediaWiki.

とても古いバージョンからのアップグレードはどのように行ないますか？一段階で？数段階？
In one step, from your old version to the latest stable version. The vast majority of reports, as well as automated testing, indicate that doing it in one step works just fine.

If you have trouble believing this, read this mailing list post.

最初にバックアップすべきですか？
Short answer: yes.

Long answer: it depends on a) how much you value your data, b) how hard it is to create a backup and c) how confident you are with MySQL maintenance and administration.

An upgrade failure may leave your database in an inconsistent state, in between two versions. It may move an important table to a temporary name and then fail before it recreates the table correctly. It may change a field definition to an incorrect data type. It is very rare for an upgrade to cause irreversible data loss. More often, data corruption occurs which can be reversed by a skilled administrator.

Recovery is often complex. Volunteers on the support forums are unlikely to be impressed if you neglect to make a backup and then need help to recover from upgrade-related corruption. A better outcome is if you can revert to your backup, and then report the bug in the upgrade process which caused the corruption.

自分の LocalSettings.php を使い続けられますか？
Yes, but you may have to make some minor changes. The format of LocalSettings.php is largely backwards compatible. Changes which break LocalSettings.php compatibility will be documented in the "configuration changes" section of the release notes.

アップグレード中もwikiをオンラインのままにできますか？
はい、できます.

MediaWikiのマイナーリリース間のアップグレードであれば、ソースファイルを更新するだけです.

MediaWikiのメジャーリリース間の更新の場合、推奨手順は次のとおりです.


 * 1) 新しいディレクトリの中にMediaWikiの新バージョンを展開します
 * 2) 上記新ディレクトリを整える： 旧ディレクトリから現行の LocalSettings.php をコピー、インストールしてある拡張機能とカスタムスキンをコピーします（もしあれば）.
 * 3) 旧ディレクトリの LocalSettings.php で読み取り専用モードを有効にします.


 * 1) 新ディレクトリでアップグレードスクリプトを実行します.
 * 2) 旧ディレクトリと新ディレクトリを入れ替えます.