最近はホームページを作る際にHTTPSが必須だと思います。
ブログサービスは必ずあるでしょうし、レンタルサーバーもワンクリックで設定が可能になっていると思います。
自分でサーバーを立てる場合は、自分で設定する必要があります。SSL証明書は認証局で有料で購入していましたが、最近はLet's Encryptを利用して無料でもHTTPSを使うことができるようになりました。
最近設定する機会が複数回あったため、記事にしておこうと思います。
- nginx
- centos
ただし、今回の記事はKAGOYA CLOUD のOPEN VZで動かした記録です。多分他のサーバーは違う可能性が高いと思っています。
certbot
certbotはオープンソースのソフトウェアでLet's Encriptを便利に使えるようにしたツールです。
サーバーにlet's EncriptでSSLを設定する際には使う方がいいと思います。
インストール方法は、certbotのページにミドルウェアとOSを入力することで確認できます。
ただし、今回certbotのページのやり方で設定ができなかったため、別の方法です。
設定
そのまま使用しました。
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の開発終了理由は知らないですが、なんか勝手に凹んでいますね。
ちゃんと情報は仕入れていく必要がありますね。