MediaWiki のお引越し手順

提供: tknotebook
2015年11月19日 (木) 02:35時点におけるNakamuri (トーク | 投稿記録)による版

移動: 案内検索

メインページ>コンピュータの部屋#Linux

以下の手順は、同じデータベース名、同じフォルダで MediaWikiを引っ越しさせたときの 手順です。つまりバックアップをリストアするのと変わらない一番無難な引っ越し方法です。

名前の異なるDBへ, 異なるフォルダへの引っ越しは今後の課題ということで(^^; とりあえず、確実な手順を確立してみました。

バックアップ

MediaWikiのバックアップは

  1. MySQLのデータのバックアップ
  2. MediaWikiのファイルのバックアップ

で行います。

以下の説明では MediaWiki の使っている MySQL のユーザ名は nakamuri, データベース名は tknotebook、 MediaWiki がインストールされている場所は /var/www/html/mw というディレクトリであるとします。

apacheの停止

service httpd stop

で外部からのアクセスを止めます。

DBのバックアップ

データベースのバックアップは mysqldump というコマンドで行います。

mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名

この例ではデータベース名が tknotebook なので

mysqldump -u root -p tknotebook > tknotebook.sql

ファイルのバックアップ

ファイルのバックアップも簡単です。

まず、MediaWiki のディレクトリの一つ上のディレクトリ(/var/www/html)に移動します。

cd /var/www/html

MediaWiki のディレクトリ配下を tar で固めます。

tar czvf tknotebook.tar.gz mw


こうして取得できたファイルとDBは ftp や scp 等で吸い上げればよいでしょう。

apacheの起動

最後に apache を再起動します。

service httpd start

リストア

apache停止

引っ越し先でapacheが既に動いているなら止めます。

service httpd stop

データベースとユーザ作成

引っ越し先にはユーザとまっさらなデータベースを用意します。 既に必要なユーザがある場合はユーザを作り直す必要はありませんが、データベースは作り直した方が楽でしょう。 その場合、ユーザに権限を与えなおすのを忘れずに。

mysql -u root -p

で MYSQL に接続して

既にデータベースがあるなら、いったん削除してください。

drop database tknotebook;

データベースを新規作成

create database tknotebook;

必要ならばユーザを作成してください。これは MediaWikiが使っているユーザ名です。もし違う名前を使うなら後で LocalSettings.php の書き換えが必要です。

create user nakamuri identified by 'パスワード';

tknotebookの権限を全て与えます。

grant all on tknotebook.* to nakamuri;

いったん mysql を抜けて

mysql -u nakamuri -p 

でログインでき、tknotebook にアクセスできるか試してみてください。

ファイルの転送

バックアップファイルを引っ越し先にコピーする方法は様々ですが、 ssh+Teratermの場合は以下の手順が便利でしょう。

  • TeraTermで root で接続し、画面に バックアップ.sql(MySQLのバックアップ) と バックアップ.tar.gz(MediaWikiのファイルシステムのバックアップ)をドロップしてroot のホームにファイルを転送します。
  • 転送したバックアップファイルはさらに Linux 側で /var/www/html へ移動します。

バックアップファイルからファイルとデータを復元

カレントディレクトリを /var/www/html に移動し、

tar xzvf バックアップ.tar.gz

オーナとグループを apache に変更

find mw -exec chown apache {} \;
find mw -exec chgrp apache {} \;

DBのデータベースをリストア

mysql -u root -p tknotebook < tknotebook.sql


サーバ名の変更

引っ越しでサーバ名が変わる場合は LocalSettings.php の変更が必要です。

$wgServer = "http://www.nakamuri.info";

の部分を書き換えてください。

Apacheの起動

最後に apache を起動します。

service httpd start

確認

MediaWikiにアクセスして、無事復元されていることを確認してください。