CentOS 7 の Apache httpd で Let’s Encrypt の証明書を取得し、HTTPS を有効化する手順です。既存の CentOS 7 環境で公開 Web サーバーを保守する場合の設定として整理します。
Let’s Encrypt を使う場合は、証明書の取得だけでなく、HTTP 到達性、ドメインの名前解決、更新処理、Apache 再読み込みまでを一連の運用として考える必要があります。
コマンドはコピペしやすい形を優先しています。ただし、長大な既存設定ファイルを部分的に変更する箇所では、既存値との重複を避けるため、バックアップを取ったうえで設定断片を確認して反映します。
この手順は CentOS 7 設定マニュアル の一部として整理しています。
暗号技術入門 第3版 秘密の国のアリス
公開鍵暗号、電子署名、証明書など、TLS や内部 PKI の前提になる暗号技術を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
certbot のインストール
yum install certbot python-certbot-apache証明書の取得
webroot 方式で証明書を取得します。対象ドメインがサーバーへ到達でき、HTTP で認証用ファイルを取得できる必要があります。
certbot certonly --webroot -w /var/www/html -d www.mydomain.com -d mydomain.com発行されたファイルの確認
Let’s Encrypt の live ディレクトリには、実体ではなく archive 配下へのシンボリックリンクが作成されます。Apache 側では live 配下を参照します。
ls -l /etc/letsencrypt/live/www.mydomain.com
cert.pem -> ../../archive/www.mydomain.com/cert1.pem
chain.pem -> ../../archive/www.mydomain.com/chain1.pem
fullchain.pem -> ../../archive/www.mydomain.com/fullchain1.pem
privkey.pem -> ../../archive/www.mydomain.com/privkey1.pemssl.conf の設定
ssl.conf は既存の TLS 設定を含むため、証明書参照先だけを確認して反映します。
cp -a /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak
cat <<'EOF'
# /etc/httpd/conf.d/ssl.conf の該当項目を以下のように整理する
SSLCertificateFile /etc/letsencrypt/live/www.mydomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.mydomain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.mydomain.com/chain.pem
EOFApache の再起動
systemctl restart httpd
systemctl status httpd更新の自動化
証明書は期限があるため、自動更新と Apache の再読み込みを運用に組み込みます。
mkdir -p /root/bin
cat <<'EOF' > /root/bin/letsencrypt
#!/bin/sh
certbot renew 2>&1 | mail -s "Let's Encrypt update information" root && systemctl restart httpd
EOF
chmod 700 /root/bin/letsencrypt
cat <<'EOF' > /etc/cron.d/letsencrypt
00 04 01 * * root /root/bin/letsencrypt
EOF確認するポイント
- 対象 FQDN が正しく名前解決できるか。
- HTTP-01 認証に必要な 80/tcp が到達できるか。
- 証明書更新後に Apache が再読み込みされるか。
- メール通知やログで更新失敗を検知できるか。
Let’s Encrypt は便利ですが、更新失敗に気づけない構成だと証明書期限切れで停止します。公開 Web サーバーでは、発行手順よりも更新監視の方が実運用では重要です。
この手順は CentOS 7 設定マニュアル の一部として整理しています。





