Vultrで借りている Ubuntu サーバに Apache2 をインストールしています。こいつを SSL 化。無料で SSL 証明書を発行してくれる Let's Encrypt を利用します。
以前の記事でいろいろなクライアントアプリケーションを見繕ってみたのだけれど、Ubuntu 16.04 では、標準リポジトリから letsencrypt コマンドをインストールすることができるので、これを使ってみる。
# sudo apt install letsencrypt python-letsencrypt-apache
インストールが済んだらコマンドを実行。
ウィザードが表示されるので、いくつかの項目を設定。至って簡単。これで証明書のインストールは完了。
Ubuntu のバージョンが 18.04 ならば、letsencrypt コマンドの新しい名前・certbot を使います。
→ Certbot クライアントの準備|Let's Encrypt の使い方 - Let's Encrypt 総合ポータル
さて、Let's Encrypt が発行してくれる証明書の有効期間は 90 日です。つまり、およそ三ヶ月ごとに証明書を更新しなければなりません。更新期限が近づくと、letsencrypt コマンドを走らせたときに入力したメールアドレス宛に通知が届きます。届いたならば、証明書の更新。方法は…
と、これだけ。
「ポートが空いていないので更新作業に失敗したよ」というアラートが出た場合は、renew の前に Apache を停止。そして更新後に再起動。
# sudo letsencrypt renew
# sudo service apache2 restart
らくちん。
この一連のコマンドを cron に登録しておけば更にらくちん。
"letsencrypt renew" コマンドは「更新期限が近ければ証明書を更新し、まだ充分に期間が残っていれば何もしない」という動作をします。なので極端な話、一時間ごとにこれを実行しても問題ありません。
現実的には「一週間ごとに実行し、更新を確認」という設定が良いかと。
コメント