ドメイン名設定に振り回されて四苦八苦

   

phpMyAdminのwp_options

前回書いたように、WordPressのUpdraftPlus Backup/Restoreプラグインを使うことでデータの移動は何とか上手く行きました。データの移動が終わったら、新しい環境のWordpress側のUpdraftPlus Backup/Restoreでリストアです。認識されているバックアップを選んでボタンを押すだけで完了です。簡単簡単…の筈でした。

しかし、リストア結果を確認するために新しい環境のWordpressを再読み込みしたところ、困ったことが起きました。

新しい環境のWordpressに、リストアした筈の記事が全く表示されない。その上、管理画面を開こうとすると、f.daccot.com、つまりバックアップ元である従来のBluehostサーバにリダイレクトしてしまうのです。

上手く新環境のWordpressを表示できなかった理由と解決法

結論から言うとWordpressの設定の中に自サイトとWordpressのURL(f.daccot.com)が登録されていたことが理由です。

この時点ではdaccot.comのドメインはBluehostサーバが指定されています。一方で新環境はまだドメインがレジストラに登録されていないのでipアドレス直打ち状態です。(cPanelが導入されているようなサーバの場合、多くはhttp://***.***.***.**(サーバのipアドレス)/~****(アカウント名)/)

1Click-InstallでWordpressをインストールした段階ではそのipアドレスで自サイトとWordpressのURLが登録されていました。この状態ではBlog画面も管理画面も普通に開くことが出来ました。しかし、リストアすると、新環境上でf.daccot.comが設定され、今開いている場所とは異なるためリダイレクトしてしまうのです。

そこで、新サーバのcPanelでphpMyAdminからMySQLのWP_OPTIONSを開いて設定変更することにしました。

phpMyAdminのwp_options

phpMyAdminのwp_options

siteurlとhomeの属性値をf.daccot.comからipアドレス直打ちのURLに変更し保存です。

siteurlの変更

siteurlの変更

homeの変更

homeの変更

その後、ipアドレス直打ちのアドレスをWebブラウザで開くとしっかり復元した適宜覚書を確認できました。とりあえずのデータ移動はこれで完了です。

ドメイン名の反映に四苦八苦

後は新サーバにドメインを反映すれば、引っ越しは終わりです。ドメインの反映は、新サーバのネームサーバにdaccot.comや、その下位のサブドメインを設定し、レジストラに登録したネームサーバをBluehostから新サーバに変更するだけです。

そうすればレジストラからドメイン名とipアドレスの紐づけをネット上の各ネームサーバに反映していき、daccot.comで新サーバにアクセス出来るようになります。旧サーバと新サーバの内容が同じであるなら、反映の状態に関わらず利用者は同じURLで同じ内容を閲覧できます。従って、閲覧者は裏でサーバの引っ越しがあったことなど意識することなく利用出来ます。

そのための独自ドメイン…の筈なのですが、ここでまた躓きました。契約しているレジストラには2-3日で反映と記載があり、その間のんびり構えていようと思っていました。

しかし、久々にBlogをいじるのが楽しかったのでプラグインやらテーマやら記事書きやらを新環境側で行ってしまいました。その最中に、手元PCで新サーバ側の内容がf.daccot.comでアクセス出来るようになりました。早くも自分の接続先のネームサーバにも反映したかと喜んだのですが、これがぬか喜び。iPhoneでアクセスすると旧サーバの内容が表示される。暫く経つとPCでも旧サーバの内容が再び見えるようになりました。

反映までの過渡期は何度もそういうことが繰り返されて最終的にレジストラへ設定された通りになるのでしょうけれど、段々イライラしてきました。閲覧者も新環境と旧環境の間で振り回されて混乱するような状況は困る。おとなしく静観せずに弄ってしまったが故の状況を棚上げして、状況打開で出来ることを探しました。

スムーズなドメイン名反映のために行ったこと

要は古いBluehost側のネームサーバの設定が、daccot.comやサブドメインはBluehost上を指し示しているのが問題なのです。引っ越ししたにも関わらず、そのドメインは元の住所にあると言い張っている訳ですから、それを素直に信用したクライアントは間違え続けます。引っ越しをしたなら、新住所はこちらと言う置き手紙設定をBluehost側ネームサーバに置けば、正しい名前解決をしてくれる筈です。

そこでBluehostのcPanelのDNS ZoneエディタでAレコードの設定でサブドメインのポイント先を新環境のipアドレスを設定しました。また、すぐ結果反映するようTTLを一時的に60に設定しました(暫くしたら、元の14400に戻します)。これをした途端に手元のPCでもiPhoneでも新環境へドメイン名でアクセス出来るようになりました。

この解決には以下の記事がとても参考になりました。

気が付いてみればあっけない話なのですが、そこまでレジストラの方のAレコードを弄っては、nslookupやpingを叩いて「上手くいかん!何でだ?!」と癇癪を起していました。上手くいって一安心です。まあ、まだ自分の環境だけ書き換わっていて他はまだ旧環境を見ているんじゃないかということを恐れていますが、検証の仕方も分からないので…。この記事も新環境にポストしているつもりなのですが、上手く表示されていますか?

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - 覚書