Google Cloudを使ってみる【#3】無料SSLを設定して自動更新させる

2022年12月23日

とりあえずアクセスできるようにする

インスタンスの作成はとりあえずできました。最終的にwebサイトを公開することになるのでApache的なものをインストールしようかなと思います。

予定してる仕事で使うサーバーソフトはnginxというソフトです。言われてみるとエラーページとかでこの文字見たことあるような…

ということでsshを開いてインストールしてみます。テストでやってキャプチャは取り損ねてしまったのですが、そんなに難しくはなさそう。

インスタンス作成の際に選んだOSはUbuntuなのですが、NginxはUbuntuのデフォルトのリポジトリで利用できるため、aptパッケージングシステムを使用してこれらのリポジトリからインストールできます。

sudo apt update
sudo apt install nginx

一旦最新に更新して、そのままインストール指示してやれば一瞬でインストール完了です。

これで/var/www/html/のディレクトリにアクセスするとアクセスできるようになった…はずだったのですが…

webルートのディレクトリを見てみるとindex.htmlじゃなくてindex.nginx-debian.htmlというファイルになってました。なのでこれをindex.htmlに変更します。それでも変わらない…

ためしにhttpsをhttpに変更してみると、

アクセスできました。httpもhttpsもアクセスできるように設定したはずなのに…

スポンサーリンク

SSLを入れてみたらいけるかもしれないのでSSLを発行してみます

Let’s Encryptで証明書を発行します。これも超簡単にできるっぽい。

sudo yum install epel-release
sudo yum install certbot
certbot certonly --webroot -d XXXX #XXXX は、IPアドレス

なんかエラー…必要なソフトが入ってない?これまたリポジトリからインストールできるみたいなので、

sudo apt install certbot

でインストールして再度やってみると…あれ?そもそもyumが使えないって言われてる…

別で調べてみるとこのcertbotというのは、

プラグインを介してSSL証明書を取得するさまざまな方法を提供します。Nginxプラグインは、必要に応じてNginxの再設定と設定の再読み込みを処理します。このプラグインを使用するには、次を入力します。

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04-ja

とのこと。いろいろ置いといて別のところのコマンドそのまま入れてみます。

sudo certbot --nginx -d XXXX -d www.XXXX

あれ…?IPアドレスじゃLet’s Encrypt発行できないんだ?だんだん面倒な話になってきました。

無料でドメインが取れるというサイトがあるとのことでそちらで取得しました。ITの発展していない国のドメインを暫定的に使えるようにしてくれるサイトみたいですね。

アクセスが増えて値打ちが出たり、だれかが有料で購入した際には使えなくなったり有料になるみたいです。

取り方は簡単でした。別の記事でまたまとめようと思います。

とりあえず適当に「plando-test.tk」というドメインを取得して、IPアドレスと紐付けしました。

できましたね。軽く感動…

あとはこのドメインにSSLを設定したい

先ほど実行したcertbotというコマンドをあらためて実行してみます。するとまた違うエラーが…

nginxのプラグインが存在しないとのこと。どこかに書いてあったけど端折ったやつですね。

sudo apt install certbot python3-certbot-nginx

これを実行します。python3って書いてあるけどpythonと何か関係があるのでしょうか?知らないことだらけですね…

正常にインストールできたみたいなので再度SSL設定を実行。

メールアドレスを入れろと出てきたので入れて実行。

利用規約みたいなのを見て同意してくださいと出たので同意。

なんかニュース送るぞみたいな画面。間違えてyにしちゃった。どんなメールが来るんだろうか…

httpでアクセスしたときにhttpsにリダイレクトするかどうかを選択する画面。2でリダイレクトさせます。

できたっぽいですね。更新したらhttpsに飛びました。ここまでやってlaravelと関係なかったらどうしよう…

Let’s Encryptの更新を自動化する

Let’s Encryptは3ヶ月ごとに更新が必要で、それを自動でやる方法があったので実行しておきます。

Let’s Encryptの証明書は90日間のみ有効です。これは、ユーザーが証明書の更新プロセスを自動化することを奨励するためです。インストールした certbotパッケージは、systemdタイマーを追加することでこれを処理します。 このスクリプトは1日に2回実行され、有効期限の30日以内にある証明書を自動更新します。

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04-ja

ちゃんとポリシーがあってこの決まりがあるんですね。これ面倒なんですよね。

sudo systemctl status certbot.timer

これを実行すると…

さいごに

今回はhttpsを経由してwebルートをブラウザで表示させるところをやりました。

laravelインストールしても表示できなければ意味がないので。果たしてこれが関係あるのかどうかはまだわかってませんが、今勉強してるツールを使えばレンタルサーバー借りなくてもホームページが作れるということがわかりました。これはけっこう大きいかも。どのくらいアクセスがあったら課金されるんでしょうね。

次回はlaravelインストールしていきたいと思います。

参考サイト

お知らせ

株式会社プラン・ドゥではphpとデータベースを利用したアプリケーション開発を行なっております。
wordpressでのホームページ作成、phpのスクラッチ開発などが可能です。
業務効率化等でお困りのことがございましたら、システムのご提案からさせていただきますのでお気軽にご相談ください。

その他の取扱商品はこちらからご覧いただけます。
https://plando-inc.co.jp/product

同じカテゴリの記事

関連記事

スポンサーリンク

DTP

Laravel開発

wordpressカスタマイズ

デジタルマーケティング

ライフハック

動画

当社製品について

Contact各種お問い合わせ

お問い合わせ・ご相談など
まずはお気軽にご相談ください

お仕事のご依頼やご相談、弊社サービス内容に関してなど、お気軽にご相談ください。

トップページ コラム 各種お問い合わせ プライバシーポリシー