Security & SSL

How to Install a Free SSL Certificate on Your Website

Learn how to install a free SSL certificate with Let's Encrypt on cPanel, Apache, or Nginx and enable HTTPS on your site in under 15 minutes.

Data transfer complete message displayed on a computer monitor with a keyboard underneath.

You can install a free SSL certificate using Let's Encrypt, a no-cost certificate authority backed by Mozilla, Google, and the EFF. The process takes under 15 minutes and secures your site with the same HTTPS encryption as paid certificates.

This guide covers three paths: cPanel (the most common for shared hosting), Apache on a VPS or dedicated server, and Nginx. Pick the one that matches your environment.

What Is Let's Encrypt and Why Use It?

Let's Encrypt is a free, automated, and open certificate authority. Its DV (domain validation) certificates are trusted by every modern browser and deliver the same TLS 1.3 encryption as any paid SSL.

Key advantages:

  • Zero cost, no credit card required.
  • Automatic renewal every 90 days (once configured).
  • Compatible with cPanel, Plesk, DirectAdmin, Apache, Nginx, and Caddy.
  • Wildcard certificates available via ACME DNS-01 challenge.

The only real limitation is that it does not offer OV (organization validation) or EV (extended validation). For most websites — blogs, portfolios, landing pages, small businesses — this doesn't matter.

Before You Start: Prerequisites

Regardless of the method, you need:

  • Ownership or admin access to the domain.
  • The domain must point correctly to the server (active A or CNAME DNS records).
  • Access to your hosting control panel or SSH access to the server.
  • Ports 80 and 443 open in the server firewall.

If your domain hasn't finished propagating, wait before requesting the certificate. Let's Encrypt validates domain ownership by making a real HTTP request to your server.

Method 1: Install a Free SSL Certificate in cPanel (Shared Hosting)

Most hosting providers already include Let's Encrypt built into cPanel. This is the easiest method.

Step 1 — Open AutoSSL or SSL/TLS in cPanel

Log in to cPanel. Under the Security section, look for one of these options:

  • SSL/TLS Status (cPanel with AutoSSL enabled)
  • Let's Encrypt SSL (cPanel Let's Encrypt plugin)
  • SSL/TLS → Install and Manage SSL

Step 2 — Select the Domain and Request the Certificate

Check your domain and subdomains (including www.yourdomain.com) and click Run AutoSSL or Issue Certificate. cPanel contacts Let's Encrypt, automatically completes the HTTP-01 challenge, and downloads the certificate.

Step 3 — Verify the Installation

Visit https://yourdomain.com. You should see a closed padlock in the browser's address bar. If you see mixed content warnings, read the section on forcing HTTPS below.

AutoSSL renews the certificate automatically before it expires — no action needed on your part.

Method 2: Install Let's Encrypt on Apache (VPS or Dedicated Server)

On a self-managed server running Ubuntu/Debian or RHEL/Rocky Linux, the official tool is Certbot.

Step 1 — Install Certbot

# Ubuntu / Debian
sudo apt update
sudo apt install certbot python3-certbot-apache -y

# RHEL / Rocky / AlmaLinux
sudo dnf install certbot python3-certbot-apache -y

Step 2 — Request and Download the Certificate

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot detects your Apache VirtualHost, requests the certificate from Let's Encrypt, installs it, and updates the VirtualHost to enable HTTPS — including the HTTP-to-HTTPS redirect if you confirm.

Step 3 — Confirm Automatic Renewal

sudo systemctl status certbot.timer
# or test renewal in dry-run mode:
sudo certbot renew --dry-run

On modern distributions, Certbot installs a systemd timer that renews certificates automatically. With no additional setup, your SSL will remain valid indefinitely.

Step 4 — Reload Apache

sudo systemctl reload apache2   # Debian/Ubuntu
sudo systemctl reload httpd     # RHEL/Rocky

Method 3: Install Let's Encrypt on Nginx

Step 1 — Install Certbot with the Nginx Plugin

# Ubuntu / Debian
sudo apt install certbot python3-certbot-nginx -y

Step 2 — Request the Certificate

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot edits your server block in Nginx, installs the certificates, and automatically configures the HTTPS redirect.

Step 3 — Verify and Reload Nginx

sudo nginx -t
sudo systemctl reload nginx

Method Comparison

Environment Tool Difficulty Auto-renewal
cPanel (shared hosting) AutoSSL / Let's Encrypt plugin Very easy Yes (native)
VPS/dedicated with Apache Certbot + Apache plugin Medium Yes (systemd timer)
VPS/dedicated with Nginx Certbot + Nginx plugin Medium Yes (systemd timer)
Any server Caddy (automatic HTTPS) Easy Yes (native)

Force HTTPS and Fix Mixed Content

Installing the certificate is not enough: you need to redirect all HTTP traffic to HTTPS and make sure no resource (images, scripts, CSS) loads over a plain http:// URL.

Redirect HTTP → HTTPS in Apache (.htaccess)

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Redirect HTTP → HTTPS in Nginx

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

Detect Mixed Content

Open the browser DevTools (F12) → Console tab. Look for warnings labeled "Mixed Content". Each http:// URL you find must be updated to https:// in your code or CMS.

In WordPress, the Better Search Replace plugin lets you replace http://yourdomain.com with https://yourdomain.com across the entire database in one click.

If you need help with server security configuration or want to hand off the whole process, the team at elenlace.com can handle your SSL installation and maintenance.

Troubleshooting Common Issues

Error: "Too many certificates already issued"

Let's Encrypt limits you to 5 certificates per root domain every 7 days. If you've hit the cap, wait before trying again.

Challenge fails: "Could not connect to server"

Check that port 80 is open in the firewall, that the domain points to the correct IP, and that no redirect rule is blocking the /.well-known/acme-challenge/ path.

Certificate doesn't renew automatically

Verify that the Certbot timer is active (systemctl status certbot.timer). In cPanel, check under Cron Jobs that the AutoSSL process is scheduled.

For more resources on SSL security and certificates for websites, browse our full article library on the topic.

Key Takeaways

  • Let's Encrypt provides free, valid, and browser-trusted SSL certificates for any website.
  • In shared hosting with cPanel, AutoSSL installs and renews the certificate without manual intervention.
  • On a VPS or dedicated server, Certbot (with the Apache or Nginx plugin) automates the entire process.
  • Installing the certificate is just the first step: redirect HTTP to HTTPS and eliminate mixed content.
  • Automatic renewal is critical — configure it from day one so your HTTPS never expires.
  • Let's Encrypt issues DV certificates; if you need OV or EV, consider a paid SSL.

Ready to activate HTTPS on your site? If you'd rather have a specialist do it for you, reach out to the team at elenlace.com and we'll have your SSL live today.

FAQ

Is the free Let's Encrypt SSL certificate secure?

Yes. Let's Encrypt issues DV certificates with TLS 1.2/1.3 encryption — identical to paid certificates. The difference lies in the validation level, not the encryption strength. It is trusted by all modern browsers and by Google.

How long does the certificate last and does it renew automatically?

Let's Encrypt certificates are valid for 90 days. When you install Certbot or use AutoSSL in cPanel, renewal happens automatically — typically around the 60-day mark, well before expiry.

Can I use Let's Encrypt with any hosting provider?

Almost always. Most hosting providers already include Let's Encrypt integrated into cPanel, Plesk, or DirectAdmin. If your provider doesn't support it, you can install Certbot on a VPS or switch to a hosting plan that includes it.

Do I need a paid SSL certificate for an online store?

Not necessarily. For most e-commerce sites, a DV certificate from Let's Encrypt is sufficient to encrypt transactions. OV or EV certificates add more visual trust signals, but not stronger encryption. Evaluate your business profile before paying for one.

Further reading

Other providers and guides worth comparing:

← All