如何在 Amazon Linux 2023 上通过 snap 安装 certbot

如何在 Amazon Linux 2023 上通过 snap 安装 certbot

我正在遵循本指南,了解如何在 Amazon Linux 2023 上配置 SSL/TLS。建议使用以下方式获取 CA 签名的证书证书机器人。要获取 Certbot,建议安装 Snap。

我已经尝试了几种方法,但无法安装任何先决条件:

sudo yum install snapd
    Error: Unable to find a match: snapd

sudo amazon-linux-extras install epel
    sudo: amazon-linux-extras: command not found

sudo yum install -y amazon-linux-extras
    Error: Unable to find a match: amazon-linux-extras

答案1

老实说,没有充分的理由来运行 certbot,它实际上只是足够的代码来与letcencrpyt 交互并快速修改一些配置文件。尤其如果你想让它真正完成修改系统的工作,snap 的隔离功能就没用了。

亚马逊不建议使用 snap 安装 certbot;这就是这个网站https://eff-certbot.readthedocs.io/en/stable/install.html#installation其中将其列为多种方式之一。

您只需使用同一页面上描述的 pip 方法安装最新的 certbot 即可。与使用 snap 相比,它的开销要少得多(对于他们的推荐我真的很不满意;而且,我认为他们基于 pip 的描述有一些小错误)。快速了解其工作原理:

https://certbot.eff.org/instructions?ws=nginx&os=pip

# create an isolated python environment for certbot purposes alone
python3 -m venv /opt/certbot

# Modify environment for the current shell only to make python modify
# the virtual environment and not your system libraries
source /opt/certbot/bin/activate

# Install certbot
pip install certbot

就是这样。如果您稍后想要将 certbot 作为独立程序运行,

/bin/bash -c "source /opt/cerbot/bin/activate; certbot" 

这样做。

您当然也可以将其放入 shell 脚本中,例如

/usr/bin/certbot:

#!/bin/bash
source /opt/certbot/bin/activate
/opt/certbot/bin/certbot "$@"

使该可执行文件 ( chmod 755 /usr/bin/certbot) 并从此简单地用作certbot命令。

您可能还想设置一个 systemd 计时器来定期自动更新您的证书。

这很简单:

  1. 使用此内容创建文件 /lib/systemd/system/certbot.service
[Unit]
Description=Certbot
Documentation=https://certbot.eff.org/docs

[Service]
Type=oneshot
ExecStart=/bin/bash -c "source /opt/cerbot/bin/activate; certbot -q renew" 
PrivateTmp=true

和一个文件 /lib/systemd/system/certbot.timer :

[Unit]
Description=Run certbot twice daily

[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true

[Install]
WantedBy=timers.target

该计时器的源代码直接来自 Fedora 包装

要激活该计时器,systemctl enable --now certbot.timer.从那时起,您的证书将在必要时自动更新。

您可能还想向 AWS 支持人员发送电子邮件,询问他们为什么建议使用其他每个较大的 Linux 发行版都包含的名为“certbot”的软件(以便您可以通过安装yum install certbot并为您完成上述所有操作),但决定不将 certbot 包含在 Amazon Linux 2023 本身中。这似乎是一个非常愚蠢的疏忽。

相关内容