LoginSignup
3
4

More than 5 years have passed since last update.

certbotのhttps証明書をsystemdで自動更新

Posted at

証明書は90日間有効で、期限切れまで30日以内になると証明書が再発行出来るようになります。
証明書が再発行出来るかを毎日確認して、再発行できれば発行するように設定します。
自分のOSはUbuntu16.04です

--agree-tosは自動で利用規約に同意するフラグです
再発行が成功すればwebサーバーをリロードします。失敗すればリロードしません。

sudo vi /etc/systemd/system/certbot.service

[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew --agree-tos
ExecStartPost=/bin/systemctl reload apache2

Type=simple

デフォルトの値です。ExecStart で起動するプロセスはサービスのメインプロセスです。
forking – ExecStart で起動するプロセスは、サービスのメインプロセスになる子プロセスを起動します。親プロセスは、このプロセスが完了すると終了します。

Type=oneshot

このタイプは simple と同様ですが、プロセスは、結果として生じるユニットを起動する前に終了します。

ExecStart

ユニットの起動時に実行されるコマンドまたはスクリプトを指定します。ExecStartPre および ExecStartPost は、ExecStart の前後に実行されるカスタムコマンドを指定します。Type=oneshot は、順次に実行される複数のカスタムコマンドの指定を可能にします。
```

毎日certbot.serviceを実行するタイマーです

sudo vi /etc/systemd/system/certbot.timer

[Timer]
OnCalendar=daily
RandomizedDelaySec=1day
Persistent=true

[Install]
WantedBy=timers.target

タイマーを有効化して実行します

sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer

ログを見るには

sudo journalctl -u certbot.service

参考サイト

3
4
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
3
4