CentOS7でのLet’sEncrypt証明書のインストール

Apache、OpenSSL、ModSSLがインストールされている前提です。

インストールするディレクトリに移動。

$ cd /opt/

gitでプログラムを取得する。

# git clone https://github.com/letsencrypt/letsencrypt

ヘルプを表示すると必要コンポーネントをインストールしてくれる。

# cd letsencrypt
# ./letsencrypt-auto --help

証明書の作成。
※事前にapacheのサービスを停止しておく

# ./letsencrypt-auto certonly --standalone -d www.example.com

ApacheのSSL設定。
/etc/httpd/conf.d/ssl.conf の最下部に下記を追記する。

<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot "/var/www/html/"
    <Directory "/var/www/html/">
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLProtocol -All +TLSv1.2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA:!3DES:!RC4:!DH
    SSLHonorCipherOrder On
    SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem
</VirtualHost>

証明書の自動更新設定。
更新するコマンドは下記の3行。
※ちなみにcertbot-autoに–dry-runオプションを付けるとテストが可能

# /bin/systemctl stop httpd
# /usr/local/letsencrypt/certbot-auto renew --force-renew
# /bin/systemctl start httpd

なのでcrontabで毎月1日の朝4時に更新を行うよう設定。

00 04 01 * * /bin/systemctl stop httpd; /usr/local/letsencrypt/certbot-auto renew --force-renew; /bin/systemctl start httpd