Manual:アップグレード

From mediawiki.org
This page is a translated version of the page Manual:Upgrading and the translation is 81% complete.
パッケージのダウンロード

基本的な概要

ファイル転送

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

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

準備

MediaWikiに含まれるUPGRADE テキストファイルを読みましょう。

  1. 要件を確認する
  2. RELEASE-NOTES ファイルを読む
  3. UPGRADE ファイルを読む
  4. 既存のファイルとデータベースをバックアップする
  5. 新しいファイルを展開する
  6. 拡張機能をアップグレードする
  7. 更新スクリプトを実行してデータベースをチェックする
  8. アップグレードをテストする
  9. 過去にインストールしたバージョンに由来する残ったファイルを除去する

システム要件の確認

警告 警告: MediaWiki 1.32 ~ 1.35.4、1.36.2、1.37.0 には、特権昇格と任意のページの編集や任意の JavaScript の実行を可能にする、セキュリティ上の問題が含まれています。 これらのバージョンのいずれかを使用していて、新しいバージョンにアップグレードできない場合は、2021-12 セキュリティについて/FAQ を参照して回避策を講じてください。
警告 警告: Do not upgrade from a MediaWiki version older than 1.33 to MediaWiki 1.39.1, or you may lose data! Upgrade to MediaWiki 1.35 first. See タスク T326071.

MediaWiki 1.41 の要件は以下の通りです:

  • PHP 7.4.3+
  • 以下のうちいずれか 1 つ:
    • MariaDB 10.3.0+
    • MySQL 5.7.0+
    • PostgreSQL 10.0+
    • SQLite 3.8.0+
バージョン 1.36 以降、MediaWiki は 2 つの主要な LTS リリース からのアップグレードをサポートすることのみを保証しています (phab:T259771 を参照)。 MediaWiki の古いバージョンからのアップグレードは、複数のステップで実行する必要があります。 これは、1.34 以前のバージョンから 1.41 にアップグレードする場合、最初に 1.34 のウィキを 1.35 (または 1.39) にアップグレードし、さらに 1.35 (または 1.39) から 1.41 にアップグレードする必要があることを意味します。

PostgreSQL をお使いの場合は、Manual:Upgrading Postgres もお読みください。

詳細情報については、Manual:インストール要件 および 互換性 をお読みください。

リリースノートを読む

配布物の tarball 内、または Git からチェックアウト/エクスポートされたファイルの中に、ファイル名が大文字のファイルがいくつかあり、そのうちのひとつに RELEASE-NOTES (ウィキ) が含まれています。 ファイルを開くなら「今」です。今回のリリースでなにが変わっているのかを見てみましょう。 UPGRADEファイルに書かれた説明も読んでください。

保留中のジョブの一掃

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

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

完全な説明: Manual:ウィキのバックアップ

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

ウィキはコンテンツです。データベースから表示しています。(キャラクターセットの設定は正確に。最初に LocalSettings.phpを確認しましょう)。SQLデータベース・ダンプの他にXMLダンプを作成するのは良いアイデアです。

  • MySQLの場合、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_restoreを使います。以下のように入力してください:
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite の場合、バックアップ作成には MediaWiki スクリプトを使用します:
php wikifolder/maintenance/sqlite.php --backup-to file
  • 画像と他のメディアファイル(imagesディレクトリの内容とカスタムロゴ /skins/common/images/wiki.png)
  • 設定ファイル。例えばLocalSettings.php.htaccess(もしあれば)。
  • MediaWikiのプログラムファイル。すべての外装や拡張機能、とくに利用者が修正を加えたもの。

新しいファイルの展開

tarball パッケージの使用

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

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

FTP コマンドかグラフィカルか

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

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

cPanel ファイル マネージャー

cPanel is a popular interface provided by many web hosts. This method is efficient because the files are uncompressed on the server itself.

  • Navigate to the directory that holds your wiki folder.
  • Upload the mediawiki-1.xx.x.tar.gz file. You may need to hit "Reload" to see it.
  • Extract the mediawiki-1.xx.x.tar.gz file. Reload again.
  • Confirm that the mediawiki-1.xx.x folder is present.
  • Delete the tar.gz file.
  • Copy all necessary skins, extensions, image folders, customizations, and the LocalSettings.php into the new folder. (See below.)
  • When you are ready to run update.php, rename your old wiki folder and your new wiki folder. (e.g. "w" becomes "w1.34" and then "mediawiki1.35.0" becomes "w".) This step is easily reversible if you run into problems.

コマンドライン

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

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

(Open)Solaris の利用者はgtarを使用するか、または:

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

