渡米生活。(日記)

渡米生活。本家から切り離しました。あまり渡米生活に関係のないプログラムネタや音楽ネタなど。

エックスサーバ間の独自ドメイン引っ越しログ

先日、エックスサーバの落とし穴というタイトルで、エックスサーバ間の独自ドメインホームページの引っ越しが大変だ、という話をしたのですが。

(大変というか、どうしても一時ドメインが繋がらなくなる時間ができてしまう、という仕様になっている)

 

とはいえ、もう新サーバの契約をしてしまったので、独自ドメインが一時不通になるのを覚悟で、エックスサーバ間のワードプレスホームページの引っ越しをやってみました。

結論をいうと、覚悟していたよりはかなりスムーズに移行できました。

以下、その方法です。

 

1)新サーバのデフォルトで生成されるアップロードディレクトリの下にワードプレスを移行する。

まず、新サーバのデフォルトで生成されるアップロードディレクトリ(public_html)の下に、仮ディレクトリを作ります。(tmpとかなんとか)
独自ドメイン専用ディレクトリはまだ作れないので、とにかく最初にサーバ契約したときに勝手につくられるディレクトリの下のpublic_htmlに置く。ここ以外では、ドメイン紐付けができていないので動作確認できません。

その下に、旧サーバのwordpressからUpdraftPlusを使ってすべての情報をバックアップしたものを復旧します。

wp-config.phpの中に設定する'WP_HOME' 'WP_SITEURL' の値は、現在wpディレクトリを置いている仮ディレクトリにしておきます(たとえば新サーバについてきたドメイン名がhttp://hoge.xsrv.jpなら、http://hoge.xsrv.jp/tmp/wpとか。)
その後、仮ディレクトリの下でwordpressホームページがきちんと閲覧できることを確認します。

 

UpdraftPlusを使ったワードプレスのサーバ引っ越しの方法は以下の3記事を参照してください。

Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus - 渡米生活。(日記)

Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus リストア編 - 渡米生活。(日記)

Updraft Plusで設定ファイルも保存する - 渡米生活。(日記)

  

2)旧サーバに残っているメールをすべてPOPでダウンロードする。

設定メールアドレスやメーリングリストなどのパスワード情報など、新サーバ上で再設定に必要な情報もすべてローカルに保存します。

なんでこの作業が必要かというと、旧サーバからドメイン設定を削除した瞬間に、サーバに残るメールもすべて削除されるからです…。新サーバにドメインを向けてしまってから、「あれ、メールアドレスなにがあったかな」なんて旧サーバを覗きに行っても何も残ってません。
当然、サーバに直接メールを見にいくIMAPはダメです。

 

3)旧サーバでドメイン設定を削除。

この瞬間、旧サーバの独自ドメインに関する設定やファイルはすべて抹消されますので、必要な情報をコピーしたか、今一度確認。

 

4)新サーバでドメイン設定を追加。

ドメイン専用ディレクトリができ、ホームページの設置やメールアドレスの設定が可能になります。

 

5)1)で動作確認しておいた仮ディレクトリの下のwordpressフォルダを、独自ドメインの公開ディレクトリ(通常はpublic_html直下)にコピーする。

データベースの設定は1)で完了しているので、ファイルをコピー(または移動)するだけでOK。

wp-config.phpのWP_HOMEとWP_SITEURLの行を削除すると、正しいドメインで開通するようになります。

 

6)旧サーバと同様にメールの設定をする。

DNSレコードの変更が反映されるまでは少々時間がかかりますが、その間でも設定は可能ですので、この時間でやってしまいます。

 

7)DNSレコードが独自ドメインへのアクセスに対し新サーバに向くまで待つ。

通常数時間から24時間かかると言われていますが、結構早かったです。

 

8)ホームページの閲覧、テストメールの送受信ができることを確認する

問題がなければ、新サーバのデフォルト公開ディレクトリの下の仮ディレクトリを削除するのを忘れないように。

 

以上の手順で無事移行完了しました。 

実は、手順7)で下手すると24時間どころか3日かかる、という書き込みをサイトでさんざん見たので、かなり戦々恐々だったのですが、やってみたらほとんど間をおかず開通しました。

DNS更新のタイミングが良かっただけかもしれませんが。

 

なかなか開通しない場合は

まずは、wordpressをいきなり動かすのは諦め、独自ドメイン設定をすると勝手につくられるpublic_html以下のindex.htmlをエディタなどで編集し、手を加えたことがわかるようにします(例として「このウェブスペースへは、まだホームページがアップロードされていません」の文字の後に「テスト」と書き加えたことにします)。

同じディレクトリにindex.phpがある場合は、一時的にindex.php.bakとでも名前を変えておきます。

それから、ブラウザのキャッシュとクッキーをクリアし、もう一度アクセスしてみます。

DNSがまだ新サーバを向いていない場合は、「サイトが存在しません」と出るはずです(旧サーバの独自ドメインディレクトリは削除されているため)。

エックスサーバの「このウェブスペースへは、まだホームページがアップロードされていません。テスト」という表示が出る場合は、すでにDNSレコードが更新されて新サーバに向いている証拠です。

したがって、これが見える場合は、独自ドメインの設定変更はすでに完了しており、ホームページが表示されないのは別の原因ということになります。

DNSレコードの更新が完了していたら、index.php.bakをもとの名前に戻してindex.htmlを削除(または別名に変更)します。

読み込み直しするたびに、ブラウザのキャッシュとクッキーをクリアするのを忘れないように!



今回の作業では、1つのサーバアカウントで3つのドメインのサイトを運用しているものをすべて移行したのですが、すべて同じ手順を踏んだ(つもり)にもかかわらず、最後に設定したサイトがほぼ一瞬で開通し、残り2サイトが6時間たっても以下のメッセージが表示されて開通しない事態に陥りました。

無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。

最初は DNSがまだ更新されていないのだろうと思っていたのですが、それにしては最後の1ドメインだけが即変更反映されたのが奇妙で、ためしに上の方法で確認したところすでに開通していました。

というわけで、これはワードプレスの設定が怪しいと思い、片っ端から.htaccess、wp-config.php、index.phpを確認してまわったところ、一箇所、.htaccessに間違った情報が入っていました。それのせいで、wordpressが正しいファイルを見にいくことができず、上記の表示になったということです。

 

というわけで、感覚としては、ドメイン設定完了後30~1時間ほどで開通する感じです。

もちろん、DNSの変更が全世界に浸透するまで24時間かかるので、世界中どこでも1時間で開通というわけにはいかないでしょうが、日本国内くらいなら結構はやくに更新されるのかも。

このくらいのタイムロスなら、一時独自ドメインがつながらなくても、夜中に作業すれば許容範囲かな、と思いました。