読者です 読者をやめる 読者になる 読者になる

へべれけ

ゲームとDTMと本と煙草と酒と泪と男と女

mediawikiを別サーバへ移転させる

技術

そんな仕事を任せられたので、いい機会だと手順をまとめてみた。

以下、参照サイト
MediaWiki のお引越し手順 - tknotebook

環境は移転元、移転先ともにAmazon EC2
容易するものはWinSCP

まずは移転元サーバのApacheなどのwebサーバを停止させておく。

service httpd stop

次にMySQLからmediawikiのデータベースを吸い出す。
データベースの中身を吸いだしてsqlファイルにさせるにはmysqldumpというコマンドを使う。

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

この吸いだしたsqlファイルはmediawikiのディレクトリ内にある。
FFTPやsshでそのまま送ることができるけど、面倒だし万が一のためにバックアップを取っておきたいのでWinSCPsqlファイルを自分の端末へと保管していおく。
SCPの使い方は自分でぐぐれ。

mediawikiそのものもアーカイブ化させてバックアップをとる。

cd /var/www/html/
tar zcvf mediawiki.tar.gz ./mediawiki

アーカイブファイルも前と同じようにWinSCPで自分の端末に退避させておく。


ここから移転先サーバでの作業となる。
移転先サーバでは既にLAMP環境は構築済みとする。
まずは移転先でもwebサーバが稼働していたら止めとこう。

service httpd stop

次に移転先データベースに新たにmediawiki用のデータベースと特権ユーザを作成する。

mysql -u root -p
create database mediawiki;
create user mediawiki identified by 'パスワード';
grant all on mediawiki.* to mediawiki;

mediawikiのアーカイブファイルをSCPで移転先にアップロードする。
直接html配下に上げるのはパーミッションの関係で無理だったので、一般ユーザのホームディレクトリにアップした後にmvコマンドで移動させた。

mv mediawiki.tar.gz /var/www/html
tar zxvf mediawiki.tar.gz

アーカイブを展開したら設定ファイルをいじって、移転先のグローバルIPを認識させる。

cd /var/www/html/mediawiki
vim Localsetting.php
※43行目と44行目の値に移転先のグローバルIPを入力する。
$wgEmergencyContact = "apache@hogehoge";
$wgPasswordSender   = "apache@hogehoge";

mediawikiのオーナーとグループをApache(webサーバ)へ設定

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

最後に吸い出しておいたmdiawikiのデータベースのsqlファイルを移転先サーバにアップロードして、認識させる。

mysql -u root -p mediawiki < mediawiki.sql

Apacheの起動も忘れずに。

service httpd restart

これで、無事アクセスできたら成功。
とまぁ、こんな具合。特につまづくこともなくすんなりとできたよ。