その他のファイル

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

  • LocalSettings.php - contains your old configuration settings.
  • imagesディレクトリ(古いバージョンの場合はuploadsディレクトリ)。初期設定では、ウィキにアップロードした全てのファイルが入っています。所有権と権限を変更してください。find ./images -type d -exec chmod 755 {} \;chgrp -R apache images(ウェブユーザーが"apache"の場合)を実行します。
  • extensionsディレクトリ内の拡張機能。出来れば拡張機能も新しいバージョンを取得すべきです。古い拡張機能が新しいバージョンのMediaWikiで動く保証はありません。
  • custom logoを使用している場合は、バックアップからファイルを復元する必要があります。1.24以前はskins/common/images/、1.24以降はresources/assets/images/(ユーザーの設定による)。それからLocalSettings.php に例えば$wgLogo = "$wgScriptPath/images/logo.png";を追加します。
  • バージョン1.35では、wgLogos からロゴを復元し、LocalSettings.php に設定を追記する必要があるかもしれません (例: $wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];)。
  • skins ディレクトリからカスタム外装。
  • 古いバージョンでインストールしたファイルや拡張機能に加えた修正。
  • .htaccess ファイル(Apacheを使用し、何かルールを定義した場合)

完了したら、新しいフォルダをウェブサーバーの公開フォルダにします。もしくは古いインストールディレクトリの名前を変更して、新しい方を古い方の名前に変更します。 ウェブ サーバーがファイルにアクセスできるように、すべてのファイルの所有者とグループを変更します。

Git の使用

Git を使用する場合は、ファイルをクリーンな場所にエクスポートし、前の節で説明したように、古いカスタマイズ済みのファイルを新しい場所にコピーします。

Composer で使用している外部の PHP ライブラリやウィキメディアのウィキ ファームを保守するために提供されているコレクションもインストールする必要があるでしょう。 インストールや外部ライブラリの更新の詳細はGit ダウンロードの説明文書ドキュメントで見つけることができます。

パッチの使用

小型パッチは通常マイナーなバージョン アップグレードに使用されます。 パッチを適用するには、patchをダウンロードしてください。 ダンプ サイトからパッチ ファイルを手動でダウンロードして抽出して、下記の wget の指示に従います。 増分パッチなので、バージョンをスキップすることはできません

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

エラーを引き起こす可能性がある残留ファイル

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

拡張機能のアップグレード

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

ディファレントtarballは拡張機能の一部セット(サブセット)であり、 利用者のMediaWikiコア リリースに応じて正しい機能を選択して、利用者のアップグレードを助けるバージョニングを行います。

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

もし多くの拡張機能が欲しいなら、Gitからダウンロードするのが最良の選択かもしれません。 もしあなたがGitを持っていなくてもたくさんの拡張機能をアップグレードしたいのなら、mwExtUpgraderを使うことを検討するのがよいかもしれません。

今までのLocalSettings.phpの適用

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

外装の登録

MediaWiki バージョン:
1.24

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

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

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

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

拡張機能の登録

MediaWiki バージョン:
1.25

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

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

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

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

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

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

Remove DefaultSettings.php line (if necessary)

Older versions of MediaWiki automatically generated a line in LocalSettings.php calling DefaultSettings.php . As of Version 1.38, this line is deprecated and does not work with many extensions. It needs to be removed.

Delete the following line:

require_once( "$IP/includes/DefaultSettings.php" );

その他の変数

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

更新スクリプトの実行

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

The script will also notify you if any of MediaWiki core's PHP dependencies are out of date.

コマンドライン

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

MediaWiki バージョン:
1.40
$ php maintenance/run.php update.php
MediaWiki バージョン:
1.39
$ php maintenance/update.php

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

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

共有データベースを使用している場合、 共有テーブルを更新したいなら--dosharedパラメーターを付けてください。そうしないと更新スクリプトがテーブルを操作できません。

What to do if it says "MediaWiki requires PHP x.y.z or higher; you are using PHP x.w.v"

See Manual:Common errors and symptoms#MediaWiki requires PHP 7.4.3 or higher; you are using PHP 7.3.17

What to do if php update.php fails to do anything, resulting in a quick pause and then return to command prompt

This can be caused by a malfunctioning extension or skin.

  • Check that all extensions and skins called for in LocalSettings.php are present
  • Check that extensions are using the correct registration method (wfLoadExtension vs. require_once)
  • Comment out the first half of the extensions in LocalSettings.php.

