0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Webサイトの証明書Shell scriptで自動更新備忘録

Posted at

thumbnail.png

なにやらあやしいメールが来た


GCPでwebサイトを公開してから2ヶ月間くらいが経過して、Let's Encryptから「Let's Encrypt certificate expiration notice for domain "napspans.space"」ってメールが来た。
要はサイトの証明書の期限が切れるよーってことだと思う。
ということで証明書の更新のやり方を備忘録として残して置こうかなって思ったり。Let's Encryptで発行した人は参考にしてみてね。自動更新については後半で記載してるよ。

証明書の更新方法

サーバーの停止

まずはお使いのサーバーを停止させる。
Unix系OSでnginxを使ってる場合

$ sudo service nginx stop

証明書の更新

Let's EncryptでRenewする

$ sudo letsencrypt renew

これで更新完了!
と思ったんだけど、、

テデーン

nginx「そんなコマンドしらねーよー :D」

そういえばサイト立てたときにcertbotインストールしないでスクリプト実行しただけっだったっぽい:D

historyとかコマンドでcertbotの居場所突き止めてそのフォルダを開きましょう。

$ cd /usr/local/certbot ←自分の場合

ここで一応Letsencrypt-autoがいるかの確認

居たら

$ ./certbot-auto renew

successが出ればサーバーを起動してあげましょう。
自分のページに行ってブラウザの証明書を確認すると3ヶ月くらい伸びてると思います。

この流れで自動更新の設定をしていく。

web証明書を自動更新したい

気が付かない間に鯖の証明書が切れてたらしい。
そういえば前回上げた記事から更新してなかったな。。
3ヶ月おきに毎回ポチポチ更新するのは煩わしいので今回はshell scriptを使って自動更新に挑戦してみよう。って言う備忘録

(備忘録って言っても一回やれば今後は多分必要無くなるけどね。)

2ステップで自動更新

スクリプトを組む

上記で更新したときの鯖のターミナルに打ち込んだコマンドをそのままスクリプトにする。

#---Let's_Encrypt_Auto_renew.sh--- ←名前は何でもいいよ
#!/bin/sh

sudo service nginx stop
/usr/local/certbot/certbot-auto renew
sudo service nginx start

※windowsで書いてから鯖に持っていくと改行関連で怒られるから注意

できたシェルスクリプトファイルを鯖の適当に作ったスクリプト集フォルダにブチ込んで実行してみる
実行してエラーが出なければOK

crontabで定期実行

crontabとはLinux定期実行機能。作成したスクリプトを定期的に実行して証明書更新をさせたいので以下のコマンドでcrontabの設定ファイルを呼び出す。

$ crontab -e

出てきたテキストファイルにshell script実行コマンドを打ち込もう。
image1.png

0 6 5 * * bash /~スクリプトを/入れたフォルダ~/Let`s_Encrypt_AutoRenew.sh

ちなみにこのコードは毎月5日の6:00に実行って命令
自分なりにアレンジできるから下のツール使ってね
↓cron設定ツール↓

コマンドはbash以降を追加してね


これで自動更新してくれるはず!
8888
何かあったらツイッタにリプでもどうぞ。


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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?