MediaWikiの設定 - アップグレード

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

  • 既存のファイルとデータベースをバックアップする。
  • 新しいバージョンのMediaWikiをダウンロードおよび解凍する。
  • 拡張機能をアップグレードする。
  • 更新スクリプトを実行してデータベースをチェックする。
  • アップグレードをテストする。
  • 過去にインストールしたバージョンに由来する残ったファイルを除去する。


MediaWiki 1.36以降は、2つの主要なLTSリリースからのアップグレードをサポートすることのみを保証している。

MediaWikiの古いバージョンからのアップグレードは、複数のステップで実行する必要がある。
例えば、MediaWiki 1.40にアップグレードする場合において、MediaWiki 1.34以前のバージョンからアップグレードする場合は、最初に1.34を1.35または1.39にアップグレードして、
さらに 1.35または1.39から1.40にアップグレードする必要がある。

MediaWikiのアップグレードの詳細を知りたい場合は、MediaWikiの公式Webサイトを参照すること。


システム要件

MediaWikiは、PHP 7.4.3以降、MariaDB 10.3.0以降、MySQL 5.7.0以降、SQLite 3.8.0以降、PostgreSQL 10.0以降が必要となる。
主にMariaDBで動作確認しているため、MariaDBまたはMySQLを使用することが推奨される。
他のデータベースサーバはあまりテストされておらず、バグに遭遇する可能性がある。

MediaWikiはアップストリームのバグによりPHP 7.4.0〜7.4.2と互換性が無いため、PHP 7.4.3以降を使用する必要がある。

PHP 8を使用する場合、MediaWiki 1.38.4以降を使用することが推奨される。


バックアップの取得

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

mysqldump -Q --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD --default-character-set=binary --hex-blob $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql
または
mysqldump --host=$MYSQL_SERVER --user=$MYSQL_USER -p --default-character-set=utf8mb4 $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql


次に、画像をバックアップする。
これは、imagesディレクトリを圧縮するだけでよい。

tar -cf /<出力するディレクトリ名>/MochiuWiki_images_backup_20200101.tar.gz /<MediaWikiのディレクトリ名>/images



MediaWikiのマイナーバージョンのアップグレード

マイナーバージョンは、主にセキュリティ修正と時折の機能を含むバグ修正である。
(例 : 1.39.2 => 1.39.3)

新しいマイナーバージョンがメジャーバージョンのMediaWikiのためにリリースされた時、タイムリーにアップグレードすることが重要である。
アップグレードしない場合、未修正のセキュリティ問題によってMediaWikiが脆弱な状態になる可能性がある。

マイナーバージョンのアップグレードは簡単であり、MediaWikiのファイルやディレクトリを置き換えるだけである。
データベースのアップグレードは不要である。
また、拡張機能はMediaWiki自身と共にチェックされるため、アップグレードする必要はない。


MediaWikiのメジャーバージョンのアップグレード

MediaWikiのダウンロード

MediaWikiの公式Webサイトにアクセスして、MediaWikiをダウンロードする。
または、MediaWikiをインストールするディレクトリに移動して、wgetコマンドを実行する。

cd <MediaWikiのインストールディレクトリ>
wget https://releases.wikimedia.org/mediawiki/<バージョン>/mediawiki-<バージョン>.tar.gz 


ダウンロードしたファイルを解凍する。

