無料SSLのLet’s Encryptの簡単インストール&更新方法

シェアする

無料SSLのlet’s Encrypt、このサイトでは導入済みですが、インストールと更新方法を書いてなかったのでメモ。

無料SSLのLet’s Encryptの簡単インストール&更新方法

無料で使えるSSL、Let’s Encrypt。このサイトでも導入済みなのは以前のエントリで紹介しました。

無料sslのletsencrypt導入。メリット・デメリットは?
最近話題の?無料SSL、Let'sEncryptをこのサイトに導入してみました。

で、今回別のサイトにも導入したのでインストール方法をメモしておきます。

Let’s Encryptインストール

一応Shellは必須です。
certbotでコントロールするのでそちらは入れてください。certbot入っている前提で、まず証明書インストール。
rootから指定するとなんと1行で可能です。例ではexample.testというドメインでインストールする形になっていますので、実際にやるときは置き換えてください。

[root@example.test]# certbot certonly --webroot -w /www/example.test/httpdocs/ -d example.test
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.test
Using the webroot path /www/example.test/httpdocs for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.test/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.test/privkey.pem
   Your cert will expire on 2019-02-20. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - 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

入力したShellはcertbot certonly –webroot -w /www/example.test/httpdocs/ -d example.testだけ。
-wでDocument Rootを、-dで対象のドメインを指定するだけです。

これで
/etc/letsencrypt/live/example.test/fullchain.pem
/etc/letsencrypt/live/example.test/privkey.pem
という証明書に必要なファイルが2つ生成されました。これをサーバの設定に入れてあげます。
nginxの場合は以下。

server {
    listen       443 ssl http2;
    server_name  charingress.tokyo;

    #ssl_certificate      /etc/nginx/conf.d/oldcert.crt;
    ssl_certificate      /etc/letsencrypt/live/example.test/fullchain.pem;
    #ssl_certificate_key  /etc/nginx/conf.d/oldkey.key;
    ssl_certificate_key  /etc/letsencrypt/live/example.test/privkey.pem;

古い証明書を一応コメントアウトして、指定された/etc/letsencrypt/live以下のディレクトリを指定します。
設定を書き換えたらnginx -tで一応設定が間違ってないか確認して・・・。

[root@example.test]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

httpサーバを再起動。

[root@example.test]# service nginx restart
Redirecting to /bin/systemctl restart nginx.service

まだsystemctlがちゃんと使えなくてserviceのエイリアスでやってます・・・。

Let’s Encryptの更新方法

さて、このLet’s Encryptの有効期限は確か3ヶ月。有料の1年のものよりも当然短くなっています。3ヶ月だと忘れそう・・という人は・・
crontabにこれを仕掛けておくと幸せになれるかも。

0 0 * * *       service nginx stop; /usr/bin/certbot renew; service nginx start

certbot renewで更新かどうかチェックしてくれます。が、一度httpサーバを止めないと動かないのでnginxを一旦止めて、certbotでチェックして、その後起動しなおす、という内容になっています。

この記事が気に入ったら
いいね!お願いします