官方自动安装脚本是使用–install-online模式,在网络通畅的情况下是很不错的,但是国内嘛…
1. 克隆仓库(或直接下载解压)
git clone --depth=1 https://github.com/acmesh-official/acme.sh && cd acme.sh
# 国内使用Gitee镜像
git clone --depth=1 https://gitee.com/neilpang/acme.sh && cd acme.sh
2. 安装依赖
# Debian/Ubuntu
apt install curl wget openssl socat crontab -y
# ReHat/CentOS 8.x以下
yum install curl wget openssl socat crontab -y
# ReHat/CentOS 8.x以上
dnf install curl wget openssl socat crontab -y
3. 安装
# 安装
./acme.sh --install
# 注册账号
acme.sh --register-account -m my@example.com
# 删除仓库
cd ../ && rm -rf ./acme.sh
或者指定邮箱,直接注册
./acme.sh --install my@example.com
# 删除仓库
cd ../ && rm -rf ./acme.sh
4. 更换ACME服务器
acme.sh默认向zerossl申请证书,但是最近申请证书时总是超时(Timeout)
例如选择Let’s Encrypt, 需要重新向注册账号
acme.sh --server letsencrypt --register-account -m my@example.com
申请证书时, 指定服务器
acme.sh --server letsencrypt --issue -d example.com --standalone
或者设置默认CA服务器
acme.sh --set-default-ca --server letsencrypt
参考
如果只有sudoers权限, 没有root权限或者不想安装到root目录下的情况下, 可以修改crontab, 使用从stdin读取密码的sudo命令, 然后在脚本上增加–force选项
37 0 * * * /bin/echo "你的用户密码" | /bin/sudo -S "/home/m/.acme.sh"/acme.sh --force --cron --home "/home/m/.acme.sh" > /dev/null