MediaWikiのコアシステムをバージョンアップ/アップデート/アップグレードする方法

基本的には、sshを使って行う。

クイックメモ

  1. バックアップを取る
    1. データベース
    2. FTP
  2. 最新のMediaWikiのシステムファイルをダウンロードする
  3. 解凍
  4. .htaccess、LocalSettings.php、imagesディレクトリ、extentionsはあとで上書きや入れ替えする、\vendor\liuggio\statsd-php-clientも入っていないので、あとで入れる、skinも
  5. 一時的にリモートのフォルダ名称を変えたり、退避させたりするやり方は2通り
    1. リスクを軽減するために、サーバーのデータを別ディレクトリにコピーしておくのが楽(sshならば処理が速い)
    2. 仮のディレクトリに最新のシステムをすべてアップロードする(現在動いているディレクトリにしろ、対比ディレクトリにせよ、どちらの方法も表示がうまくいかない瞬間はある)
    3. サイトがそのまま表示されなくても良い場合は、そのフォルダを空っぽにする
  6. sshを使って、$ php /path/to/mediawiki/maintenance/update.phpする。
    自動的にアップデートが走って、システム・データベースが書き換えられるみたい。万が一、うまく行かなければバックアップを取ったところから繰り返し。
  7. ブラウザで確認する
  8. 例:「https://example.com/特別:バージョン情報」にアクセスするとバージョンが表示される

バックアップ

必ずバックアップを取る。何かあったときにバックアップをとっておくことで万が一に対応できる可能性が上がる。

最新のシステムをダウンロードする

前もって準備しておくことには越したことはないが、これはいつでもダウンロード可能。

一番守らなければいけないのは、あなたや参加者が作成したユニークなデータベース情報を守ること。あなたや関係者しかデータのことを知らないのだから。

退避・一旦切り替え

一時的にリモートのフォルダ名称を変えたり、退避させたりするやり方は2通り。アップデート中はエラーが表示されたりする。シビアな人はコマンドを使って準備した状態&データベースを新しく用意した状態で、アップデートする。

FTPから行う場合は、最新のシステムフォルダを準備する、アップロードに時間がかかるので仮のフォルダ名でアップロードするのが良さげ。

  • 仮のディレクトリアップロードし終わったら、images、skin、statsd-php-clientなどをアップロードする
  • 退避している本番のディレクトリの名称を一時的に変更する
  • 名前を本番用のディレクトリ名に変更する

このあとはアップデートをかける。

メモ

  • リスクを軽減するために、サーバーのデータを別ディレクトリにコピーしておくのが楽(sshならば処理が速い)
  • 仮のディレクトリに最新のシステムをすべてアップロードする(現在動いているディレクトリにしろ、対比ディレクトリにせよ、どちらの方法も表示がうまくいかない瞬間はある)
  • サイトがそのまま表示されなくても良い場合は、そのフォルダを空っぽにする

アップデートコマンド

アップデートはシステムをアップロードしただけでは行われない。コマンドを走らせないと適用されないみたい。

sshを使って、$ php /path/to/mediawiki/maintenance/update.phpする。

sshが使えない環境は他の方法で行うこと。