概要
社内wikiとして使用していたmediawikiを別サーバへ移動させることになった。
環境
移転先、移転元ともにはCentOS6。
移転先は既にwebサーバとDBが構築済みとする。
DBはMysqlで稼働しているものとする。
また、ダンプしたsqlファイルとmediawikiのアーカイブをバックアップするためWinSCPを使用する。
作業手順
移転元サーバでの作業
まずは移転元サーバのwebサーバを停止させる。
service httpd stop
これまでに社内wikiとしてmediawikiに書き溜めた大切な中身はDBの中身に収まっているので、これを吸い出す必要がある。
吸い出したデータはsqlと呼ばれるファイルとなる。
ちなみにこのようにDBの中身をsqlファイルとして出力することを「DBをdumpする」と言う。
DBをdumpしてsqlファイルとして出力するにはmysqldump
というコマンドを使う。
mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名
出力先ファイル名はここでは便宜的にhogehoge
とする。
この吸いだしたファイルはsqlファイルとされ、mediawikiのディレクトリ内に存在する。
FFTPやsshでそのまま移転先サーバに送ることができるけど、万が一のために手元にバックアップを取っておきたいのでWinSCPでsqlファイルを自分の端末へと保管していおく。
その後、mediawikiそのものもアーカイブ化させてバックアップをとる。
cd /var/www/html/
tar zcvf mediawiki.tar.gz ./mediawiki
移転先サーバでの作業
ここからは移転先サーバでの作業となる。
まずは移転先でも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コマンドで移動させた。
その後にアーカイブであるgzファイルを解答展開。
mv mediawiki.tar.gz /var/www/html
tar zxvf mediawiki.tar.gz
次にmediawikiの設定ファイルを編集すて、移転先のグローバル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
webサーバの起動も忘れずに
service httpd start
これで、無事アクセスできたら成功。
参照