無料のSSL「Let’s Encrypt」のインストール(CentOS 6.x)

CentOS 6.xにLet’s EncryptでSSL化する

無料で利用できるSSL署名書のLet’s Encryptを利用してSSL化をします。CentOS 7.xでは、Pythonのバージョンが2.7以上ですので「無料のSSL証明書 Let’s EncryptでApacheをSSL化 」の記事の方法でSSL化が利用できます

certbotのツールを利用して「Let’s Encrypt」を利用する場合は、CentOS 6.xだとエラーになり駄目でした。Python 2.7以上バージョンアップするとyumでアップデートでエラーになったりして運用上よくないので、certbotのツールを利用するのは諦めました。

CentOS 6.x系では、letsencryptを利用して導入する方法を紹介します。この方法ではApacheの停止が必要となるので注意が必要です

letsencryptインストール

githubより「letsencrypt」をソースをコピーして、「letsencrypt-auto」を実行して証明書を発行します

letsencrypt-autoコマンドは、–webroot-path オプションでドキュメントルート・-d オプションでドメインを指定します。
./letsencrypt-auto certonly -a standalone –webroot -w 「ドキュメントルート」 -d 「ドメイン」

# letsencrypt-auto を実行時は、Apacheを停止する必要があるので停止してから実行する
# /etc/init.d/httpd stop 

# 任意のディレクトリに移動します
# cd /usr/local/

# git cloneを実行します
# git clone https://github.com/letsencrypt/letsencrypt
# cd letsencrypt

# 「letsencrypt-auto」を実行します。
# ./letsencrypt-auto certonly -a standalone --webroot -w /var/www/html/ -d www.example.com

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):
info@example.com

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: Y

# 署名書関連のファイルができたか確認する
# ls /etc/letsencrypt/live/www.example.com/
cert.pem  chain.pem  fullchain.pem  privkey.pem  README

# Apacheを再起動します
# /etc/init.d/httpd start

SSL署名書をApacheに設定します

Apacheに先程作ったSSL署名書を設定します。設定は通常のSSL関連と同じですので細かな設定は省略して、SSLの署名書指定してApacheを再起動して設定を読み込みます

# vim /etc/httpd/conf.d/ssl.conf

# SSLの設定のみ。他の設定は「/etc/httpd/conf/vhosts/den-ichi.conf」を参照
  SSLCertificateKeyFile /etc/letsencrypt/live/www.den-ichi.com/privkey.pem
  SSLCertificateFile /etc/letsencrypt/live/www.den-ichi.com/privkey.pem
  SSLCACertificateFile /etc/letsencrypt/live/www.den-ichi.com/fullchain.pem

# /etc/init.d/httpd restart

「Let’s Encrypt」の更新作業をcrontabで自動更新する

「Let’s Encrypt」の署名書の有効期限が90日ですので、Cronで自動更新する設定にします。
更新の際に、Apacheの停止する必要があるので停止してから「/letsencrypt-auto renew」を叩いて更新してから、Apacheの起動するようにCronに登録します

00 03 1 * * /etc/init.d/httpd stop && /usr/local/letsencrypt/letsencrypt-auto renew --force-renew && /etc/init.d/httpd start

※ Cent0S 7.xの場合は下記記事を内容を参考にしてください

無料のSSL証明書 Let’s EncryptでApacheをSSL化

スポンサーリンク