Manual:Upgrading/ja



ファイル転送
ファイル転送の方法を選択してください:


 * wget
 * SCP または WinSCP でセキュアなコピー
 * SSH File Transfer Protocol (SFTP)
 * FTP クライアントを使用.
 * ホスティング会社がウェブブラウザ経由で使用できるファイルマネージャーを用意しているかもしれません. ご自分が契約しているプロバイダーを調べましょう.
 * その他の方法. これらのプロトコルの一覧は List of file transfer protocols にあります

準備
を読みましょう.


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

システム要件の確認
MediaWiki の要件は以下の通りです:


 * PHP +
 * 以下のうちいずれか 1 つ:
 * MySQL + (または同等の MariaDB)
 * PostgreSQL 8.3+
 * SQLite 3.3.7+
 * Oracle 9.0.1+

PostgreSQL をお使いの場合は、 もお読みください.

詳細情報については、 および をお読みください.

リリースノートを読む
配布用のtarballやGitからチェック・アウト/エキスポートしたファイルの中には、大文字で始まるファイルが沢山ありますが、その中の１つに  （wiki）があります. ファイルを開くなら「今」です. 今回のリリースでなにが変わっているのかを見てみましょう.

保留中のジョブの一掃
性能向上の理由で、データベースのいくつかの動作は先延ばしされており、ジョブキューで管理されています. それらのジョブはデータベースに格納され、実行すべき動作に関する情報をパラメーターに記録します. 新しいバージョンでジョブのパラメーターの指定方法が変更になり、ジョブの実行が失敗することを避けるために、wikiをアップグレードする前に、保留中のジョブを実行するように強く推奨します. を使用して全ての保留中のジョブを実行し、アップグレードを実行する前にジョブキューを一掃します.

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

 * Full instructions: 

アップグレード・スクリプトは良く管理され安定していますが、上手く行かない可能性はあります. データベース・スキーマを更新処理する前に、Wikiの完全なバックアップをしましょう. データベースとファイルのバックアップを両方とも行います.

ウィキはコンテンツです. データベースから表示しています. （キャラクターセットの設定は正確に. 最初に LocalSettings.phpを確認しましょう）. SQLデータベース・ダンプの他にXMLダンプを作成するのは良いアイデアです.
 * MySQLの場合、 コマンドでSQL dumpとXML dumpを使用します.

mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
 * PostgreSQLの場合、databaseのダンプ作成には を使います. 以下のように入力してください:

pg_dump --create -Fc wikidb > file.db.dump
 * SQLiteの場合、バクアップ作成にはMediaWikiスクリプトを使用します.

php wikifolder/maintenance/sqlite.php --backup-to file
 * 画像と他のメディアファイル（ ディレクトリの内容とカスタムロゴ /skins/common/images/wiki.png）
 * 設定ファイル. 例えば や （もしあれば）.
 * MediaWikiのプログラムファイル. 全てのスキンや拡張機能、とくにユーザーが修正を加えたもの.

tarball パッケージの使用
FTPやコマンドラインを使って、新しいファイルを設置することが出来ます. もし可能ならコマンドラインを使いましょう！FTPを通して数千のファイルを一つづつアップロードするよりもコマンドラインの方がだんぜん速いです.

tarball はサーバー上の新しい空のフォルダに解凍すべきです. そうせずに新しいバージョンを古いバージョンに直接展開するなら、 既存ファイルとデータベースのバックアップの指示に従いましょう. そうしないと上書きされて、カスタマイズした内容が分からなくなってしまいます. tarballをユーザーのMediaWikiの最上位フォルダに抽出すると、MediaWikiの古いバージョンのファイルが置き忘れられて、アップグレードされたコードを邪魔するかもしれません. お勧めは新しいファイルを新しいディレクトリに解凍して、それから新しいディレクトリをカスタマイズ（LocalSettings.phpやimagesフォルダ、拡張機能やカスタムスキンなど）することです.

