カッとなってやった。後悔はしていない。5分で出来るサーバー移転の話[ロリポップ!→GehirnRS2]

   

このブログは独立したサーバに移転してから数ヶ月たつ訳ですが、まあロリポップ!でWordPress動かしていると、兎にも角にも遅い。

しかも、なんか結構な頻度でInternal Server Errorとか返してる。酷い!

という事で、シラフな頭でカッとなってやりました。後悔はしていない。

移転先は、以前何かのブログで見かけたGehirnRS2

若年なやり手ハカーな人が作ったサービスと言う事で、なんか早いし、久しぶりに見てみたらコンパネが進化してた。凄い。

移転の方法

1:ロリポップ!でSSH接続します。

何はともあれ、これが必要です。まずはDBをダンプしましょう。

# mysqldump -u hogehoge -p DBの名前 > 適当な名前.sql

という感じでOKです。ユーザー名やDB名は、wp-config.phpに書いてあるので、そこから引っ張りましょう。

2:公開鍵を作りましょう

# ssh-keygen -t rsa

適当に鍵を作ります。rsyncでファイル転送するのに使います。

3:Gehirnにアカウントを作りましょう。

4:作ったらRS2にドメインを一つ設定しましょう。僕の場合はgeeorgey.comを設定しました。ドメインの設定はムームードメイン使っているのでムームーDNSにCレコードを設定すればOKです。こんな感じ

カスタムDNSのセットアップ情報変更 | ムームードメイン

5:できたら、GehirnRS2にSSH接続してみましょう。やり方は割愛します。

6:今度はロリポップ!の公開鍵をGehirnRS2のauthorized_keysに登録します。

まずはロリポップ!で

# vim .ssh/id_rsa.pub

これで出てきたキーを全部コピーしておきます。

次に、Gehirnで

# vim .ssh/authorized_keys

とやって、先程コピーした文字列をコピーすれば完了。これでロリポップ!のサーバからGehirnRS2に接続できるようになります。出来るかどうかはロリポップ!側からsshしてみればおk

7:ファイルを転送しちゃいましょう

ロリポップ!側からWordPressの入っていたフォルダの中身を全て、GehirnRS2にドメイン設定したフォルダの下に転送しちゃいます。

ロリポップ!側のSSH画面で

# rsync -av /path to your WPフォルダ/* GehirnのSSHユーザー名@GehirnのIP:/設定したフォルダまでのパス/

これですべてのファイルが転送されます。簡単☆

8:データベースファイルを転送しちゃいましょう。

1で作ったsqlファイルを7同様にrsyncで転送しちゃいます。

9:GehirnコンパネからDBを作ります。

10:作ったDBにsqlファイルを読み込ませましょう

Gehirn側のSSH画面で

# mysql -u mysqlユーザー名 -p mysqlDB名(ユーザー名と一緒) < 8で転送したsqlファイル.sql

11:wp-config.phpの中身をちょっと変えます

変えるのはユーザー名、DB名、パスワードの3つ。今書いてあるのはロリポップ!の設定だからね。

12:表示の確認をしよう

hostsファイルをいじりましょう。MACの場合は

# sudo vim /private/etc/hosts

これでファイルの中に

IPアドレス アナタのドメイン

という1行を加えれば、アナタのPCから該当ドメインを開こうとすると、そこに書いたIPアドレスが開かれるようになります。同じように見えているかどうかを確認すればOKです。ちゃんとGehirnサーバになってるかどうかがわからないという場合は、wp-config.phpの中にあるパスワードを一文字消してみてDBコネクトエラーが出るかどうかで確認すれば良いと思います。

13:問題なければムームーDNSのAレコードを変更しましょう

今までロリポップ!にあたっていたDNSレコードを、Gehirnサーバに当て直します

これで完成!!!

慣れれば5分で終わる作業なんです。なんて簡単なんだ。もっと早くにやっておけばよかった。

オススメNginx本

nginx実践入門 (WEB+DB PRESS plus) 単行本(ソフトカバー) – 2016/1/16

nginxを現場で活用するための知識を、実践的なノウハウを交えて解説した書籍です。nginxのインストール方法や基本的な設定方法からはじめ、nginxを利用した「静的コンテンツ配信サーバ」「HTTPSサーバ」「Webアプリケーションサーバ」「大規模コンテンツ配信システム」の構築方法をそれぞれ詳しく紹介しています。後半ではnginxサーバのモニタリングやログの収集、そして軽量スクリプト言語Luaでnginxを拡張する方法について解説しているので、nginxをこれから使う方はもちろん、さらに活用したい方にもお勧めです。

 - Tips