使用snapd给CentOS7安装certbot

用了多年的letsencrypt免费证书了,之前有个比较好用的certbot-auto,最近发现不好用了,也不更新了,只好用回certbot了,CentOS7也快结束服务了,在退出之前再发挥一下余热:)
首先确保已经安装了epel扩展源,如果没装就装一下

1
yum install epel-release

接着装snapd,并配置立刻启动和自动启动

1
2
3
yum install snapd
systemctl enable --now snapd.socket
systemctl start snapd

配置程序软链接

1
ln -s /var/lib/snapd/snap /snap

安装snap核心

1
snap install core

通过snap安装certbot

1
snap install --classic certbot

配置certbot软链接

1
ln -s /snap/bin/certbot /usr/bin/certbot

请求通配符证书

1
certbot -d "*.yourdomain.com" --manual --preferred-challenges dns-01 certonly

这里略去申请过程,基本按提示就行,添加个txt的DNS记录就行。
根据你的web服务软件名,重启你的web服务,以openresty为例

1
systemctl restart openresty

更新证书命令

1
certbot renew

为了方便自动更新,可以写个shell脚本

1
2
3
4
5
vi /root/certbot.sh
#/bin/bash

/usr/bin/certbot renew > /dev/null 2>&1
/usr/bin/systemctl restart openresty

给脚本添加可执行权限

1
chmod +x /root/certbot.sh

添加crontab计划任务,每月1号凌晨2点执行

1
2
3
crontab -e

0 2 1 * * /root/certbot.sh