本文へスキップ
重要 SSL/TLS証明書 47日間ルール正式決定 — ACME自動更新の導入を推奨しております。 Phase 2(100日へ短縮)まで 306日
300,000枚 累計発行
17,206社 利用中
19年 運営
24時間365日 自動発行
Ccertbot

certbot による ACME 完全自動運用ガイド

Linux 環境の標準 ACME クライアント certbot を使った、FujiSSL / Sectigo 証明書の自動取得・自動更新の完全ガイド。
47日ルール時代の運用に必須です。

🛠️ インストール

OSコマンド
Ubuntu / Debiansudo apt update && sudo apt install certbot python3-certbot-nginx
RHEL / Alma / Rocky 9sudo dnf install certbot python3-certbot-nginx
Amazon Linux 2023sudo dnf install certbot python3-certbot-nginx
macOS(Homebrew)brew install certbot
Snap(任意 OS、最新版)sudo snap install --classic certbot

Apache 環境の場合は python3-certbot-apache を選択してください。

⚠️ certbot 1.21 以降が必要 EAB(External Account Binding)認証が必要な FujiSSL では certbot 1.21+ が必須。古い OS(CentOS 7など)のリポジトリ版は古い場合があるため、Snap 版や pip 版での新規インストールを推奨。

🔐 EAB(External Account Binding)認証情報の取得

FujiSSL.jp で ACME ライセンスを契約すると、メールで EAB 認証情報が届きます:

  • Key ID(例: YourKeyID123abc
  • HMAC Key(例: YourLongHmacKeyString...

📋 基本的な使い方

  1. ACME アカウントの登録

    $ sudo certbot register \
      --server https://acme.fujissl.jp/acme/directory \
      --eab-kid YourKeyID123abc \
      --eab-hmac-key YourLongHmacKeyString... \
      --email you@example.com \
      --agree-tos \
      --no-eff-email
  2. Nginx 自動設定モード(最も簡単)

    $ sudo certbot --nginx \
      --server https://acme.fujissl.jp/acme/directory \
      -d example.com -d www.example.com

    Nginx の設定ファイルが自動的に更新され、HTTPS リダイレクトの設定も提案されます。

  3. Apache 自動設定モード

    $ sudo certbot --apache \
      --server https://acme.fujissl.jp/acme/directory \
      -d example.com -d www.example.com
  4. webroot モード(既存 Webサーバ稼働中)

    サーバの設定ファイルを変更したくない場合:

    $ sudo certbot certonly --webroot -w /var/www/html \
      --server https://acme.fujissl.jp/acme/directory \
      -d example.com -d www.example.com

    取得した証明書を手動で Nginx / Apache の設定に組み込みます。

  5. standalone モード(Webサーバ停止可能)

    ポート 80 / 443 が空いている、または Webサーバを一時停止できる場合:

    $ sudo certbot certonly --standalone \
      --server https://acme.fujissl.jp/acme/directory \
      -d example.com
  6. ワイルドカード証明書(DNS認証必須)

    # 手動 DNS 認証
    $ sudo certbot certonly --manual \
      --preferred-challenges dns \
      --server https://acme.fujissl.jp/acme/directory \
      -d "*.example.com" -d example.com

    表示される TXT レコードを DNS に追加し、Enter で検証続行。

🤖 DNS プロバイダ自動認証(ワイルドカード自動化)

主要 DNS プロバイダ向けのプラグインで、ワイルドカード証明書も完全自動化できます。

DNS プロバイダプラグイン
AWS Route 53python3-certbot-dns-route53
Cloudflarepython3-certbot-dns-cloudflare
Google Cloud DNSpython3-certbot-dns-google
DigitalOceanpython3-certbot-dns-digitalocean
Linodepython3-certbot-dns-linode
例: Cloudflare
# Cloudflare API トークンを設定ファイルに記載
$ sudo nano /root/.secrets/cloudflare.ini
dns_cloudflare_api_token = YourCloudflareAPIToken

$ sudo chmod 600 /root/.secrets/cloudflare.ini

# ワイルドカード証明書取得
$ sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /root/.secrets/cloudflare.ini \
  --server https://acme.fujissl.jp/acme/directory \
  -d "*.example.com" -d example.com

🔄 自動更新

certbot は有効期限の30日前から自動更新します。systemd タイマーまたは cron で1日2回チェックされます。

# 自動更新のテスト(実際には更新しない)
$ sudo certbot renew --dry-run

# 自動更新の確認(systemd の場合)
$ sudo systemctl list-timers | grep certbot
NEXT                        LEFT       LAST                        PASSED       UNIT
Tue 2026-05-13 06:24:09 JST 11h left   Tue 2026-05-12 06:24:09 JST 12h ago      certbot.timer
✅ 自動更新時に Nginx/Apache をリロード 更新成功時にサーバをリロードする hook を設定できます:
$ sudo certbot renew --deploy-hook "systemctl reload nginx"
または /etc/letsencrypt/renewal/example.com.confrenew_hook = systemctl reload nginx

📜 主要コマンド一覧

コマンド説明
certbot certificates取得済み証明書の一覧表示
certbot renew更新可能な証明書を更新
certbot renew --force-renewal強制更新(テスト用)
certbot delete --cert-name example.com証明書の削除
certbot revoke --cert-name example.com証明書の失効申請

❓ よくあるご質問

Q. EAB 認証情報を紛失しました

当社運営の FujiSSL.jp 管理画面から再発行できます。EAB 認証情報は1契約に対し永続的に有効です。

Q. Let's Encrypt から FujiSSL に移行できますか?

はい、--server オプションを変更するだけです。既存の /etc/letsencrypt/ ディレクトリ構造はそのまま利用できます。新しい証明書を取得すると、自動的に FujiSSL の証明書に置き換わります。

Q. OV 証明書も certbot で取得できますか?

はい、FujiSSL は OV 証明書も ACME ネイティブ対応しています。初回契約時のみ組織審査がありますが、それ以降の更新は完全自動化されます。業界でも稀少な OV ACME 対応です。

Q. 証明書を別サーバにコピーして使えますか?

はい、/etc/letsencrypt/live/example.com/ 以下を別サーバにコピーすれば使えます。ただし、自動更新を新サーバで行う場合は、新サーバでも ACME アカウントを登録する必要があります。

Q. 自動更新が失敗した場合の通知は?

certbot は登録時のメールアドレスに有効期限警告メールを送信します。また、サーバ監視ツール(Zabbix、Datadog 等)で証明書の有効期限を監視することも推奨します。