If this causes update.php to work, uncomment half of that half (so 1/4 of the extensions). If this does NOT cause update.php to work, uncomment the first half but comment out the second half, and then comment out half of the second half, etc. Repeat until update.php works to find the one that is failing.

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 

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

In some cases, an old $wgDBmwschema variable (for Postgres) seems to be read for the table name to update instead of $wgDBname, even when MySQL is used. If this is the case, just get rid of the $wgDBmwschema definition in LocalSettings.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 ブラウザー

MediaWiki バージョン:
1.17
update.php も参照してください

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

  1. データベース・メンテナンスを実行する前はいつでもバックアップしてください。
  2. ウェブ ブラウザーで /mw-config/index.php を開きます。 例えば、ご利用のウィキが http://example.org/w/index.php にある場合は、http://example.org/w/mw-config/index.php を開いてください。
  3. 使用言語を選択し、「次へ」をクリックします。
  4. インストールされているウィキが検出されます。画面に表示される指示に従ってアップグレードします。
    もし「アップグレードキー」を尋ねられた場合はLocalSettings.php ファイルを開いて$wgUpgradeKey に割り当てられたキーを探して下さい。

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

警告 警告: この方法を使った場合はアップグレード・スクリプトを実行した後に、必ず「.htaccessファイルの名称を元に戻して」ください。そうしないとshort URLやもしかすると他の物が壊れます!


更新のテスト

アップグレードが完了したら、ウェブブラウザでwikiを見て、以下の操作が期待通りに出来るか確認しましょう:

  • 複数のページの閲覧
  • 複数のページの編集
  • ファイルを1つアップロード
  • Special:Versionを開いて、表示されるバージョンが正しいか、拡張機能があるかを確認します。

Remove leftovers from old installations

If you have copied your previous installation to another folder on the server, be sure to remove it or make it completely inaccessible from the web. It is very important to not leave old installations accessible from the web, since it completely defeats the purpose of upgrading, and leaves your server open to attacks.

よくある質問

アップグレードはどのくらい大変ですか?

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

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

1.4以前からのアップグレードは複雑になる可能性があります。その理由はUTF-8以外の文字セットへの対応が廃止され、大量の文章データを並べ替えるソート構造が変わったからです。UPGRADEファイルの関連する節を読んで下さい。

あなたが私たちのソースコードを修正していて、修正を上書きされたくない場合は、アップグレードは複雑になります。diffpatchMeldWinMergeのようなツールが役に立つかもしれません。あなたが維持管理がなされていない拡張機能を使用している場合も、手間がかかる可能性があります。MediaWikiを更新する時は、拡張機能も一緒に更新しましょう。

あなたが外装を修正したり、カスタム外装を使用している場合は、それらが新しいバージョンのMediaWikiで動くように調整しなければならなくなる可能性が高いでしょう。

毎度毎度「グローバル」CSSやJS(JavaScript)ファイルにパッチを当てる代わりに、単純にMediaWiki:Common.jsや MediaWiki:Common.css ページにコードを追加することも出来ます。それらがデータベースの一部になっていれば、アップグレード後に再利用されるので、今後はMediaWiki のコアファイルにパッチを当てなくて済みます。

本当に古いバージョンからどのようにアップグレードすれば良いでしょうか?一段階で済みますか?何段階もかかりますか?

MediaWiki バージョン:
1.4

It depends: If you are upgrading from MediaWiki 1.4 or older, you should upgrade to MediaWiki 1.5 first. If you are upgrading from a Latin-1 wiki, use upgrade1_5.php (found in MediaWiki 1.5) to convert the relevant parts of the database to UTF-8 ($wgUseLatin1 needs to be set to true in your LocalSettings.php for this to work). Next, run update.php, and then set the $wgLegacyEncoding option in LocalSettings.php to the encoding previously used by the wiki (e.g. windows-1252). This is basically how Wikipedia and other Wikimedia Foundation sites were upgraded from MediaWiki 1.4 to 1.5 – see some related notes at Wikitech. You may need to upgrade to MediaWiki 1.4 before running the upgrade1.5 script. (例えばMySQLの)Latin-1のウィキのデータベース・ダンプを行いたい場合、text テーブルのold_textの型がmediumblobであることを確認してください。mediumtextでは文字エンコーディングの問題を避けられません。

MediaWiki バージョン:
1.5 – 1.35

