更新 Certbot 使用 Snapd

Let's Encrypt

舊版 certbot-auto 程式不再被支援,必須改用新版程式。

今天 (2021-02-01) 使用原有的 certbot-auto 更新憑證時被通知

Your system is not supported by certbot-auto anymore

舊版程式不再被支援,將不會收到更新通知,必須改用新版本由 Snapd 控管的版本,以下為移除舊的 certbot-auot 及安裝 Snapd 版 certbot 的流程。

1. 移除舊版 certbot-auto

以下方式擇一使用。

方式1:如果原本是透過 apt, dnfyum 安裝的,執行相對應的指令

sudo apt-get remove certbot
sudo dnf remove certbot
sudo yum remove certbot

方式2:如果是使用腳本指令

  1. 如果有使用 cron 排程,必須先刪除
  2. 刪除此目錄下的腳本檔
    sudo rm /usr/local/bin/certbot-auto
    如果你的目錄不一樣請自行調整
  3. 刪除 certbot-auto 安裝憑證時建立的資料目錄
    sudo rm -rf /opt/eff.org
    這樣會刪除 /opt 目錄下的 eff.og 目錄

資料來源:https://certbot.eff.org/docs/uninstall.html

2. 安裝 Snapd

Snapd 是一個 Linux 中管理應用程式的工具,是一個常駐程式。

以下為 CentOS 8 的安裝,其他平台流程一樣,請自行調整指令(有些平台已內建,不需手動安裝,請參考這裡):

# 先安裝 epel-release 並更新
sudo dnf install epel-release
sudo dnf upgrade

# 安裝 Snapd
sudo yum install snapd

# 設為開機時啟動,並且現在立刻啟動
sudo systemctl enable --now snapd.socket

# 為傳統程式設定
sudo ln -s /var/lib/snapd/snap /snap
(我們的 certbot 必須用到這個)

如果出現以下訊息:

/var/lib/snapd/snap/bin was not found in your $PATH.

記得把此路徑加入 PATH:

vim ~/.bashrc
# 加入
PATH=$PATH:/var/lib/snapd/snap/bin

資料來源:https://snapcraft.io/docs/installing-snap-on-centos

3. 安裝 certbot

# 安裝 certbot 程式
sudo snap install --classic certbot

# 設定指令連結
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

# 測試看看是否安裝成功
certbot --version

最後要注意一下指令名稱,現在的是 certbot,如果之前是使用 certbot-auto,記得調整。

資料來源:https://certbot.eff.org/lets-encrypt/centosrhel8-nginx

本文網址:https://blog.tonycube.com/2021/02/certbot-snapd.html
Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀

我要留言

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。