当ブログのサーバをSixCoreからConoHaに移管し、あわせて常時SSLへの対応を行いました(いまさら…)。
メールについてはVPSでの運用が難しそうだったのでSixCoreに残そうとしたところ、DNSまわりの設定がややこしく手間取ってしまいました。
主に将来の自分のためにw 手順を記しておこうと思います。
ADs
・WebサーバのみConoHa(for Kusanagi)に移管する
・WordPressのデータを引っ越しする
・メールはSixCoreに残す
・データ消失やメールの取り漏れがないようにする(重要!)
まずはバックアップも兼ねてWordPressのデータをエクスポートします。
今回はAll-in-One WP Migrationというプラグインを使いました。
記事やページのデータだけでなく、画像ファイルやプラグインの設定なども丸ごとエクスポートできるので非常に便利です。
プラグインをインストールし、「All-in-One WP Migration」→「エクスポート」を選択します。
無料版では512MB以上のデータがインポートできません。
エクスポート時に生成されるファイルが512MB以上になる場合は無制限版を購入するか、メディアファイルのエクスポートを省くか(あとで手動でアップロードする)で対応しましょう。
エクスポート作業が完了すると、.wpressというファイルができあがります。中身はバイナリとテキストが入り混じった独自形式のようです。
このファイルを新サーバのWordPressへインポートしますので、一旦置いておきます。
ConoHaにログインし、新しいサーバを追加します。
その新しいサーバでKusanagiをセットアップします。
ConoHaの最安値プランは512MB/20GBですが、このプランはスケールアップ・スケールダウンの機能が使えません。
運営サイトが世界的アーティストにシェアされてアクセスが殺到する可能性もありますので、1GB以上のプランがおすすめです。
セットアップの手順は公式ドキュメントの手順どおりです。
DNSの変更を行っていないため、ドメインでアクセスしても旧サーバーを見に行ってしまいます。
そこでhostsファイルを書き換え、自分のPCからはConohaを見に行くように設定します。
ConoHaのIPをコピーし、
hostsファイルに以下のように記述します。
1 |
0.0.0.0(ConoHaのIPアドレス) wood-roots.com |
hostsファイルはWindowsだとC:\Windows\System32\drivers\etc、Macだと/private/etcにあります。
これでサーバ移管前でも「wood-roots.com」でアクセスするとConoHaを参照するようになります。
新しいWordPressにもAll-in-One WP Migrationをインストールし、エクスポートしたデータをインポートします。
インポートが完了すると、管理者のアカウント名・パスワードも旧サーバの設定が引き継がれますので従来どおりのアカウントで再ログインします。
(つまりKusanagiをセットアップした際のアカウント名・パスワードが上書きされる)
※ この手順はちょっと自信ないです。
今回はメールをSixCore、WebをConoHaという設定のため、以下のようにDNSレコードを設定します。
ドメイン・旧サーバ・新サーバの3ヶ所で設定しましたが、省ける部分もありそうな気が…。
Aレコード | 空白 | 新しいWebサーバのIPアドレス |
Aレコード | www | 新しいWebサーバのIPアドレス |
Aレコード | メールで使うサーバのIPアドレス | |
MXレコード | 空白 | mail.ドメイン |
MXレコードにmail.ドメインを設定し、Aレコードにmail:メールサーバのIPを設定するというところが肝です。
ムームードメインは「ムームードメインのネームサーバ(ムームーDNS)を使用する」を選択することでDNSレコードを設定できます。
「セットアップ」よりDNSレコードの設定画面に入ります。
SixCoreはサーバー管理ツールの「DNS設定」よりDNSレコードを設定できます。
ドメインを選択し、DNSレコードを設定します。
ConoHaは「DNS」より。
はじめからNSレコードが設定済みですが、これは触りません。
不具合は置きてないので多分大丈夫でしょう。
書き換えたhostsをもとに戻し、しばらく待ちます。
30分ほどでドメインでのアクセスもConoHaを参照するようになりました。
常時SSLへの対応を早くやらなくては、と思いながらようやく行うことができました。
しかし非SSLで運営中のサイトもまだたくさんあるので、移管を進めていかなくては…。
ADs
qsns2w