Let’s Encryptで無料のSSL

Ubuntu 22.04 にセットアップ

既にapache2 でサイトがUbuntu/Debian Apache2の標準的な設定で構築されていることが前提です。
Ubuntu 22.04 には 標準のリポジトリーでCertbotパッケージが用意されており非常に簡単にセットアップできます。
まずはroot になり。パッケージをインストールして作業をしていきます。

$ sudo -i

# apt install apt install certbot python3-certbot-apache


続いてrewriteモジュール(WordPressでも使用されます)を有効化を行い、証明書をインストールしていきます。インストールするホスト名を選択し質問に答えるだけで完了します。

# a2enmod rewrite
# certbot --apache


上記が正常終了すれば、Apache2の再起動です。

# systemctl restart apache2.service


以下のコマンドでサーバー上、全ての証明書が更新されます。

# certbot renew --post-hook "systemctl restart apache2.service"


crontabの月単位の実行で、証明書の期限を自動的にアップデートできるようにしましょう。スクリプト名は letsencrypt とします。ファイルの内容は

#!/bin/sh

# update (renew) cert.
/usr/bin/certbot renew --post-hook "systemctl restart apache2.service" 

このシェルスクリプト、 letsencrypt を実行権限を付けて/etc/cron.monthly/ に置けば完成!!

# chmod +x letsencrypt
# mv letsencrypt /etc/cron.monthly/