FTP コマンドかグラフィカルか
コマンドラインからサーバへ接続できない場合、MediaWikiより.tar,gzファイルをダウンロードし、7zipで解凍することもできます.

ローカルで解凍したあとは、FTPクライアントアプリケーションでディレクトリとファイルをサーバへアップロードしてください.

コマンドライン
カレントユーザーがウィキをインストールするディレクトリに対する完全な書き込み権限を所有していない場合は、 でコマンドを実行する必要があるかもしれません. tarballパッケージを解凍すると、新しいバージョン用の新規ディレクトリが作成されます. 古いバージョンをインストールしたディレクトリから設定ファイルや画像ディレクトリをコピーします.

$ cd /path/to/your/new/installation/ $ wget https://releases.wikimedia.org/mediawiki//mediawiki-.tar.gz $ tar -xvzf mediawiki-.tar.gz $ rm mediawiki-.tar.gz

（Open）Solaris ユーザーは gtar を使用するか、または

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

その他のファイル
tarballを展開した後、古いバージョンをインストールしたディレクトリから新しい方へ幾つかのファイルやフォルダをコピーします.


 * 、ユーザーが行った構成設定が入っているファイルです.
 * ディレクトリ（古いバージョンの場合は ディレクトリ）. 初期設定では、ウィキにアップロードした全てのファイルが入っています. 所有権と権限を変更してください. と （ウェブユーザーが"apache"の場合）を実行します.
 * ディレクトリ内の拡張機能. 出来れば拡張機能も新しいバージョンを取得すべきです. 古い拡張機能が新しいバージョンのMediaWikiで動く保証はありません.
 * custom logoを使用している場合は、バックアップからファイルを復元する必要があります. 1.24以前は 、1.24以降は か （ユーザーの設定による）. それからLocalSettings.php に例えば を追加します.
 * ディレクトリからカスタム・スキン.
 * 古いバージョンでインストールしたファイルや拡張機能に加えた修正.
 * .htaccess ファイル（Apacheを使用し、何かルールを定義した場合）

完了したら、新しいフォルダをウェブサーバーの公開フォルダにします. もしくは古いインストールディレクトリの名前を変更して、新しい方を古い方の名前に変更します.

Git の使用
Gitを使用する場合、ファイルを全く新しい場所にエキスポートしてから、カスタマイズ済みのファイルを新しい場所に前述のようにコピーします.

MediaWiki 1.25以降を使用している場合、Composerで使用している外部のPHPライブラリやWikimedia wiki farmを維持管理するために提供されているコレクションもインストールする必要があるでしょう. インストールや外部ライブラリのアップデートの詳細はGit ダウンロード・ドキュメントで見つけることが出来ます.

パッチの使用
小型パッチは通常マイナーなバージョン・アップグレードに使用されます. the dumps siteからパッチファイルを手動でダウンロードして抽出して、以下のwgetの指示に従います. 増分パッチなので、バージョンをスキップすることは出来ません.


 * 1) MediaWikiディレクトリへ cd で移ってください. (一般的にLocalSettings.phpがある場所となります. )
 * 2) バッチファイルをダウンロードし、 gunzip で解凍してください.
 * 3)  を使い、パッチを適用すると変更されることを確認します（例えば  ）
 * 4) 以上がよろしければ、 無しで patch を実行してください.
 * 「特別:バージョン情報」を確認すると、新しいバージョン番号になっているはずです.

エラーを引き起こす可能性がある残留ファイル
古いバージョンをインストールしたディレクトリに新しいバージョンを解凍した場合、幾つかの古いファイルが問題を引き起こすかもしれません.

プロファイリングを使用しないのに、MediaWikiのルートフォルダに ファイルがある場合、 の参照エラーが表示されるかもしれません. 削除するか、名称を変更すれば、 ファイルはこのエラーを解決できます. MediaWikiのルートフォルダにある ファイルは将来のプロファイリングのテンプレートとして役立ちます.

