本記事では、Ubuntu Server(Raspberry Pi)でLet’s Encryptを使用して
無料SSL証明書を取得する方法を解説します。
■ SSL証明書とは
SSL証明書を設定することで:
・通信が暗号化される(HTTPS)
・メール通信が安全になる
・Gmailなどで信頼される
👉 メールサーバー運用では必須です
■ 注意(最重要)
SSL証明書は以下の条件が必要です:
・ドメインが取得済み
・DNS設定(Aレコード)が完了
・ポート80が外部からアクセス可能
👉 これが満たされないと取得できません (DigitalOcean)
■ 事前確認
ping example.com
👉 サーバーのIPが返ればOK
■ Certbotインストール
sudo apt update
sudo apt install certbot -y
👉 Certbotは証明書取得ツールです (SSD Nodes)
■ ファイアウォール設定(重要)
sudo ufw allow 80
sudo ufw allow 443
👉 HTTP-01認証でポート80が必要 (SSD Nodes)
■ 証明書の取得(standalone)
sudo certbot certonly --standalone -d mail.example.com
■ 実行時の入力
・メールアドレス入力
・利用規約同意(Y)
■ 成功すると
以下に証明書が作成されます:
/etc/letsencrypt/live/mail.example.com/
■ ファイル
・fullchain.pem(証明書)
・privkey.pem(秘密鍵)
👉 ここに保存されます (DELOGs)
■ 動作確認
sudo certbot certificates
■ 自動更新(重要)
証明書は90日で期限切れになります。
👉 Certbotは自動更新に対応しています (DigitalOcean)
■ テスト
sudo certbot renew --dry-run
■ メールサーバー設定
■ Postfix
sudo vi /etc/postfix/main.cf
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem
■ Dovecot
sudo vi /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
■ サービス再起動
sudo systemctl restart postfix
sudo systemctl restart dovecot
■ よくあるトラブル
● 証明書取得できない
→ ポート80が開いていない
● ドメインエラー
→ DNS設定ミス
● 接続できない
→ firewall / ルーター設定
■ 重要ポイント(実運用)
・証明書は90日更新
・DNSが正しくないと失敗
・IP直指定では取得不可
👉 ドメイン必須です (SSD Nodes)
■ 本環境の構成
・Raspberry Pi 5
・Ubuntu Server 24.04
・Postfix + Dovecot
・fail2ban + firewall

コメント