WordPressのサーバー移行をする場合、通常DNSを切り替える前に、hostsファイルを利用して事前に確認できます。共用サーバーであるロリポップもそれができるのか調べました。
もくじ
WordPressは設定や記事に自ドメインを保持してる
以下の記事で説明したように、WordPressは「WordPressアドレス」や「サイトアドレス」といった項目に自ドメインの文字列を設定します。
また、記事内の画像などのURLもなぜかドメインからのフルパスで指定する仕様になっています。
なので、本番とは違うドメインでの動作確認は本当の意味での動作確認にはなりません。本番とは違うドメインで動かして、本番のドメインに移行後に設定値を変更したり、記事内のURLを置換するなどという方法もあります。
しかし、お使いのパソコンのhostsファイルを書き換えることで、本番のドメインで移行先を表示させることで動作確認をするのが、定番となっています。
共用サーバーのIPアドレスを指定して良いの?
hostsファイルに記載するのは、IPアドレスとドメイン名です。
通常のサーバーの場合、そのIPアドレスを指定すればいいのですが、ロリポップは共用サーバーなので、多くのサイトが一つのIPアドレスを共有していると思われます。
なので、このIPアドレスをhostsに記載したからといって、当方が確認したいサイトがきちんと表示されるのか疑問でした。
普通にできた。
まず、以下のサイトの方法でご自身が契約した共用サーバーのIPアドレスを調べます。
利用している『ロリポップ』WebサーバーのIPアドレスを確認する方法
次に、以下の公式サイトにある、
「③独自ドメインの設定」まで行います。ここまでなら実際にDNSの向き先は変わらないので安心してください。
これで以下の方法で通常通りhostsに、先ほど調べたIPアドレスとあなたのドメインを記載します。
hostsファイルで公開前確認!基本的な役割や設定方法をご紹介!
これで「③独自ドメインの設定」の時に作成されたロリポップ上のディレクトリに、適当な文字列を記載したindex.htmlなどを配置し、ブラウザからあなたのドメインにアクセスするとロリポップにアクセスできることがわかります。
あとはWordPressのデータやデータベースのデータを持ってくればWordPressとして動作確認ができます。
ちなみに、hostsの操作は普通に編集するのでもいいですが以下で紹介したSwitchHostsというアプリを使うと楽です。
ちなみに、少しトリッキーなやり方ですが、hostsを編集しないでChromeの起動単位でドメインの向き先を変える方法があります。コマンドラインからChromeを起動しオプションで紐付けの情報を付与します。
1 |
% /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --host-resolver-rules="MAP proggy.jp 99.99.99.99" |
みたいな感じです。以下英語の記事ですが、説明があります。
Resolve dns locally using google chrome
この機能、面白いのはhostsと違ってIPにだけでなく別のドメインに紐付けることもできます。とはいえ、一度Chromeを完全に停止してからでないとちゃんと反映されないなど、クセがあるので結局使いませんでした。普通にSwitchHostsを使った方が楽ですが、面白かったのでご紹介しました。
IPアドレスに直打ちだとアクセスできない
ちなみに、最初はロリポップ上に適当なディレクトリ(以下で言うとexample.com)を作成し、
共用サーバーのIPアドレス(XX.XX.XX.XX)を直接ブラウザに打ち込んで、
http://XX.XX.XX.XX/example.com/
などのようにアクセスしていましたが、403エラーになりました。
当然
http://XX.XX.XX.XX/
でも同じです。
あと、以下のように与えられたロリポップのドメインにしてアクセスすると
http://xxxxxxxxx.main.jp/example.com/
表示することができました。
前述した方法がわかるまでは、この方法で確認するしかないかなー、と思っていました。
「③独自ドメインの設定」がポイント
上記のhostsの記載をした後に、「③独自ドメインの設定」をせずに適当なディレクトリを作って、アクセスしたりしたりもしたのですが、ダメでした。
どうやら、「③独自ドメインの設定」で、共用サーバーの大元のApacheの設定に変更が入るようです。その設定が入れば、リクエストヘッダーに記載された独自ドメインの文字列を検知して、該当のディレクトリに向けて振り分けてくれると思われます。
https(無料)での事前確認はできない
ロリポップで無料でhttpsを利用するには「独自SSL(無料)」を設定する必要があります。しかし、これは実際にDNSの切り替えをしないと、設定できません。設定するためのボタンが押せない状態になっています。
通常のサーバーであれば、証明書の持ち込みなどで事前に設定できますが、ロリポップはそれにも対応していません。
なので、これまでhttpで運用していて、httpsで運用したい方は、httpで事前確認したとしても、DNS切り替え後に、どうしても設定値の変更作業や記事内の置換作業は一度は必要になってしまいます。
そして、移行前からhttpsで運用していた場合は、一定時間httpになってしまう時間が発生してしまいます。
もしかしたら有料の「独自SSL(PRO)」であれば、証明書持ち込みなどでDNS切り替え前に設定できるかもしれませんが、確認できていません。
さいごに
ロリポップはhttpsでの事前確認ができないなど、やっかいな部分はありますが、httpであれば普通にhostsを使って事前確認できますね。
共用サーバーなので比較的に低価格ですし、容量も多いので、悪くない選択肢だと思います。