kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

certbotを使ってSSLの設定 ( KAGOYA CLOUD OPEN VZ)

最近はホームページを作る際にHTTPSが必須だと思います。

ブログサービスは必ずあるでしょうし、レンタルサーバーもワンクリックで設定が可能になっていると思います。

自分でサーバーを立てる場合は、自分で設定する必要があります。SSL証明書認証局で有料で購入していましたが、最近はLet's Encryptを利用して無料でもHTTPSを使うことができるようになりました。

最近設定する機会が複数回あったため、記事にしておこうと思います。

ただし、今回の記事はKAGOYA CLOUD のOPEN VZで動かした記録です。多分他のサーバーは違う可能性が高いと思っています。

certbot

certbot.eff.org

certbotオープンソースのソフトウェアでLet's Encriptを便利に使えるようにしたツールです。

サーバーにlet's EncriptでSSLを設定する際には使う方がいいと思います。

インストール方法は、certbotのページにミドルウェアとOSを入力することで確認できます。

ただし、今回certbotのページのやり方で設定ができなかったため、別の方法です。

設定

www.kagoya.jp

そのまま使用しました。

sudo yum install epel-release
sudo yum install certbot-nginx

sudo yum install nginx
sudo systemctl start nginx

sudo certbot –nginx -d [ドメイン]

nginxのconfにsslの情報が追加されていれば設定できています。

cron設定

let's encriptの有効期間は作成して3ヶ月の間のため、随時SSL証明書を更新することで使い続けることができます。

更新コマンド

/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

ポート80番を使って更新するためnginxを起動したままにするとエラーが発生します。nginxを止める動作を入れることで80番ポートを解放するようにしています。

月一ぐらいで更新にしています。ただ期間が30日以上残っていると更新されないみたいです。月2ぐらいに設定しておけば、更新されるでしょう。

ここからはとにかく作業中の挫折の記録

Cento6でやろうとして挫折

まずサーバーがCentOS6だったところから始まり、certbotのページの選択肢にないことを確認。

そしてちゃんと調べるとすでにサポート終了していることに気づき、やめた方がよさそうな雰囲気に。さらに情報を調べるとCentOSの開発が21年の年末に終了することになっていることを知り、さらに心が折れ、傷心中。

CentOS6の時点でサーバーを新規で作り直したほうが楽そうと判断し、作業追加。

Kagoya Cloud

いままでAWSやさくらVPSでやってきたため情報が多かったです。サーバーの設定はOSによると思っていましたが、レンタルサーバーによって制限がある場合もありますね。

KagoyaのVPSに制限はなさそうでしたが、なんかよくわからないエラーが多く、yumのインストールを何回か試すと大丈夫になったためダウンロードに失敗していただけだと思いますが、情報が少ないのは厳しいですね。

今回はカゴヤのブログにかなり助けられました。本家の情報は大切ですね。

まとめ

let's encriptのおかげで無料のSSLページが作れるようになりましたね。本当にありがたいです。

ただ今回知ったCentOSの開発終了を聞いた時、個人的に無料ソフトウェアの寿命を感じてしまい、ショックを感じています。CentOSの開発終了理由は知らないですが、なんか勝手に凹んでいますね。

ちゃんと情報は仕入れていく必要がありますね。