![在 Amazon Linux 2023 上安装 Let's Encrypt](https://linux22.com/image/218659/%E5%9C%A8%20Amazon%20Linux%202023%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Let's%20Encrypt.png)
我正在尝试在 Amazon Linux 2023 上使用 Let's Encrypt nginx 获取 SSL 证书。
- 首先,我使用命令添加了 EPEL
和wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
并且安装没有问题sudo rpm -ihv --nodeps ./epel-release-latest-8.noarch.rpm
- 然后我尝试了
并收到错误消息:sudo yum install python3-certbot-nginx
Problem: package certbot-1.22.0-1.el8.noarch requires python3-certbot = 1.22.0-1.el8, but none of the providers can be installed - conflicting requests - nothing provides python3.6dist(setuptools) >= 39.0.1 needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides python3.6dist(cryptography) >= 2.5.0 needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides python3.6dist(configobj) >= 5.0.6 needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides python3.6dist(distro) >= 1.0.1 needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides /usr/bin/python3.6 needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides python3.6dist(pytz) needed by python3-certbot-1.22.0-1.el8.noarch - nothing provides python(abi) = 3.6 needed by python3-certbot-1.22.0-1.el8.noarch (try to add '--skip-broken' to skip uninstallable packages)
- 我也尝试过
但遇到了类似的错误。sudo dnf install python3-certbot-nginx
我了解到我可能需要一个代码就绪构建器,但无法安装它。请问我怎样才能得到它。如果这不是问题,请问我做错了什么以及如何解决它?
答案1
/opt/certbot/bin/certbot
我设法使用以下命令在 Amazon Linux 2023 中安装了 certbot :
sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot
或者,如果您想要安装特定版本的 certbot,您可以将最后一个命令替换为:
sudo /opt/certbot/bin/pip install certbot==2.6.0
在我们的设置中,我们使用带有一些钩子的独立模式,而不是使用插件。如果你想使用 dns、apache 或 nginx 等插件,你应该将最后一个安装命令修改为pip install certbot-apache
.
答案2
感谢 Jens 让我走上了正确的道路。但是,我发现我需要额外的步骤才能使其完全正常工作。您可能还需要特定 Web 服务器软件的模块,并且我希望能够从任何地方调用“certbot”作为命令。所以我必须更改最后一行并添加另一行来执行这些操作:
sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-apache
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
根据需要进行更改以匹配您的 Web 服务器软件。
答案3
EPEL 8 版本的 Certbot 似乎是为 Amazon Linux 2023 中不可用的 Python 版本 (v3.6) 构建的。
我找到了这个请注意,这似乎表明 EPEL 存储库均不与 Amazon Linux 2023 兼容。
根据有关安装 Certbot 的 Amazon Linux 2023 文档看起来他们建议使用pip
默认版本的 Python3 将 Certbot 安装到虚拟环境中。您还应该能够pip install certbot-nginx
获取该nginx
插件
编辑
看起来链接的 AWS 文档不再包含安装说明certbot
,但它们确实链接到官方certbot
安装说明其中仍然提到这pip
是替代安装方法之一。
答案4
sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-nginx
这对我有用,但符号链接不起作用,所以我直接从 /opt 位置使用 certbot
sudo /opt/certbot/bin/certbot certonly --nginx ....