【振り返り 編】GCE でWordPressを構築 with SSL化

記事を作ろうと思った動機

各記事でも表記しておりましたが、元々はこのブログはWordPress.com の無料プランで運用しておりました。
というのも「この情報にどこもまで需要があるのか分からない」「構築に時間を掛けたくなかった」という事からWordPress.com を選んだのが理由です。あとから「はてなブログ」でも良かった と気づきましたw

こちらの記事でも簡易な報告ですが10月から約100 PV/日ぐらいなりました。
>> Google イベントのまとめ情報の需要は?2019年9月までの状況報告

その頃から「広告収入」が頭によぎり、テーマがGCPなのにWordPress.com で運用ってどうよ?と自問し、ネタ集めという事でGoogle Cloud Platform でWordPress 構築を決めました。

GCP でWordPress を構築す前や途中で何度も「GCP WordPress」を検索しては躓いていました。
解説記事はネットに多く上がっておりますが、「〇〇 部分のみ説明」「ターミナルでの操作がスキップ」であったりとある程度の知見がないと理解するのは難しかったです。
「これは…挫折しやすい…」とは感じ、何も知らない方でも構築&操作できるように構築から設定までの一貫した記事があると良かった というのが動機です。

「各機能は分からなくてもGCP を触ってもらう」の入り口になったらと思い記事化してみました。だれかの参考に嬉しいです。


ハマったこと

ちゃんと記事化するまでに何度もVM インスタンスを作っては潰しておりました(笑)
何が原因か分からなかった ので、とりあえず最初からというので何度も繰り返してました。

http接続でドメイン.dev にアクセスすると警告表示がされ、ページが表示されなかった

普段の警告表示であれば、「アクセスする(安全ではない)」をクリックしてページを見れるのですが、このケースはなかったため焦りました…DNS 設定ができていなかったのか? 検索キーワードで関連する記事が見つからない! 同じ設定をしたnippotea.com は表示されているので何がダメなのか? また、HSTS?プリロード リスト?という新しいキーワードとの遭遇で1夜中 混乱しました。

原因は、ドメイン.devで最初からHSTS プリロード リストに登録されているです。
SSL 証明書を発行していなければ強制的にHTTPSに飛ばされるので警告表示がされる、つまりはhttps接続で確認はできない との事なんですが悩みました…

解決するには、SSL 証明書を発行するだけでいいです。

SSL 証明書が生成できない

最初にWorpPress を構築したときにはSSL 証明書を生成できたのですが、記事用の2回目で行ったときにはSSL 証明書を生成が出来なくなり躓いた事です。
1回目はできたのに2回目からできないと不思議でした。コマンドが間違ったのか、上記の問題でSSL 発行ができなくなったのか、検索してもヒントになる記事が見つからず…と一番悩みました。

原因は、発行するドメインおよびサブドメインのDNS 設定が出来ておらず、先にSSL 証明書を生成を先に行ったことでした。
Let’s Encrypt のSSL証明書は、ドメイン認証=DNS認証を行っているので先にDNS 設定ができていないとSSL 証明書が生成されないだけでした。

解決するには、SSL 証明書と付与するドメインおよびサブドメインのDNS 設定を先に行う事でした。

無料SSL証明書のLet’s Encryptとは?

Google から重複したページと認識されていて正規ページ扱いされていない

これはめっちゃシンプルで「NA☆RU★HO☆DO!Faunk!」と頷きました(笑)

原因は、WordPress.com で公開していた記事をこのドメインにページを複製した事です。
WordPress.com でサイトを削除/非公開しても、所有権はWordPress.com のままです。移行するには有償 Site Redirect 16.0 USD/年 を利用する必要があります。

参考になったサイト


残ってしまった課題

試していないので正しいのか分かっていませんが
SSL 証明書を発行後にサブドメインを追加をしたい場合、発行した証明書を削除して、追加するサブドメインも含めてSSL 証明書を生成しなければならないようです。
削除する証明書がどこにあるのか?削除してから証明書を生成できるのか?検証したのか?と課題が残ったままです。

「nginx」「Bitnami」「certbot」は十分な理解できていません(笑)
これは各サイトでSSL 証明書の生成する方法でやり方が違っていたのでどれを参考したらいいか分からなかった、書いているコマンドを試したが通らないし説明と違う…でどれが正しいのかで最も苦しんだ事でした。


今回の構築で元になったサイト、スペシャルサンクス

このサイトの運営者です。 Google テクノロジーが好きで布教活動を勝手にしています。