MediaWiki 1.23ではコアスキンファイルの自動発見メカニズムを旧式化しました. このバージョンにアップグレードしたら、 ディレクトリ内の 、 、 、 ディレクトリや ディレクトリ内のサブフォルダを削除してください. それらのフォルダを見つけると、MediaWikiは注意喚起のために警告ログを記録します. （似たような理由でカスタムスキンの調整も必要かもしれません）. 詳細はご覧ください.

MediaWiki 1.24 はコア・スキンファイルのパスを変更しました. このバージョンにアップグレードしたら、 ディレクトリ内の 、 、 、 に古いファイルが存在しないようにして下さい. 詳細はをご覧下さい.

拡張機能のアップグレード
拡張機能の中にはMediaWikiの新しいバージョンで動くようにアップデートされている物があります. そのような拡張機能は必ず最新版にアップグレードしてください. 中には拡張機能をカスタマイズするために手動アップデートを実行する必要がある物があるかもしれません.

ディファレントtarballsは拡張機能の一部セット（サブセット）であり、 ユーザーのMediaWikiコア・リリースに応じて正しい機能を選択して、ユーザーのアップグレードを助けるバージョニングを行います.

拡張機能ディストリビューター は古いMediaWikiで動作する拡張機能のスナップショットが欲しい人に役立ちます.

もし多くの拡張機能が欲しいなら、Gitからダウンロードするのが最良の選択かもしれません.

今までのLocalSettings.phpの適用
今まで使用してきた古いバージョンの を使う場合、新しいバージョンが を使用できるように を修正する必要があるかもしれません.

外装の登録
MediaWiki 1.24から VectorやMonobookやModernやCologneBlueのような同梱されたスキンはMediaWiki のコアの一部ではなくなりました. それらを使用するためには に明示的に設定する必要があります. もしそうしないとMediaWiki はスキンがインストールされていないと警告します.

以下の設定は、1.24より前のバージョンからアップグレードして、以前同梱されていたスキンの1つを使用したい場合に に追加する必要があるものです.

このコードはMediaWiki 1.25より適用されました. MediaWiki 1.24を使用する場合、以下のコードを実行してください:

他のスキンは新しいskin registrationシステムに未だ適用されていないと思われるので、問題が生じた場合は、スキンごとに適切な登録方法をドキュメント・ページで参照してください.

拡張機能の登録
MediaWiki 1.25より、新しい 拡張機能の適用 システムが使われています.

以前は $LocalSettings.php で以下のようにインクルードしていたと思われます:

1.25より、以下のように置き換わります:

拡張機能は新しい拡張機能登録システムを使用するように作られています. 適合しない拡張機能は古い方法を使ってインストールすべきです. 詳細は各拡張機能のページのインストール指示を参照してください.

その他の変数
幾つかの変数は旧式になり、廃止された物もあります. の中にそれらの変数があっても、何の効果もありません. 新しいバージョンでは新しい変数が追加されたり、既存の変数の型が変更になっている事があります. MediaWikiは変数をまずデフォルトで使用してみて、型が変わっている場合は、後方互換性で使用します. どのような場合でも、リリースノートより変更点を見てください.

更新スクリプトの実行
MediaWiki データベースの更新には２つの方法があります. １つはコマンドラインから行うもの、１つはウェブブラウザから行うものです. もしサーバーにシェルアクセスが出来るなら、コマンドラインによる更新をお勧めします. その理由はタイムアウトやコネクション・リセットによる更新処理の中断のリスクを減らすことが出来るからです.

スクリプトはMediaWikiが必要とする依存ファイルが見つからない場合はダウンロードを試みます.

コマンドライン
サーバーのコマンドラインやSSHシェル他を使用しましょう. SSH経由でサーバーに接続してコマンドラインを使用しましょう. ローカルのMicrosoft Windowsのパソコンの場合は、PuTTYでSSHを使いましょう. コマンドラインやシェルで、 ディレクトリを移動してupdate scriptを実行しましょう.

