株式会社エスロジカル
株式会社エスロジカル
SSL証明書(DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

HOME > 技術ドキュメント > Certbot(Let's Encrypt)自動更新設定(Ubuntu 24.04 LTS)

Certbot(Let's Encrypt)自動更新設定(Ubuntu 24.04 LTS)


Certbot は Let's Encrypt が提供する無料 DV SSL 証明書を取得・自動更新するためのツールです。 Ubuntu 24.04 LTS では snap パッケージによるインストールが公式推奨です。 本記事では Apache / Nginx プラグインを使った証明書取得から、systemd タイマーによる自動更新まで手順を解説します。


snap を使ってインストールします。apt 版は古いため使用しないでください。

sudo apt update
sudo apt install -y snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
certbot --version

Nginx が動作中の状態で実行します。Certbot が Nginx の設定を自動で書き換え、HTTPS リダイレクトも設定します。

sudo certbot --nginx -d example.com -d www.example.com

対話形式でメールアドレスと利用規約への同意を求められます。完了後、/etc/letsencrypt/live/example.com/ に証明書が配置されます。


sudo certbot --apache -d example.com -d www.example.com

ファイル 説明
fullchain.pem サーバー証明書 + 中間証明書(Nginx/Apache の ssl_certificate に指定)
privkey.pem 秘密鍵(ssl_certificate_key に指定)
cert.pem サーバー証明書のみ
chain.pem 中間証明書のみ

Certbot を snap でインストールすると、snap.certbot.renew という systemd タイマーが自動で登録されます。

sudo systemctl status snap.certbot.renew.timer

更新処理のドライランで問題がないか確認します。

sudo certbot renew --dry-run

エラーなく完了すれば、自動更新は正常に動作しています。


sudo certbot renew
sudo journalctl -u snap.certbot.renew.service --since "7 days ago"

*.example.com のようなワイルドカード証明書は、HTTP-01 チャレンジではなく DNS-01 チャレンジが必要です。 DNS プロバイダーの API キーを使って TXT レコードを自動設定するプラグイン(certbot-dns-cloudflare など)を使います。

sudo snap install certbot-dns-cloudflare
sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
  -d "*.example.com" -d example.com

手動で DNS TXT レコードを設定する場合は --manual --preferred-challenges dns オプションを使いますが、自動更新には対応しません。


sudo certbot certificates

Let's Encrypt は無料の DV(ドメイン認証)証明書のみを発行します。以下のケースでは有料証明書が必要です。

ケース 理由
EC サイト・金融サービス OV/EV 証明書による組織認証がユーザーの信頼獲得に有効
自動更新できない環境(閉域網・古い機器) 90日ごとの更新が前提のため手動管理が困難
2025年以降の 47日証明書化への対応 Let's Encrypt も短期化が進む。自動化前提でないと運用負荷が上がる
EV 証明書が必要な場合 Let's Encrypt は EV を発行しない

有料証明書であれば証明書の有効期間・発行 CA・認証レベルを選択でき、サポートも受けられます。
エスロジカルではデジサート・サイバートラストの正規取扱代理店として、 RapidSSL 3,960円/1年(税込)〜で SSL証明書を販売しています。審査サポート・インストール代行も対応しています。

SSL証明書の購入はこちら / Let's Encrypt vs 有料 SSL証明書 / インストール代行サービス


Apache インストール(Ubuntu 24.04 LTS) — apt によるインストール、SSL 有効化、バーチャルホスト設定
Nginx SSL/TLS 設定(Ubuntu 24.04 LTS) — HTTPS 設定、TLS 1.2/1.3、リバースプロキシ
Let's Encrypt vs 有料 SSL証明書 — DV・OV・EV の違い、47日化への対応


← 技術ドキュメント一覧へ戻る