Install an ACME SSL Certificate on cPanel

Print
  • 0

cPanel hosting accounts support ACME SSL certificates, provided that SSH access is enabled on the hosting environment. If SSH access is not enabled in your account, you can contact our support team to request its activation.

1. SSH Terminal Access

To access the SSH terminal in cPanel:

  • Log in to cPanel
  • Go to the Advanced section
  • Click Terminal
  • Confirm “I understand” (if prompted)

Alternatively, you can connect using an external SSH client. Some hosting providers use custom SSH ports different from the default port 22.

2. Install acme.sh

Run the following command to install acme.sh:

curl https://get.acme.sh | sh

acme.sh is compatible with restricted SSH environments in cPanel and does not require full root privileges.

3. ACME Account Registration

Register with the ACME server:

~/.acme.sh/acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid EAB_KID \
--eab-hmac-key EAB_MAC_KEY

Parameters:

  • EAB_KID – identifier provided by the CA
  • EAB_HMAC_KEY – HMAC key provided by the CA

If you receive a “command not found” error, use the full path shown during installation (e.g. /home/user/.acme.sh/acme.sh).

4. Issue and Install SSL Certificate

Run the command to issue the certificate:

~/.acme.sh/acme.sh --issue \
--webroot /home/user/public_html \
--domain yourdomain.com \
--domain www.yourdomain.com \
--deploy-hook cpanel_uapi \
--server https://acme.sectigo.com/v2/DV \
--eab-kid EAB_KID \
--eab-hmac-key EAB_MAC_KEY

Parameter explanations:

  • yourdomain.com – primary domain
  • --domain – can be repeated for www and non-www
  • /path/to/webroot – website directory (e.g. /home/user/public_html)

5. Deploy Certificate in cPanel

After issuance, install the certificate in cPanel:

~/.acme.sh/acme.sh --deploy --domain yourdomain.com --deploy-hook cpanel_uapi

The certificate will be available in:

  • SSL/TLS Certificates
  • Manage SSL Sites

6. Verification and Auto-Renewal

acme.sh automatically renews certificates before expiration (~30 days).

To test renewal manually:

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

After running, verify the updated certificate in cPanel (Manage SSL Sites).

Was this answer helpful?