MediaWikiバックアップ/リストアを分かりやすく説明

提供: dococo wiki
2017年9月2日 (土) 12:41時点におけるimported>Webmasterによる版
ナビゲーションに移動 検索に移動

自分でサイト作っておきながら説明が非常に見にくかったので再度追加説明

必要なツール類

以下のツールがあると便利です

  1. Poderosa Terminal
  2. FileZilla Client

各々はSSHログインターミナルソフトとFTPソフトです。このあたりは自分の使いやすいソフトを用意してください。

バックアップ方法

データベースのバックアップ

MediaWikiが動いているフォルダに移動して以下のコマンドを実行します。

php maintenance/dumpBackup.php --full > backup.xml

そうすると、データベースがbackup.xmlという名前で保存されます

LocalSettings.phpのバックアップ

サイトの運用情報が保存されているLocalSettings.phpを保存します

ファイル類のバックアップ

イメージ(./images)を圧縮形式でバックアップします

tar -zvcf wiki-images-backup.tar.gz /home/username/www/images

CSSとか(./skins)を圧縮形式でバックアップします

tar -zvcf wiki-skins-backup.tar.gz /home/username/www/skins
  • 拡張機能(./extensions)を圧縮形式でバックアップします
tar -zvcf wiki-extensions-backup.tar.gz /home/username/www/extensions
  • 設定ファイル(./config)を圧縮形式でバックアップします
tar -zvcf wiki-config-backup.tar.gz /home/username/www/config

とりあえずこれぐらいバックアップしておけばリストアできると思います

メインページの保存

メインページのみ編集を押してWiki構文そのものの内容をコピーしてテキストファイルに保存しておきます

リストア方法

MediaWikiのリストア(復旧)方法です

(1)MediaWikiのインストール

MediaWikiのリストア(復旧)先のサーバに素の状態のMediaWikiをインストールしてください

(2)データベースをリストア(復旧)

dumpBackup.phpを使用した場合はMediaWikiのリストア(復旧)先のディレクトリに移動して以下のコマンドを入れてください
※バックアップファイル名がbackup.xmlの場合で、そのbackup.xmlがMediaWikiのリストア(復旧)先のディレクトリにあるとします

php maintenance/importDump.php < backup.xml

2017-09-02 10-16-29.jpg
少々時間がかかりますが、成功すればDone!と出て成功します。

(3)ファイル類のリストア(復旧)

images関係のリストア(復旧)ですが、これはただ単にディレクトリをコピーすれば良いわけでは無く、MediaWikiのmaintenance/importImages.phpを利用してインポートする必要があります。このインポート方法はMediaWikiの画像リストアのためにあるわけでは無く、画像データを一括でMediaWikiへインポートする機能を流用して画像リストアを行います。
まず、バックアップを取ったイメージファイル(wiki-images-backup.tar.gz)を適当な解凍用フォルダを作成して(ここではtemporaryという名前)フォルダtemporaryにコピーします。

次にフォルダtemporaryに移動して以下のコマンドを入れます

tar zxvf wiki-images-backup.tar.gz

フォルダtemporary配下にバックアップを取ったディレクトリ構成で解凍されます
2017-09-02 10-29-12.jpg
ディレクトリ個々に画像ファイルが入っていますので、これを1つのフォルダに保存し直します。これはメンテナンスツールのimportImages.phpを使う場合、1つのフォルダに入っているイメージで無いと保存出来ないのです。従って、イメージを1つのフォルダにまとめるためのフォルダを作成します。(ここではtempimagesという名前)環境によってフォルダ構成が異なると思いますが、そこは自分の環境に合わせてください

cp /home/username/www/temporary/images/*/*/* /home/username/www/tempimages

次にメンテナンスツールのimportImages.phpを使ってインポートします

php maintenance/importImages.php /home/username/www/tempimages/

これでインポート完了です

(4).htaccessの編集

さくらのインターネットでは.htaccessのOptions、AllおよびFollowSymlinksは指定できないため。/images配下の.htaccessのOptionsを削除します

(5)その他のファイルのリストア(復旧)

画像以外であれば解凍してそのまま同じフォルダに保存すれば良いです

(5)LocalSettings.phpのリストア(復旧)

LocalSettings.phpを上書きして終了

ただし、リストア先が全く同じサイトであれば良いですが細かい情報が変わる場合には修正をしてください