LoginSignup
0
0

More than 5 years have passed since last update.

owncloudとかgitbucketとか動かしているサーバでcertbot

Last updated at Posted at 2018-05-08

certbot について

certbot の使い方は,こちらがとても良くまとまっている.
私も参考にさせていただいた.

Let's encrypt運用のベストプラクティス - Qiita

課題

ただし私の場合は,上の記事では省略されている以下の場合に該当するサーバが私の場合は多かったので,メモっておく.

certbot自体をWebサーバとして機能させる、standaloneプラグインもありますが、利用するケースは限られるはずです。動作確認でも、実際の運用でも、webrootプラグインを使うほうが簡単でしょう。

例えば,表題の owncloud とか gitbucket とか,document root にテキトーにファイルを置いても持っていってくれない認証つきサービスなどを動作させている場合は,webrootプラグインで動かせないんで,頑張らないといけない.

私の運用しているサーバの場合,過半数がこっちだったりして.

手順

初回

初回の取得は,大人しく手で止めて取得する.
また,私の常用する debian (old stable) では,certbot が古いんで certbot/certbot をcloneしている.

さらに,変数 EMAIL にはドメインマスターのメールアドレスを,DOMAIN には FQDN を指定してあるものとする.
ちなみに -m オプションによるメールアドレスの指定はなくても良いかも.

git clone https://github.com/certbot/certbot.git
sudo service nginx stop
sudo certbot/certbot-auto -m $EMAIL --agree-tos --standalone -d $DOMAIN

設定は上の記事と同じだけど,一応再掲しておくと

    ssl_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem;

忘れないよう,サーバを上げておく.

sudo service nginx start

2回目以降

実はすげー簡単なんだけど,webrootプラグインの場合と違って事前に --pre-hook で80番と443番のポートを見ているプロセスを停止しておかないといけない点だけ注意.
当たり前だけど.

で,nginxの場合はこんな感じ.

letsencrypt-update.sh
#!/bin/sh

certbot/certbot-auto renew -q --pre-hook 'service nginx stop' --post-hook 'service nginx start'

こいつをroot権限でcrontabでdailyくらいで実行するように指定しておけば良い.
すぐに実行しても不都合はあんましないので,試しに手でも実行しておいた方が良い.
例えばパーミッションに実行権限つけ忘れてたりとかに気付けるから.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0