Post Hook
使用场景1 : ha2
假设我有一个程序是ha2,当Certbot自动更新完证书之后:
- 需要将新证书复制到
etc/ha2目录下 - 在复制证书之前停止ha2,复制完证书之后,重启ha2,实现重新载入新的证书
- 可以根据自己的实际需求,修改
fullchain.pem和privkey.pem证书权限.
脚本示例1:
修改脚本
- 将
www.test.net修改成你真实需要的域名 - 将
/etc/ha2改成你需要证书存放的目录 - 将命令
grep ha2 /etc/passwd中ha2修改你你实际的应用名称,并在终端中输入,并查看输出结果,例如:
提示:
从上面输出我们已经得知,ha2的用户名是ha2,因此根据你自己的实际需求修改chown ha2:ha2 "$DST/fullchain.pem" "$DST/privkey.pem中的ha2:ha2
提示:
chown ha2:ha2 "$DST/fullchain.pem" "$DST/privkey.pem中
第一个ha2是用户名,可以使用命令getent passwd ha2验证用户是否存在
第二个ha2是用户组,可以使用命令id ha2验证ha2用户所属的gid的name,例如:
因此应该填写gid=996(ha2)()中的 ha2
最后根据你的实际需求修改#停止ha2和#重启ha2下的内容,来让程序重新载入新的证书
最后创建脚本
并将编辑好的脚本内容贴到/etc/letsencrypt/renewal-hooks/post/ha2-renew-hook.sh中
提示:你也可以将ha2-renew-hook.sh改成其他名字,例如go2-certs.sh.
修改好脚本之后,使用certbot renew --dry-run来更新证书
使用场景2 : Axigen:
当Certbot自动更新完证书之后:
- 需要将新证书
fullchain.pem中的内容在前 和privkey.pem中的内容在后,合并成一个fullchain.pem文件并复制(覆盖)到/var/opt/axigen/certs目录下 - 在复制前停止Axigen,复制完毕后启动Axigen,实现重新载入新的证书
- 可以根据自己的实际需求,修改合并成
fullchain.pem的证书权限.
脚本示例2:
脚本修改:
- 请叫脚本示例2中的
mail.test.net修改成你实际需要使用的域名 - 使用命令
grep axigen /etc/passwd查看axigen进程使用的用户名,输出如下:
用户名:axigen
用户 ID(UID) 是:220
用户组 ID(GID) 是:220
3. 使用命令id axigen查看gid的name,输出如下:
因此可以得出chown axigen:axigen "$DST_FILE"
提示:
第一个axigen是用户名,可以使用命令getent passwd axigen验证用户是否存在
第二个axigen是用户组,可以使用命令id axigen验证axigen用户所属的gid的=符号后面()中的name,例如:
- 最后将修改好的内容贴进
/etc/letsencrypt/renewal-hooks/post/axigen-renew-hook.sh中并保存 修改好脚本之后,可以使用 使用/etc/letsencrypt/renewal-hooks/post/axigen-renew-hook.sh来测试脚本 或 使用certbot renew --dry-run来更新证书