tar xf mediawiki-<バージョン>.tar.gz
mv /mediawiki-<バージョン>/* ./

# 不要なファイルおよびディレクトリを削除
rm mediawiki-<バージョン>.tar.gz mediawiki-<バージョン>



その他のファイル

古いバージョンのMediaWikiにある特定のファイルを、新しいバージョンのMediaWikiにコピーする。

  • LocalSettings.php
  • imagesディレクトリ
    初期設定では、MediaWikiにアップロードした全てのファイルが配置されている。
    imagesディレクトリおよびディレクトリ内にあるファイルの所有権と権限を変更する。
    例: find ./images -type d -exec chmod 755 {} \;chgrp -R <ユーザ名> ./images
  • extensionsディレクトリ内の拡張機能
    MediaWikiのバージョンに合致した拡張機能のバージョンを取得する。
    古いバージョンの拡張機能が新しいバージョンのMediaWikiで動作する保証はない。
  • カスタムロゴファイル
    カスタムロゴファイルを使用している場合は、バックアップからファイルを復元する必要がある。
    MediaWiki 1.24以前は、skins/common/imagesディレクトリ
    MediaWiki 1.24以降は、resources/assetsディレクトリ、または、imagesディレクトリ (ただし、ユーザの設定による)
    LocalSettings.phpファイルに、$wgLogo = "$wgScriptPath/images/logo.png";等の設定を記述する。
    Mediawiki 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を使用しており、何らかのルールを定義している場合)


アップグレードの実行

MediaWikiのデータベースの更新には2つの方法がある。
1つはコマンドラインから行うもの、1つはWebブラウザから行うものである。

もし、サーバのシェルにアクセスできる場合、コマンドラインによる更新を推奨する。
これは、タイムアウトやコネクションリセットによるアップグレード処理の中断のリスクを減らすことができるからである。

また、アップグレードスクリプトは、MediaWikiのPHPの依存関係が古くなった場合にも通知する。

コマンドラインから行う場合 (推奨)

maintenanceディレクトリに移動して、update scriptコマンドを実行する。

cd maintenance
php update.php または sudo php update.php


Windows上でXAMPP環境を使用している場合は、まず、Webサーバやデータベースが実行中であることを確認する。
その後、update.phpコマンドを実行する。 (右クリックで[開く]を選択して、PHP.exeコマンドを実行する)
アップグレードの完了後は、コマンドプロンプトの結果ウィンドウは自動的に閉じる。

Webブラウザから行う場合 (非推奨)

データベースが巨大な場合や稼働率が高い場合は、Webブラウザからアップグレードすべきではない。(コマンドラインからupdate.phpコマンドを実行すべきである)
これは、maximum_execution_timeに達した時、アップグレード処理がタイムアウトするからである。

稼働しているサーバに大きく依存する。(例: パフォーマンスやロードやスクリプト実行をどのくらい許すかというPHPの最大実行時間等)

  1. WebブラウザのURL入力欄において、http(s)://<ドメイン名>/mw-config/ を開く。(例: 使用中のMediaWikiが http://example.org/w/index.php にある場合は、http://example.org/w/mw-config/ を開く)
  2. 言語選択画面が表示されるので、使用言語を選択し、[次へ]を選択する。
  3. インストールされているMediaWikiが検出されるので、画面に表示される指示に従ってアップグレードする。
  4. アップグレードキーを尋ねられた場合は、LocalSettings.phpファイルを開いて$wgUpgradeKeyに割り当てられたキーを入力する。


※注意 1
Webアップデータが作動していないように見える場合(言語選択画面が表示される代わりに、空のWikiページが表示される)、WebサーバーがRewriteルールを使用している可能性が高い。
(mw-configでは、Webアップデータを表示せず、頭文字が大文字のMw-config/の時は表示する等)
この場合、.htaccessファイルの名前をアップデートの時だけ変更することにより、Webアップデータにアクセスすることができる。

ただし、この方法を使用した場合は、アップグレードスクリプトを実行した後に、必ず、.htaccessファイルの名称を元に戻すこと。
さもなければ、short URLや他のファイル等が破損する恐れがある。


アップグレード後のテスト

アップグレードの完了後は、WebブラウザからMediaWikiを閲覧して、以下に示す操作が期待通りにできるかを確認する。

  • 複数のページの閲覧
  • 複数のページの編集
  • ファイルをアップロード
  • Special:Versionのページにアクセスして、表示されるバージョンが正しいかどうか、または、拡張機能が正常かどうかを確認する。