のいじーメモ

勉強したことを忘れないうちにメモしていくためのブログ

Let's Encrypt で証明書を自動更新する方法

certbotをclone

$ cd /usr/local/
$ git clone https://github.com/certbot/certbot

Let's Encrypt クライアントが依存するパッケージをインストー

$ cd certbot/
$ ./certbot-auto -n

証明書の取得

$ ./certbot-auto certonly --webroot \
-w /var/www/example -d example.com \
-m sample@example.com \
--agree-tos -n

 

 

オプション

certonly
 証明書の取得のみを行います。デフォルト値は「run」で、証明書の取得とApache等のSSL設定もやってくれるそうですが、まだうまく動かないことが多いようです。

--webroot
 ApacheなどWEBサーバのドキュメントルートに、認証用ファイルを生成します。ドキュメントルート直下に「.well-known/」というディレクトリが作成され、この中に生成されているようです。証明書の取得が終われば、この認証用ファイルは削除されます。稼働しているWEBサーバがない場合(メールサーバなど)は --standalone を指定すると良いでしょう。

-w
 ドキュメントルートのパスを指定します。Apacheの場合は、DocumentRoot で指定しているパスです。

-d
 証明書を取得するドメイン名を指定します。Apacheの場合は、ServerName で指定しているドメイン名です。

-m
 ご自分のメールアドレスを指定します。なにかトラブルがあった場合などに Let's Encrypt との連絡用に使用されます。また、証明書の更新期限が近づくと、ここで指定したメールアドレス宛に、お知らせメールが届きます。

--agree-tos
 Let's Encrypt の利用規約に同意します。事前に利用規約https://letsencrypt.org/repository/」を確認しておきましょう。

-n
 --non-interactive の省略オプションです。対話メッセージの表示や入力を求められないようにできます。
 

自動更新をする

    $crontab -e
    00 05 01 * * /usr/local/certbot/certbot-auto renew --force-renewal &&  nginx -s reload