【WordPress】ドメイン変更時の注意点(GCP/Debian/Apache)

Wordpress

WordPressは大変便利なCMSですが、初心者には陥りやすい落とし穴が度々あります。

何を隠そう、私もWordpressは趣味でしか触っていない初心者のため、いまいち挙動が分からず、これまで何度か再起不能状態にさせてきました……。

今回は備忘録も兼ねて、GCP(GoogleCloudPlatform)上にある、WordPress – Google Click to Deployサービスを使用してほぼ無料ブログを運営している場合で、ドメイン変更(URL変更)をした際の注意点を記載します。

前提条件

ミドルウェア構成

個人ブログというと有料のレンタルサーバサービスを活用されている方が多いかと思いますが、私は自身の勉強も兼ねて、GCP(GoogleCloudPlatform)のWordPress – Google Click to Deployを使っています。

運用コストをかなり安価に開始できるうえ、もし拡張したい場合には簡単にスケールアップできるところも魅力です。

さて、この場合のミドルウェア構成は、2020年12月末現在は下記です。

  • OS: Debian 9.13
  • Web: Apache 2.4.25
  • DB: MySQL-Server 5.7.31
  • CMS: WordPress 5.5

ドメイン変更が必要になる理由

一般的にはサーバの移設等で必要になるドメイン変更ですが、今回は違います。

単純にDNS設定を誤ったため、メインドメイン(hogehoge.com)ではなく、サブドメイン(www.hogehoge.com)でWordpressの運用を開始してしまったのです。

単純にDNS設定を誤ったため、メインドメイン(hogehoge.com)ではなく、サブドメイン(www.hogehoge.com)でWordpressの運用を開始してしまったのです。

そして原則、サブドメインではGoogleAdSenseの審査を受けることができません。(無料ブログでも同様の事象が起こりますね。)

具体的には、申請時に「お客様のサイトにリーチできません」というエラーが出て、審査すらして貰えないのです。

はい、笑ってください。。

しかも、気付いたのが半月ほど経ってからでした。

すでに記事を何枚か書いたり、SSL対応、初期設定変更等をしていたので、サーバを1から作り直す気にはなりませんでした。

そこで、運用中のサーバ1台でドメイン変更にチャレンジします。

ドメイン変更の方法

まず落とし穴その1:いきなりWordpressの設定を変えないこと

WordPressの一般設定画面に、WordPress アドレス (URL)の設定がありますね。

初期設定時、IPアドレスからURL表記に変更した際などに設定を変えているかと思います。

ここを変更すれば新たなドメインで運用が開始されますので、さっそく変えたくなりますが、絶対にしてはいけません。

正確には、今後の設定を一つも間違えなければ変えても良いのですが、管理画面にアクセスできなくなりますのでオススメしません。

もし、バックアップもなく変更してしまった場合には、下記の項目のDNS設定で、新ドメイン向けのAレコードを設定すればアクセスできるようになる可能性が高いです。

最初はバックアップ・スナップショットの作成

何をするにも、まずはバックアップ・スナップショットを保存しましょう。

検索すればいくらでも手法が出てきますので、今回は割愛します。(余裕があれば、別途手順を記事化します)

GCPの場合はスナップショットを簡単に取得できますので、一度保存しておくのが無難です。

また、Wordpress自体のバックアップは、デフォルトの機能や、プラグインを用いてバックアップを取得しておきましょう。

もし最悪、アクセス不可能になってしまった場合でも、1からサーバを構築してバックアップ・スナップショットを適応すれば同様のサーバに復旧することができます。

また念のため、管理者ID・パスワードを再確認しておきましょう。

ドメイン変更手法の案

次に、ドメイン変更をするための手法を記載します。

いくつか方法があります。

  1. DNSにAレコードを追加
  2. DNSにCNAMEレコードを追加
  3. .htaccessファイルで302リダイレクト設定
  4. 新規サーバを立ち上げ新ドメイン設定後、コンテンツだけバックアップから復元

項目3が一番単純に対応できると思いますが、DNSで誤ったドメインを返しておいてリダイレクトするというのは気持ちが悪い気がしたので、今回は1番で対応することにしました。

DNSへAレコードを追加

CNAMEではなくAレコードを追加したのは、最終的に誤った設定を削除しやすいかと思ったためです。

GCPの場合、多くはCloud DNSを活用している方が多いと思いますが、こちらにAレコードを追加するだけです。

その際、ドメインはもちろん下図の赤枠にあるホスト名を空欄のままにします。

そしてIPv4アドレスを既存のものと同じアドレスにして作成し、数分待てば設定が反映され、メインドメインでアクセスが出来るようになります。

その後、Wordpressの設定変更

上記手順で行うことで、サブドメインでもメインドメインでもアクセス出来る状態かと思います。

満を持してWordpressの一般設定画面でアドレスを変更しましょう。

問題なければ、新アドレスでもアクセスが出来るようになるはずです。

その後、利用しない場合はDNSの旧レコードを削除するなど、対応していきましょう。

落とし穴その2:HTTPSが外れる。

次に困るのが、SSL設定かと思います。

すでにHTTPS対応をしている場合でも、新ドメインではHTTPS未対応(安全ではないサイト)になってしまっています。

ドメインが変わっているのだから当然ですが、多くのサイトでは初期設定方法しか紹介していないので、ドメイン変更や追加は戸惑うかと思います。

続いては、Let’s Encryptを利用している場合の、SSL追加対応方法をご紹介します。

SSL追加対応(Let’s Encrypt利用の場合)

ここでも、いくつか対応方法が考えられます。

  1. SSL証明書を削除し、新規設定
  2. 既存の証明書にドメイン追加
  3. Let’s Encryptの初期化と再設定

今回は一番簡単そうな2番で対応します。

GCPのWebコンソールでサーバにSSH接続を行いましょう。

そしてroot権限へ。

su -

続いて、ドメイン追加のコマンドを打つ前に、Webサーバ(Apache2)を停止します。
(Webサーバを停止しないと「Problem binding to port 80: Could not bind to IPv4 or IPv6.」などと言われて失敗します。)

いきなり停止するのが不安な場合や状態確認をしておきたい場合は、ステータスを見ましょう。

/etc/init.d/apache2 statussosite

ステータスが緑色など問題なければ、Webサーバ停止。

/etc/init.d/apache2 stop

そして、Let’s encryptにドメイン追加をします。-dオプションとコロンを用いて、複数設定が可能です。

certbot certonly -d www.hogehoge.com,hogehoge.com -m hogehoge@gmail.com --agree-tos

ドメイン名とメールアドレスのhogehoge部分を変えて頂ければと思います。

最後に、Webサーバを再開します。

/etc/init.d/apache2 start

ステータス等を確認し、問題なければ、新ドメインでもHTTPS接続が出来ると思います。

終わりに

今回はGCPのWordPress – Google Click to Deployを利用している場合に、ドメイン変更を行う手順例を記載しました。

GCPに限らず同様の環境であれば使えるテクニックかと思います。

知っていれば簡単に解決できるのですが、あまりパターンが多くないせいかネット上にも情報が少ないので、今回備忘的に記載しておくことにしました。

何か少しでも参考になれば幸いです。

コメント

タイトルとURLをコピーしました