MediaWiki 1.5 以降から 1.35 にアップグレードする場合は、古いバージョンから最新の安定バージョンに1ステップでアップグレードできます。 数多くの報告や自動テストが非常に上手く行くと指示しています。 あなたがもしそれを信じられないなら、メーリングリストのこの投稿を読んで下さい。 しかし注意して頂きたいことは、もしあなたが古い版から更新するならば、直前の版から更新する時よりもPHPエラーに遭遇する場合が多くなります。 バージョンをスキップしていなければ、とにかくこれらのエラーを受け取っていたでしょうが、エラーは個々の更新に関連付けられていたでしょう。 Instead, if you update several versions at once, you'll get the same set of errors all at the same time. この場合、更新が更に難しくなるでしょうが、あなたが飛ばした途中の版に更新すれば、その不具合が起きないことをお忘れなく!

MediaWiki バージョン:
1.35

If you are upgrading to MediaWiki 1.36 or later, only upgrades from the last two LTS releases will be supported (phab:T259771). This will mean that for very old versions, that you first upgrade to MediaWiki 1.35 and then upgrade to 1.36.

バックアップは第一にするべきですか?

簡潔な回答: はい。

長い回答:a) あなたは自分のデータをどのくらい高く評価するか、b) バックアップ作成がどのくらい大変か、c) あなたはMySQLの保守管理にどのくらい自信があるかによります。

アップグレードに失敗すると、あなたのデータベースは2つの版の間で矛盾した状態になるかもしれません。 更新中にPHPやMySQLエラーが発生すると、あなたのデータベースは一部だけ更新された状態になってしまうかもしれません。 そのような状況でも、たくさん手作業をすれば、なんとか問題を修正できるかもしれません。 しかしもっと簡単な方法があります。それはupdate.phpを実行して足踏みをする前にちょっとデータベースをバックアップすることであり、その後も継続的に行う事です。 そうしないと不要な作業を何時間もすることになるかもしれませんよ。

復旧は複雑になりがちです。 もしあなたがバックアップを怠って、更新関係の破損から復旧したいと助けを求めても、サポート フォーラムのボランティア達は好印象を持たないでしょう。 よりよい対応は、あなたがご自分のバックアップで復旧して、MediaWiki プロジェクトの担当者に更新処理の不具合を報告することです。

自分のLocalSettings.phpを長持ちさせることは出来ますか?

はい、しかし利用者は幾つかのマイナーな変更を行わなければならないかもしれません。LocalSettings.php のフォーマットは大部分に後方互換性があります。 LocalSettings.php の互換性を壊すような変更はリリースノートの「後方互換性のない変更」節に文章化されて公表されます。

アップグレード中にwikiをオンラインに出来ますか?

一般的には YES です。しかし、Git でアップグレードすると、Git は一時的に (数秒間) ウィキを壊す可能性があります。

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

注意: 以下はコマンドラインによる操作を想定しています。MediaWikiのメジャーリリース間のアップデートを行う場合に推奨される手順は以下の通りです:

  1. MediaWikiの新バージョンを新規ディレクトリに解凍します。
  2. 新しいバージョンのディレクトリの準備: 古いバージョンのディレクトリから設定済みの LocalSettings.php をコピーし、インストール済みの拡張機能やカスタム外装 (ある場合) をコピーします。LocalSettings.php の $wgLogo および $wgLogos の設定を確認して、必要な場合はロゴ ファイルを古いバージョンのディレクトリから新しい方にコピーします。
  3. 新しいバージョンのリリースノートに、LocalSettings.php に行う必要のある変更がないか調べます。
  4. In the old directory, edit LocalSettings.php and insert the following code. This will place the database in read-only mode for regular wiki activity, without restricting your own update actions. Users will see the message provided if they attempt an edit during the upgrade process:
    $adminTask = ( PHP_SAPI === 'cli' || defined( 'MEDIAWIKI_INSTALL' ) );
    $wgReadOnly = $adminTask ? false : 'Upgrading to MediaWiki 1.41.0';
  5. 更新スクリプトまたはウェブ アップデーターを新バージョンのディレクトリで実行する。
  6. 古いバージョンのディレクトリ内の images サブ ディレクトリから新バージョンのディレクトリに画像をコピーする。
  7. 古いバージョンのディレクトリと新バージョンのディレクトリを交換する。 (This will make the database writable again, because $wgReadOnly was only set in the old directory's LocalSettings.php.)

アップグレードする理由

新リリースの通知を受けるために mediawiki-announce を購読しましょう。

最近のリリースではあなたのウィキやホストを荒らし行為から守り安全に保つためのセキュリティ修正を受け取れる一方で、旧版のリリースでは (バージョン ライフサイクル を見れば分かるように) 受け取れません。

新しいメジャーリリースはあなたが使いたくなるような新しい機能を備えています。詳細はリリースノートを参照してください。


関連項目