在 ubuntu 20.04 上安装 Certbot

在 ubuntu 20.04 上安装 Certbot

我一直在按照一些教程将 ssl 添加到我的服务器(节点应用程序)。

我尝试在 Ubuntu 20.04 服务器上使用以下命令安装 Certbot:

sudo add-apt-repository ppa:certbot/certbot

但收到警告并且无法安装:

This is the PPA for packages prepared by Debian Let's Encrypt Team and backported for Ubuntu.                                                                         
Note: Packages are only provided for currently supported Ubuntu releases.
More info: https://launchpad.net/~certbot/+archive/ubuntu/certbot
Press [ENTER] to continue or Ctrl-c to cancel adding it.*

在网上搜索后,有人提到不要使用 PPA,而是使用早期的独立版本 - 也提到使用 snap - 但我找不到具体的答案。我使用的是 Express,而不是 nginX。

有人可以建议如何安装吗?

更新

sudo snap install certbot

结果:

error: This revision of snap "certbot" was published using classic confinement and thus may perform
   arbitrary system changes outside of the security sandbox that snaps are usually confined to,
   which may put your system at risk.
   If you understand and want to proceed repeat the command including --classic.

答案1

您可以使用 APT、PIP 或 SNAP 在 Focal / Ubuntu 20.04 上安装

(APT 有效 — 至少目前如此。)

但是,不要使用多种安装方法,或混合使用它们。

听起来你可能使用了混合安装方法。
你可能需要清除所有内容并重新开始?

首先运行这些来清理并删除 Certbot。
如果您已经创建了证书,则需要重新创建它们。
警告:以下行将彻底删除 certbot 和文件!

 sudo apt remove certbot* --purge  
 sudo apt-add-repository --remove ppa:certbot/certbot  
 sudo apt update  
 sudo snap remove certbot  
 sudo -H pip3 uninstall certbot
 pip3 uninstall certbot
 sudo rm /usr/bin/certbot
 rm ~/.local/usr/bin/certbot
 rm ~/.local/bin/certbot
 sudo rm -rf /etc/letsencrypt

忽略所有错误(不是发现的错误)。
这应该涵盖所有基础 - 包括系统范围和用户范围。

现在决定如何安装它。
只选一个。不要混合安装方法。

折断

安装 snap 相当简单,但我个人不喜欢使用它。我更喜欢使用 python pip(目前为止)。Snap 将是我的第二选择。

Snap 在 Ubuntu Focal 上有很好的文档记录Certbot 网站已经作为默认安装方式。

点数

说明如下这里在 Certbot 网站上。

易于

sudo apt show certbot

软件包:certbot
版本:0.40.0-1ubuntu0.1
优先级:extra
部分:universe/web
来源:python-certbot
原产地:Ubuntu

https://packages.ubuntu.com/focal/certbot

APT 版本总是落后很多版本。
这次也不例外。
当前 APT 版本为 v0.40.0 ->(2019 年 11 月 5 日发布)。
当前 PIP 和 SNAP 版本为 v1.19.0(截至 2021 年 10 月 1 日)。

我建议使用比 APT 提供的版本更新一点的版本。由于 Certbot 处理安​​全/SSL,有时 LetsEncrypt/Certbot 人员会进行更改,因此您肯定希望立即更新。如果您使用 APT 版本,则可能无法做到这一点。据我所知,无法在 Ubuntu Focal/20 中使用 Certbot PPA, 任何一个。

因此,坚持点子-或者-折断作为您的安装方法。

答案2

他们已经拆除了现在的公寓snap install certbot --classic

答案3

要安装最新版本的github certbot适用于 Ubuntu 20.04

sudo curl -o- https://raw.githubusercontent.com/vinyll/certbot-install/master/install.sh | bash

祝您编码愉快!

答案4

正如B. Shea 的回答,安装 certbot 有三种基本选项:通过 apt、Pip 或 Snap,其中 Pip 和 Snap 是比较好的选择。现在我个人不喜欢 Snap——它提供了懒惰、臃肿的安装包,总是包含所有依赖项。所以我建议使用 Pip 安装路线。

重要的是不要简单地在系统范围内安装 certbot Pip 包,因为它会破坏使用 OpenSSL 的 Pip 和其他 Python 安装。(如果这种情况已经发生在你身上,先修复它

相反,使用虚拟 Python 环境。certbot 官方基于 Pip 的安装说明遵循这种技术,以下是我的变体,我认为它更适合 Ubuntu 系统的目录结构:

sudo apt update
sudo apt install python3 python3-venv libaugeas0

sudo python3 -m venv /usr/local/share/certbot/
sudo /usr/local/share/certbot/bin/pip install --upgrade pip
sudo /usr/local/share/certbot/bin/pip install certbot certbot
sudo ln -s /usr/local/share/certbot/bin/certbot /usr/local/bin/certbot

重新登录终端后,您将可以使用 certbot 命令:

$ which certbot 
/usr/local/bin/certbot

相关内容