$ php update.php Linuxサーバーでエラーが表示されたら、ルートとしてコマンドを実行してください. sudo php maintenance/update.php. Windows (例えば)の場合は、まず最初にウェブサーバー（例えばApache）やデータベース（例えばMySQL）が起動しているか確認してください. それからupdate.phpを実行します（右クリックで「開く」を選択してPHP.exe）. スキーマのアップグレードが完了したら、コマンドプロンプトの結果ウィンドウは自動的に閉じるようです.

PHPのバージョンが古すぎます、MediaWiki には新しいバージョンが必要です（your PHP version is too old and that MediaWiki needs a newer version）というメッセージが表示されるかもしれません. このメッセージのあとで、アップデートは中止されます. このエラーの理由は、ウェブサーバー上でユーザーのMediaWikiを動かしているPHPとは別のバージョンのPHPをコマンドラインが使用できるからです. もしこのメッセージが表示されたら、シェル上でPHPの新しいバージョンを使用できるか、php5やphp56などのコマンドを実行して確かめてください. もし別のバージョンが利用可能なら、- if so - under which name, depends on the setup of your server. もし動かないなら、ホスティング会社に尋ねてください. たぶん知っています.

MediaWikiは既存のスキーマを検査して、新しいコードが動くように更新し、必要に応じてテーブルやカラムを追加します.

ALTER command denied to user エラー（類似エラー）の対処法
スクリプトか以下のようなメッセージと共に中断することがあります.

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost) ERROR: must be the owner of the mytable relation

これは（最上位ディレクトリにある）のとの設定を確認しなさいと言う意味です. そこにはスクリプトがデータベースに接続するために必要なユーザー名とパスワードの設定があります.

unexpected T_STRING エラーの対処法
Individuals running update.php from the command line may encounter the following error:

 syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \ in ~/maintenance/commandLine.inc on line 13

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

Individuals who have their site hosted by providers who 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), type in the entire path to execute update.php

以下に例を示します:

 $ whereis php5 $ ls -la /usr/local/php5/bin $ /usr/local/php5/bin/php update.php

register_argc_argv is set to false エラーの対処法
以下のようなエラーが出力されると思われます:  Cannot get command line arguments, register_argc_argv is set to false


 * 1) ~/maintenance に行き、既存の'php.ini'を編集するか、作成してください.
 * 2) 以下のように行を追加します:

 register_argc_argv=true


 * 1) php update.php をもう一度実行します

Web ブラウザー

 *  も参照してください

データベースがすでに巨大だったり、稼働率が高い場合は、ウェブアップデートを使用すべきではありません. その理由は例えばmaximum_execution_timeに達した時、更新処理はタイムアウトするからです. そういう場合は （Webではなく）コマンドラインからupdate.phpを使用すべきです. これはまったくもってユーザーのサーバーに「大きすぎるほど大きく」依存します（例えばパフォーマンスやロードやスクリプト実行をどのくらい許すかというPHPの最大実行時間など）. Wikiがウェブアップデートを使用するには大きすぎるのに、ユーザーのホスティング会社がコマンドライン・アクセスを許可しない場合は、Wikiを他のホスティング会社に移す必要があります. できればシェル・アクセスが出来る会社が良いです.


 * 1) データベース・メンテナンスを実行する前はいつでもバックアップしてください.
 * 2) ウェブブラウザのURLに を入力します. 例えば、ユーザーのウィキが にあるなら、 と入力して下さい.
 * 3) ユーザーの使用言語を選択し、「次へ」をクリックします.
 * 4) インストールされているウィキが検出されます. 画面に表示される指示に従ってアップグレードします. もし「アップグレードキー」を尋ねられた場合はファイルを開いてに割り当てられたキーを探して下さい.

