2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MediaWikiを移動させる

Last updated at Posted at 2016-01-27

MediaWikiWikipediaでも使われているWikiクローン。PukiWikiとは違い、データベースを使うので、簡単に移動することは難しい。
今回は、MediaWikiをサーバまたぐ大移動を行うための方法を紹介する。
注意:この方法が正しい方法だ、というわけでもありません。自分が考えた独自の方法です。

MediaWiki 本体のコピー

MediaWikiは記事を表示したり、編集を保存したりするプログラム本体(拡張機能含む)と記事や画像を保存しておくデータベースに別れる。MediaWikiを新しいサーバに移動するには、ただファイルを移動されればよい。

  1. 旧サーバからファイルを全てローカルにダウンロード
  2. 新サーバにファイルを全てアップロード

これだけだ。とても簡単だ。この状態でアクセスしてもデータベースが無いのでエラーが表示される。(PukiWikiの場合、これで動作する(ハズ)。)

データベースの移動

データベースは何で移動するか。SSHからコマンドを叩いてもいいのだが、今回はphpMyAdminを使用する。
phpMyAdminでデータベースにログインする。エクスポートを選び、データベース "databasename" からテーブルをエクスポートが表示されれば成功。設定をし、エクスポートする。

  1. エクスポート方法を「詳細」に変更 → 項目が増えるが後回し
  2. 出力、フォーマット、フォーマット特有のオプションはいじらない
  3. 生成オプションで「DROP TABLE / VI … コマンドを追加する」にチェックを入れる
  4. エンコーディングの変換もいじらない

このまま一番下にある実行を押すとデータベースのデータがダウンロードされるが非常に(サイズが)大きいので、分割する。
後回しにした「テーブル」で全てのテーブルを選択せず、

  1. 3つ4つ、選択し、実行を押してダウンロード。
  2. また別のテーブルを選択し、実行を押してダウンロード。
  3. 全てのテーブルをダウンロードし終わるまで繰り返す。

今度は移動先のデータベースで操作する。インポートを選び、データベース "newdatabasename" へのインポートと表示されていれば成功。

  1. *参照...*にファイルを指定し、他の設定はいじらずに実行を押す。
  2. 全てがインポートできるまで繰り返す。

これで、エクスポート・インポートが完了する。
db.png
テーブル構造がこのようになっていれば大丈夫だ。今回はプレフィックスに*wiki_*を利用している。(クリックで拡大します)

設定を変更

LocalSettings.phpを編集する。サーバの環境が同じの場合はこの部分のみ変更するとよい。

LocalSettings.php
$wgServer = "newserver";
$wgDBserver = "localhost";
$wgDBname = "newdbname";
$wgDBuser = "newdbuser";
$wgDBpassword = "newdbpwd";

メール送信等利用している場合は変更すること。

最終確認

新しいWikiにアクセスして動作を確認する。最近の更新、記事、画像、ページの保存等、基本的な動作を確認する。また、特別:バージョン情報で拡張機能が認識されているか、スクリプトパス、記事パスが正常かどうかも確かめる。

あとがき

大雑把ながらMediaWikiの移動方法を執筆した。これからの投稿もMediaWikiを中心にHTMLなども投稿していきたい。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?