certbot - AlmaLinux

Certbot とは?

certbot とは Let's Encrypt(レッツ・エンクリプト) と呼ばれる認証局から無料で SSL 認証書を発行が出来るツールです。

Apache などの Web サーバの設定まで行ってくれます。

certbot パッケージは、デフォルトではパッケージ マネージャーから利用できません。 Certbot をインストールするには、EPEL リポジトリを有効にする必要があります。

Apache で HTTPS で利用

Apache で HTTPS を利用するには、SSL モジュールをインストールして利用します。

sudo dnf install mod_ssl

# apache の再起動
sudo systemctl restart httpd

certbot のインストール

python3-certbot-apache は、Certbot を Apache と統合するプラグインです。証明書の取得や Apache の HTTPS の設定がコマンド1つで自動化できます。

EPEL リポジトリの追加と、certbot のインストール

# EPEL リポジトリの追加
sudo dnf install epel-release

sudo dnf install certbot python3-certbot-apache

証明書のインストール

「 example.com 」の部分は、自分のサイトのドメイン名に置き換えます。

sudo certbot --apache -d example.com

Let's Encrypt SSL証明書の更新

証明書の有効期限は三か月のため、期限が来る前に更新作業を忘れず行います。

次のコマンドを実行した場合、更新期限が残りが30日未満の場合のみ更新されます。

更新期限が残りが30日未満の場合のみ更新

sudo certbot renew

すぐに証明書を更新したい場合は次のようにします。

すぐに証明書を更新

sudo certbot renew --force-renew

cron で定期的に証明書を更新

cron に証明書の更新を定期的に実行するコマンドを設定します。

証明書の更新には root 権限が必要ですので、root ユーザーの cron に設定します。

cron で定期的に証明書を更新

crontab -u root -e

証明書の更新と Apache も再起動するコマンドを設定します。

毎日 3:00 に実行されますが、SSL 証明書の有効期限が30日未満の場合のみ更新されます。

cron で定期的に証明書を更新

0 3 *  *  * certbot renew && systemctl restart httpd