ウェブ・アップデーターが作動しないように思える時があるかもしれません. 最初の言語選択画面が表示される代わりに、空のWikiページが表示されるかもしれません. この場合、ユーザーのウェブサーバーがRewriteルールを使用している可能性が高いです（特にshort URLs）. これはmw-configではウェブアップデーターを表示せず、頭文字が大文字のMw-config/の時は表示します. この場合、.htaccessファイルの名前をアップデートの時だけ変更してください. そうすればウェブ・アップデーターにアクセスすることが出来るでしょう.

更新のテスト
アップグレードが完了したら、ウェブブラウザでwikiを見て、以下の操作が期待通りに出来るか確認しましょう.
 * 複数のページの閲覧
 * 複数のページの編集
 * ファイルを１つアップロード
 * Special:Versionを開いて、表示されるバージョンが正しいか、拡張機能があるかを確認します.

よくある質問


アップグレードはどのくらい大変ですか?
もし修正したファイルがだけで、1.5以降からアップグレードするなら、作業はとても単純です. 人間の作業は数分だけです. データベース・スキーマの変更時間はユーザーのデータベースの大きさに比例します. 数百万ページのWikiなら数時間かかる可能性があります. しかし千ページ以下の典型的な大きさなら、通常は数秒で完了します.

例えば1.13.0から1.13.1のようにメジャーバージョンが同じの「マイナーアップグレード」では、スキーマの変更は全く必要ありません. ユーザーはファイルの更新だけで済みます. データベースの更新は必要ありません. 従ってインストーラー・スクリプトの実行は必要ありません.

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  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, patch, Meld or WinMerge 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.

If you have modified the skin or use a custom skin you very likely will have to adjust it to work again with the new version of MediaWiki.
 * Instead of patching your "global" css and js (javascript) files everytime you can simply add the code to your MediaWiki:Common.js and MediaWiki:Common.css pages. As these are part of the database which will be reused when you upgrade, you will not have to patch the MediaWiki core files any more.

本当に古いバージョンからどのようにアップグレードすれば良いでしょうか？一段階で済みますか？何段階もかかりますか？
場合によります. MediaWiki 1.4以前からアップグレードする場合は、まず最初にMediaWiki 1.5にアップグレードすべきです. Latin-1のwikiからアップグレードする場合はupgrade1_5.php（MediaWiki 1.5にある）を使用して、データベースの関連部分をUTF-8をコンバートします（動作させるにはでにtrueを設定する必要）. 次にupdate.phpを実行し、LocalSettings.phpの オプションに以前のWikiで使用していたエンコーディングを設定します（例えばwindows-1252）. This is basically how Wikipedia and other Wikimedia Foundation sites were upgraded from MediaWiki 1.4 to 1.5 – see the relevant settings file (warning: huge page!) and some related notes at Wikitech. You may need to upgrade to MediaWiki 1.4 before running the upgrade1.5 script. If you want to make a database dump (e.g. MySQL) of your Latin-1 wiki, make sure the type of the  field in the  table is , not  , to avoid character encoding issues.

もし今使用しているバージョンがMediaWiki 1.5 以上なら、1ステップで最新の安定版へアップグレードできます. 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, このメーリングリストを読んで下さい. However, please note that when you update from old versions, chances that you will encounter PHP errors are bigger than when you upgrade from the version directly previous to the new version. You would have received these errors anyway, also if you had not skipped versions, but if you had each time done each single update. Only will you - when you skipped versions - get them all at the same time. この場合、アップグレードが更に難しくなるでしょうが、 but do not forget that you did not have the trouble updating to the intermediate versions, which you skipped!

バックアップは第一にするべきですか?
簡潔な回答: はい.

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. A PHP or MySQL error might happen during upgrade leaving your database partly upgraded. In such situations it may be possible to somehow fix this problem with much manual work. However, it will be way easier to just put a database backup from before running update.php in place and to continue with that. Otherwise you might have hours of - needless - work.

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 against the corresponding MediaWiki project in the upgrade process which caused the corruption.

