Let's Encrypt 証明書発行(パッケージ版)¶
- Let's EncryptでのSSL証明書発行に関するページです。
前提条件¶
- このソフトウェアの構築には下記の導入が前提となります。
- epelリポジトリの登録
- 証明書の有効期限は3ヶ月です。よってcronでの自動更新を含めた解説を行います。
ダウンロード¶
インストール¶
- EPELリポジトリを有効にします
# yum install epel-release
- パッケージをインストールします
# yum install certbot certbot-apache
証明書の作成¶
- Apache/Nginxおよび80/443ポートをListenしているサービスを落とします。
# systemctl stop httpd
- 次のコマンドを実行します。
# certbot certonly --standalone -d www.example.com -m postmaster@example.com --agree-tos
- pyOpenSSLのバージョンでエラーが出た場合、下記のコマンドで新しいモジュールに入れ替える。
# rpm -e --nodeps pyOpenSSL # pip install pyOpenSSL
- pyOpenSSLのバージョンでエラーが出た場合、下記のコマンドで新しいモジュールに入れ替える。
- ライセンス同意、サポート情報受信可否を行い以下に証明書ファイルが作成されます。
/etc/letsencrypt/live/www.example.com README cert.pem chain.pem fullchain.pem privkey.pem
- 停止しておいたサービスを再開させます
# systemctl start httpd
自動更新¶
- HTTPサービスの一時停止は必須です。(他に証明書を使用しているサービスがあれば一緒に停止したほうがいいかも)
- 更新用に以下のスクリプトを作成します。
# vi /etc/letsencrypt/update.sh ----------------------------- #!/bin/sh systemctl stop httpd #certbot renew --dry-run certbot renew systemctl start httpd
- 例として毎月1日の25時にWebサーバ向けのSSL証明書の更新を行う設定です。
0 1 1 * * sh /etc/letsencrypt/update.sh
ファイルと設定箇所の例¶
- Apache
/etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/letsencrypt/live/www.example.com-0001/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com-0001/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.example.com-0001/chain.pem SSLCACertificateFile /etc/letsencrypt/live/www.example.com-0001/fullchain.pem バーチャルホストにSSLを設定している場合は、別途設定すること。
¶
¶