2026年7月22日

2026年7月22日

Let’s EncryptでSSL証明書を取得する方法(certbot)

はじめに

本記事では、Let's Encryptを使用して無料のSSL証明書を取得し、Linuxサーバーの安全性を高める方法について解説します。SSL/TLS証明書は、ウェブサイトの通信を暗号化することで、ユーザー情報の漏洩や改ざんから保護します。また、SEOにおいても利点があり、多くの検索エンジンがHTTPSサイトを優遇しています。

症状・背景

Let's Encryptを使用する主な理由として以下のような場面があります:

  • コスト削減: 有料のSSL証明書は高い費用がかかりますが、Let's Encryptは無料で利用できます。
  • 自動更新: Let's Encryptは定期的に証明書を更新し、セキュリティ上の脆弱性に対応します。
  • 信頼度: Let's Encryptが提供する証明書は多くのウェブブラウザで認証されており、ユーザーからの信頼を高めます。

手順・設定方法

ステップ1: certbotのインストール

# apt-getを使用してcertbotをインストールします。
sudo apt-get update
sudo apt-get install certbot python3-certbot-apache  # Apacheを使用する場合

ステップ2: SSL証明書の取得とインストール

# Let's EncryptからSSL証明書を取得します。対象となるドメインにアクセスできるようにします。
sudo certbot --apache -d example.com -d www.example.com

# 以下の手順に従って認証情報を入力します。
# DNS認証やメール認証が必要な場合があります。

# 設定が完了すると、certbotはApacheの設定ファイルを更新し、SSL/TLS証明書をインストールします。

ステップ3: オートレブリング設定

# certbotのオートレブリング機能を使用して、証明書が有効期限切れになった際に自動で再取得できます。
sudo ln -s /usr/bin/certbot /etc/cron.d/certbot-auto-renew  # cronジョブを作成します。

# 毎月1日に証明書を更新するように設定します。
0 0 1 * * root test -x /usr/bin/certbot && certbot renew

ステップ4: 実践/トラブルシュート/監視

# 証明書の有効期限を確認します。
sudo certbot certificates

# クラッシュやエラーが発生した場合、ログファイルを確認します。
sudo tail -f /var/log/apache2/error.log

注意事項

  • ドメイン所有者の証明: ドメインの所有者であることを証明するための認証が必要です。DNS認証かメール認証を使用します。
  • パフォーマンス: SSL/TLS設定を追加すると、サーバーの負荷が増える可能性があります。必要に応じて最適化を行ってください。
  • セキュリティ上の注意: Let's Encryptは信頼できるサービスですが、重要なデータを扱う場合には他の認証方法も検討することをお勧めします。

まとめ

1. certbotのインストール: apt-getを使用して certbot をインストールします。

2. SSL証明書の取得: certbotコマンドで SSL 証明書を取得します。

3. オートレブリング設定: cronジョブを作成して定期的に再発行を行います。

4. 実践と監視: 有効期限切れや問題が発生した場合の対処方法を確認します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