自分のLocalSettings.phpを長持ちさせることは出来ますか？
はい、しかしユーザーは幾つかのマイナーな変更を行わなければならないかもしれません. のフォーマットは大部分が後方互換性です. LocalSettings.phpの互換性を壊すような変更はリリースノートの「後方互換性のない変更」節に文章化されて公表されます.

アップグレード中にwikiをオンラインに出来ますか？
一般的にはYESです. しかしGitは一時的に（数秒）Wikiを壊す可能性があります.

MediaWikiのマイナーリリース間のアップデートなら、行うべきことはソースファイルを更新するだけです.

注意: 以下はコマンドラインによる操作を想定しています. MediaWikiのメジャーリリース間のアップデートを行う場合に推奨される手順は以下の通りです.
 * 1) MediaWikiの新バージョンを新規ディレクトリに解凍します.
 * 2) 新しいバージョンのディレクトリの準備: 古いバージョンのディレクトリから設定済みのLocalSettings.phpをコピーし、インストール済みの拡張機能やカスタムスキン（もしあるなら）をコピーします. LocalSettings.phpの 設定を確認して、もし必要ならロゴファイルを古いバージョンのディレクトリから新しい方にコピーします.
 * 3) 新しいバージョンのリリースノートに、LocalSettings.phpに行う必要のある変更がないか調べる.
 * 4) 古いバージョンのディレクトリのLocalSettings.phpに以下の変数を挿入して、データベースを読み取り専用にする. アップグレード処理の間に利用者が編集しようとすると、以下のメッセージが表示される
 * 5) アップデート・スクリプトまたはウェブアップデーターを新バージョンのディレクトリで実行する.
 * 6) 古いバージョンのディレクトリ内のimagesディレクトリから新バージョンのディレクトリに画像をコピーする.
 * 7) 古いバージョンのディレクトリと新バージョンのディレクトリを交換する.

アップグレードする理由

 * ''Subscribe to mediawiki-announce to be notified of new releases.

Because it's usually easy enough, a single step from your version to latest and also via web.

Recent releases receive security fixes to keep your wiki and your host safe from vandals, while old releases don't (see ). That makes dozens good reasons to upgrade!

New major releases come with new features, which you might want to use: see the release notes for details. In case you need additional arguments to convince your bosses to let you upgrade from a pretty old version, here is a summary:


 * Since 1.5, edits can be previewed before saving also as diff.
 * Since 1.9, an undo button is available.
 * Since 1.12, patrolling on Special:NewPages is much easier.
 * Since 1.13, you can rename (move) files.
 * Since 1.14, you can fix double redirects automatically.
 * Since 1.16, is available.
 * If you have appropriate caching, since 1.17 optimizes pageload speeds a lot.
 * Since 1.17, category sorting makes sense! (especially for non-English letters); extended to 68 languages after 1.21.
 * Since 1.18 and 1.19, users of all languages and genders are correctly addressed by the interface and logs (before 1.15, no gender at all).
 * In 1.19 the skinning system was reworked making it easier to reuse parts of existing skins in your own skins.
 * Since 1.20, diffs are more readable.
 * In 1.21 and 1.23, email notifications become clearer and more predictable, making your wiki more effective.
 * Since 1.22, vandal fighting (patrolling) is less time-consuming.

See also the list of the most voted fixed issues on up to 2014.

Also, in MediaWiki 1.18 we started bundling some vital extensions, like a better editor and anti-vandalism tools ConfirmEdit and Nuke; more have been added in later releases. 

関連項目

 * Greg Sabino Mullane's Blog post provides some more detail about point release upgrades.
 * Project:Support desk if you need help or something went wrong
 * (バックアップに失敗した場合)
 * (バックアップに失敗した場合)
 * (バックアップに失敗した場合)
 * (バックアップに失敗した場合)
 * (バックアップに失敗した場合)