盲目地按照安装教程操作后,我最终得到了 certbot-auto(git clone 到/etc/letsencrypt
)和实际的 certbot 工具。现在我真的很想清理我的 Ubuntu 安装,最终只得到最新的 certbot,但同时保留现有的证书和配置。
答案1
这是我最终做的事情。希望有人觉得它有用。
将整个
/etc/letsencrypt
目录备份到 root 的主目录cp -r /etc/letsencrypt ~
删除所有内容
rm -rf /etc/letsencrypt
强制重新安装 certbot
sudo apt-get install certbot --reinstall
使用 certbot 请求新证书:
sudo certbot certonly --authenticator standalone -d webmail.hell.org --pre-hook "service nginx stop" --post-hook "service nginx start"
这创建了以下目录结构:/etc/letsencrypt
accounts
archive
csr
keys
live
renewal
renewal-hooks
- 从上述备份路径逐个覆盖原始目录
cd /etc/letsencrypt/
cp -r ~/letsencrypt/accounts ./
cp -r ~/letsencrypt/accounts/ ./
cp -r ~/letsencrypt/archive ./
cp -r ~/letsencrypt/csr ./
cp -r ~/letsencrypt/keys ./
cp -r ~/letsencrypt/live ./
cp -r ~/letsencrypt/renewal ./
cp -r ~/letsencrypt/renewal-hooks ./
重新启动以确保万无一失。
测试电子邮件、网络邮件和网络服务器均已启动并运行。
模拟 certbot 续订
certbot renew --dry-run
如果您收到类似以下内容的警告消息:
尝试使用 Certbot 版本 0.31.0 解析在 /etc/letsencrypt/renewal/mail.hell.org.conf 中找到的版本 1.9.0 续订配置文件。这可能不起作用。
a)忽略它,
b)编辑相关文件并将版本设置为0.31.0
这是因为更新配置是使用 certbot-auto 进行的,其版本号与 certbot 完全无关。