Skip to content

cPanel 部署

适合虚拟主机或 cPanel 账户。

cPanel 场景优先使用 acme.sh,因为它适合受限 SSH 环境,并支持 cpanel_uapi 自动部署。

1. 打开 Terminal

进入 cPanel:

text
cPanel -> Advanced -> Terminal

如果没有 Terminal,请联系主机商启用 SSH / Shell Access。

2. 设置变量

bash
export DOMAIN="example.com"
export EMAIL="[email protected]"
export ACME_SERVER="你的 Server URL"
export EAB_KID="你的 EAB MAC ID"
export EAB_HMAC_KEY="你的 EAB MAC key"
export WEBROOT="$HOME/public_html"

单域名默认包含 example.comwww.example.com

3. 安装 acme.sh

bash
curl https://get.acme.sh | sh
source ~/.bashrc 2>/dev/null || source ~/.zshrc 2>/dev/null || true

如果提示 command not found,请使用完整路径:

bash
~/.acme.sh/acme.sh --version

4. 注册 ACME 账号

bash
~/.acme.sh/acme.sh --register-account \
  --server "$ACME_SERVER" \
  --eab-kid "$EAB_KID" \
  --eab-hmac-key "$EAB_HMAC_KEY" \
  --accountemail "$EMAIL"

5. 签发并部署到 cPanel

单域名,默认包含根域名和 www

bash
~/.acme.sh/acme.sh --issue \
  --webroot "$WEBROOT" \
  --domain "$DOMAIN" \
  --domain "www.$DOMAIN" \
  --server "$ACME_SERVER" \
  --eab-kid "$EAB_KID" \
  --eab-hmac-key "$EAB_HMAC_KEY" \
  --deploy-hook cpanel_uapi

多域名:

bash
~/.acme.sh/acme.sh --issue \
  --webroot "$WEBROOT" \
  --domain example.com \
  --domain www.example.com \
  --domain example.net \
  --domain shop.example.org \
  --server "$ACME_SERVER" \
  --eab-kid "$EAB_KID" \
  --eab-hmac-key "$EAB_HMAC_KEY" \
  --deploy-hook cpanel_uapi

通配符,默认包含根域名和 *.

bash
export CF_Token="Cloudflare API Token"
export CF_Account_ID="Cloudflare Account ID"

~/.acme.sh/acme.sh --issue \
  --dns dns_cf \
  --domain "$DOMAIN" \
  --domain "*.$DOMAIN" \
  --server "$ACME_SERVER" \
  --eab-kid "$EAB_KID" \
  --eab-hmac-key "$EAB_HMAC_KEY" \
  --deploy-hook cpanel_uapi

WARNING

通配符证书必须使用 DNS 验证。请按你的 DNS 服务商替换 dns_cf 和对应 API 变量。

如需重新部署已有证书:

bash
~/.acme.sh/acme.sh --deploy \
  --domain "$DOMAIN" \
  --deploy-hook cpanel_uapi

6. 验证

进入:

text
cPanel -> SSL/TLS -> Manage SSL Sites

确认域名已加载新证书,然后访问:

text
https://example.com

7. 续期测试

bash
~/.acme.sh/acme.sh --cron --force

12SSL SSL Certificates and AutoSSL.