Let’s Encrypt でこのサーバーを SSL 対応にした備忘録です.以下のページを主に参考にさせて頂いたのですが,certbot-auto コマンド以後なにもしなくても SSL 化されたページになってしまいました.凄い!
Let's Encrypt サーバー証明書の取得と自動更新設定メモ
Let's Encrypt は、自分が所有しているドメインのSSL/TLSサーバー証明書を、無料で発行してくれる認証局(CA)です。この認証局は、Mozilla、アカマイ、シスコなどが参加するISRGというカリフォルニア州の公益法
まず,git をインストールし,certbot を /usr/local 以下に clone し,certbot クライアントが依存するパッケージを certbot-auto でインストールします.ディストリビューションによっては certbot が標準パッケージに含まれるようになっていますね.
$ sudo yum install git $ sudo git clone https://github.com/certbot/certbot $ cd certbot $ sudo ./certbot-auto
しばらく待っていると,私の場合は初期設定がみつからないと出て,ドメイン名や E-mail アドレス,Apache の設定ファイルの選択や http と https を共存させるか否かなど順番に尋ねられました.で最後に,
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/www.labohyt.net/fullchain.pem. Your cert will expire on 2016-09-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
と出て,httpd サーバーを起動し直したら既に https 化されてしまっています.最後に証明書の更新が可能かどうかのテストを行い,cron.monthly に更新用のスクリプトを登録して終わりです.
$ sudo /usr/local/certbot/certbot-auto renew --force-renew --dry-run /root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6 DeprecationWarning ------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/www.labohyt.net.conf ------------------------------------------------------------------------------- ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/www.labohyt.net/fullchain.pem (success) ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates above have not been saved.) $ sudo vi /etc/cron.monthly/certbot-auto-renew #!/bin/sh /usr/local/certbot/certbot-auto renew --force-renew && /etc/init.d/httpd restart $sudo chmod +x /etc/cron.monthly/certbot-auto-renew
いままで何度か SSL のための証明書を Web システムに組み込んできましたが,やり方があまりにも違いますねぇ….簡単なんですがあまりにも自動化されすぎていて,トラブルがあったときに対処できるかちょっと不安です.