2026年9月17日
2026年9月17日
WordPressのLet’s Encrypt証明書を自動更新する方法
はじめに
ここでは、WordPressサイトのセキュリティを強化するために無料で利用できるLet's EncryptのSSL証明書の設定と自動更新方法について解説します。特に、Linuxサーバー環境においてはcronジョブを使用して定期的に証明書を更新することで、信頼性が高まります。
症状・背景
このテーマが必要になる主な場面:
- Let's Encryptの証明書が期限切れになり、サイトに影響が出た場合
- 手動で証明書を更新するのが煩雑であるため、自動化したい場合
- サイトのセキュリティを向上させたい場合
手順・設定方法
ステップ1: Certbotインストールと利用権限確認
# ユーザーがrootでない場合はsudoを使用します。
sudo apt-get update
# Let's Encryptのクライアントをインストール
sudo apt-get install certbot python3-certbot-apache
ステップ2: Apache用証明書取得
# 証明書を取得するコマンド。ドメイン名は適宜置き換えてください。
sudo certbot --apache -d example.com -d www.example.com
# 既存の設定ファイルと新規作成される設定ファイルが複数ある場合、自動的に選択して進められます。
ステップ3: Certbotをcronジョブに登録
# cronジョブ用スクリプトを作成します。証明書の更新は週1回実行します。
echo "0 0 * * 1 /usr/bin/certbot renew --quiet" | sudo tee -a /etc/cron.d/certbot
ステップ4: 証明書の自動更新確認
# cronジョブが正しく設定されているか確認します。
crontab -l
# 定期的に証明書が更新されるようにcronジョブを設定しています。
注意事項
- 複数ドメインの場合: 複数のドメイン名が必要な場合は、
certbot --apache -d domain1.com -d www.domain1.com -d domain2.com -d www.domain2.comのように指定します。 - メール通知:
--quietオプションを削除してcronジョブにメール通知を追加することで更新結果の確認が可能になります。 - セキュリティ上の注意:
Let's Encryptの証明書が外部からアクセス可能なディレクトリに保存されている場合、適切な権限設定を行うことが重要です。
- パフォーマンス/運用上の注意: 証明書更新時にサーバーへの負荷が高くなる可能性があるため、アクセスの少ない時間帯に更新を実行することをお勧めします。
まとめ
1. インストールと権限: Certbotクライアントをインストールし、必要な権限設定を行います。
2. 証明書取得: Apacheサーバー用のSSL証明書を取得します。
3. 自動更新: cronジョブを利用して定期的な証明書更新を実行します。
4. 確認とテスト: 証明書が正しく更新されるか、cronジョブが正常に動作するか確認します。
関連記事: