Securing your WordPress website with HTTPS is critical for trust, SEO, and performance. If you’re on shared hosting (like Namecheap, Bluehost, HostGator), installing a free Let’s Encrypt SSL certificate can be tricky — especially without root access. But don’t worry! Here’s a step-by-step guide that shows you how to do it using acme.sh.
✅ No root access required
✅ Free SSL certificate
✅ Works with WordPress and cPanel hosting
Requirements
- A domain name (e.g.,
yourdomain.com
) - Access to cPanel
- FTP/SFTP or File Manager access
- A Linux terminal or SSH access (optional but useful)
- Your web root path (e.g.,
/home/username/public_html
)
📝 Step 1: Install acme.sh
Acme.sh is a lightweight shell script that issues Let’s Encrypt SSL certificates.
$ curl https://get.acme.sh | sh
Bash👉 It installs into your home directory, e.g., /home/username/.acme.sh/
.
🔍 Step 2: Identify Your Webroot
Your webroot is where WordPress is installed. For example:
- For
yourdomain.com
:/home/username/public_html
- For
sub.yourdomain.com
:/home/username/public_html/sub
If unsure, check via cPanel > File Manager.
📷 Insert Screenshot: cPanel showing public_html path
🔒 Step 3: Issue the SSL Certificate
Use this command:
$ ~/.acme.sh/acme.sh --issue -d yourdomain.com -d www.yourdomain.com -w /home/username/public_html --server letsencrypt
BashReplace with your actual domain and path.
📁 Step 4: Locate Your SSL Files
After success, acme.sh will output your SSL files:
yourdomain.com.cer
(certificate)yourdomain.com.key
(private key)fullchain.cer
(chained certificate)
They’re stored in:
$ /home/username/.acme.sh/yourdomain.com/
Bash🔄 Step 5: Install the Certificate via cPanel
- Log into cPanel
- Go to SSL/TLS > Manage SSL sites
- Select your domain
- Copy-paste the contents of the following files:
- Certificate (CRT):
yourdomain.com.cer
- Private Key (KEY):
yourdomain.com.key
- Certificate Authority Bundle (CABUNDLE):
fullchain.cer
- Certificate (CRT):
📷 Insert Screenshot: Paste certificate fields in cPanel
🔁 Step 6: Automate Renewal (Optional but Recommended)
Let’s Encrypt certs expire every 90 days. Automate renewal:
$ ~/.acme.sh/acme.sh --install-cert -d yourdomain.com \
--cert-file /home/username/ssl/yourdomain.com.cer \
--key-file /home/username/ssl/yourdomain.com.key \
--fullchain-file /home/username/ssl/fullchain.cer \
--reloadcmd "echo SSL reloaded"
BashThen set a cron job (acme.sh does this automatically):
$ crontab -l
Bash✅ Done! Your Site Is Now Secure
Visit https://yourdomain.com
— you should see the padlock icon. You’ve successfully installed a free SSL certificate using Let’s Encrypt and cPanel!
🧠 Final Tips
- Always test with SSL Labs
- Backup your
.key
and.cer
files - Re-run the acme.sh command after 60+ days to renew
No Comment! Be the first one.