certbot-auto 无法安装自动续订?

certbot-auto 无法安装自动续订?

我在 CentOS 7 上使用内核 3.10。我已使用以下方法成功安装了 CertBot 1.10.1备选安装说明certbot-auto。运行certbot-auto成功为我的 nginx (1.7.8) 安装生成了证书。使用 模拟续订sudo /usr/local/bin/certbot-auto renew --dry-run也成功了。

问题是我无法找到/确认 certbot 是否确实已安装并可自动启动。文档表明 CentOS EPEL 7 应该使用 systemd。但是,正在运行systemctl list-timers --all表明没有为 CertBot 设置计时器。没有任何/etc/systemd/system/与 CertBot 相关的内容。我检查了crontab -l一下以防万一——什么都没有。

为什么没有设置自动续订?

这是文档中的错误,还是我遗漏了什么?

我应该去别处看看吗?我应该手动创建计时器/作业吗?

certbot 1.10.1

nginx 1.7.8

kernel 3.10.0-123.20.1.el7.x86_64

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

PS 我使用了替代安装方法,因为使用 snapd 的默认 CertBot 安装不起作用 —— 它抱怨:

error: system does not fully support snapd: cannot read the value of
         fs.may_detach_mounts kernel parameter: open
         /proc/sys/fs/may_detach_mounts: no such file or directory

我认为这意味着我的内核版本太旧,snapd 无法工作。

答案1

systemd我已通过创建以下文件手动将 certbot-auto 添加到自动运行中:

/etc/systemd/system/certbot-renewal.service

[Unit]
Description=Certbot Renewal

[Service]
ExecStart=/usr/local/bin/certbot-auto renew --quiet

/etc/systemd/system/certbot-renewal.timer

[Unit]
Description=Timer for Certbot Renewal

[Timer]
OnBootSec=1h
OnUnitActiveSec=1d

[Install]
WantedBy=multi-user.target

并运行以下命令:systemctl enable --now certbot.timer

相关内容