wordpressブログのサーバーは自宅のNASも兼ねて、BINDやら、メディアサーバーなども同居していることから、少しレスポンスが悪くなってきたので、SSDベースのWEB専用端末にお引っ越ししました。
wordpressの引っ越し作業でよくトラブっている話を聞くので、手順をまとめてメモしておきました。
引っ越し先サーバーの準備
サーバーOSはDebianで構築(CentOSでも問題ないです)今回はスピード優先にしたかったので、LinuxのX機能などはすべて排除して、apacheとPHPとMysqlだけというシンプル構成にしてみました。
※ただし、BINDはインフラの必要上、同居しています。
以前に購入していたShattleのベアボーンが余っていたので、CPUは少し古いが、2年ぐらい前のものなので、かろうじてセーフでしょう。
残念なのは32bit機なので、メモリは4GB以上のせられません。
ただ、HDDををSSDに変えたので、色々と速度向上は見込めます。
フンパツして240GBをチョイスしました。
商用ではないので、RAID-1にはしていないので、あとでバックアップシステムを組むことにします。
wordpressのコピー
最新版にアップグレードしても良かったのだが、できれば不具合を回避したかったので、そのまんまのデータコピーにすることにした。
server1の/var/www/wordpress/フォルダから、server2の/ver/www/html/wordpress/フォルダにコピーしたいと思います。
# server1の/ver/wwwにCDして作業する。
$ rsync -av wordpress user@server2:/ver/www/html/
新規コピーなので、このままで問題なくコピーできます。
容量もさほど大きくなく170MBぐらいでした。
※ちなみに、不具合発生時の巻き戻しとして、元ファイルは削除しないようにしましょう。
Mysqlデータのコピー
wordpressは、フォルダデータとmysqlのデータがあれば、そのまま移行が簡単にできるはずなので、
まずはserver1のsqlデータのバックアップを行い、その後server2にリストアすれば完了です。
# 1.server1のmysqlデータバックアップ
$ mysqldump -u root -p %database-name% >wordpress.sql
password > **
wordpress.sqlファイルをserver2にコピーします。
※コピー場所はどこでもいいので、rsyncでもscpでもFTPでもいいので移しましょう。
事前にserver2のMysqlに同じ名前のDatabaseを作成しておきましょう。
※トラブル回避の為にDB名も同じ方が望ましいです。(どうしても名前を変えたい場合は、移行成功後に変更しましょう)
# 1.DBの作成
$ mysql -u root wordpress -p
password > **
mysql : create database %database-name%;
mysql : exit;
# 2.server2のMysqlにリストア
$ mysql -u root -p wordpress < wordpress.sql
password > **
何もエラーが出なければ問題なしです。
モジュールのセット
OSのインストール直後に(今回はdebian8を入れました)
$ sudo apt-get install wordpress
とすると、必要なモジュールをインストールしてくれるようです。
便利になりましたね。
今回はDebian8+apache+Mysqlという構成にしたので、apacheのsite-enabledに
ドメインの設定を行い、移行準備完了です。
事前確認
windows
念のため、切り替え前に確認する方法は、クライアント端末のhostsファイルを使って、
ドメインのIPアドレスを切り替えることができます。
windows7までは、下記のパスにhostsファイルがあったので、テキストエディタで書き換えてあげましょう。
Windowsの場合は、c:¥windows¥system32¥drivers¥hosts¥etc¥hosts
※windows8はわかりません。ググってください。
mac
Macは/etc/hostsをviで修正してあげるといいです。
書き方
# 下記を追加する
%server2-IP% hoge.domain.com
これで、切り替え前でも、ドメインにアクセスして、サイトを確認することができます。
サイトが正常に動作することを確認したら、hostsの記述した内容は削除して元に戻しておきましょう。
切り替え作業
今回の切り替えは、自宅サーバーの隣に新サーバーを設置したので、インフラ内での移行作業だったのですが、これが宅外引っ越しの場合は、DNSサーバーのIPアドレス変更になるのですが、その場合は、切り替わりタイミングにタイムラグが発生する事を認識しておきましょう。
宅内切り替えの場合は、ルータの80番ポートの移動先をserver1からserver2に切り替えれば、タイムラグ無しで完了になります。
あとは、スマホなどから、宅外でのアクセスをするだけです。
※同じ画面で切り替わったことがわからない場合は、server1を一度shutdownしてみましょう。
監視してみよう
宅外の場合は、DNSのの切り替えは、プロバイダレベルで行われる場合が多いので、3日〜1週間ほどの期間がかかる場合があります。
気長に待ってみましょう。
※もし、うまく切り替わらない場合は、DNS設定をミスっている可能性があるので、外部監視などを入れて切り替わりなどを確認してみる手もあります。
無料でできる外部監視
サバモニ
https://savamoni.com/
切り替わりだけでなく、常に監視もできるので、随時立ち上げておくと仮にサーバーダウンした時などはケータイにお知らせしてくれるので、便利ですよ。
もしうまく切り替わらなかったという人は、どういうトラブルがあったか教えてください。
対策をアップしたいと思います。
0 件のコメント:
コメントを投稿