Muhammad Manamil on November 06, 2025
In today's digital landscape, securing your website with HTTPS is no longer optional—it's a critical standard. An SSL certificate encrypts data between your server and your users, protects sensitive information, boosts your SEO ranking, and builds trust with visitors.
Fortunately, you don't need to spend a fortune. Let's Encrypt provides free, automated, and open SSL certificates. The easiest way to use it on Ubuntu is with Certbot.
This step-by-step 2026 guide will walk you through installing a free SSL certificate on your Ubuntu server using Certbot, for both Nginx and Apache web servers.
Before getting started, make sure you have:
A running Ubuntu server (22.04 or later recommended).
A domain name (e.g., example.com) pointing to your server’s IP address.
Nginx or Apache web server installed and running.
Root or sudo access to your server.
Start by updating your package list to ensure you’re using the latest versions:
sudo apt update && sudo apt upgrade -y
Certbot is the official client from Let’s Encrypt used to obtain and manage SSL certificates.
sudo apt install certbot python3-certbot-nginx -y
sudo apt install certbot python3-certbot-apache -y
Now you’ll issue a free SSL certificate for your domain.
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
you need to write your domain name in place of yourdoman
Certbot will automatically:
Verify your domain via Let’s Encrypt
Configure your web server
Enable HTTPS
Install the SSL certificate
You’ll be asked for an email (for renewal alerts) and to agree to the Let’s Encrypt terms.
After success, you’ll see a message like:
Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
To verify that SSL is correctly installed, run:
sudo certbot certificates
This will display your certificate details, expiration date, and domain coverage.
Then visit your website in a browser:
https://yourdomain.com
You should see a secure padlock 🔒 icon, meaning HTTPS is active.
You can also test it using SSL Labs Test.
Let’s Encrypt certificates expire every 90 days, but you can auto-renew them easily.
Enable automatic renewal using this command:
sudo systemctl enable certbot.timer
To test renewal manually:
sudo certbot renew --dry-run
If you see “Congratulations, all renewals succeeded!”, you’re all set — your SSL will auto-renew every 60 days.
Certbot is a free tool from the Electronic Frontier Foundation (EFF) used to install and manage SSL certificates from Let’s Encrypt.
Yes — 100% free, trusted by all major browsers.
Each certificate is valid for 90 days, but Certbot can auto-renew it automatically.
Absolutely! Laravel, PHP, or Node.js — any app running on your Ubuntu web server can use this SSL setup.
You’ll get an email alert from Let’s Encrypt. You can also manually renew using:
sudo certbot renew
Yes! Just add multiple -d flags, like:
sudo certbot --nginx -d example.com -d api.example.com
Yes, but Ubuntu 22.04 LTS or later is highly recommended for better stability and security.
Featured Posts
Categories
November 10 2025
Upgrading to Laravel 12 – Common Issues & SolutionsUpgrading to Laravel 12 introduces modern improvements but can also create unexpected issues if your application isn’t prepared. This guide provides a clear, step-by-step upgrade process along with solutions to the most common errors—covering routing changes, PHP requirements, storage symlink problems, Vite build failures, namespace issues, and more. Follow this tutorial to ensure a smooth and error-free migration to Laravel 12.
November 05 2025
Laravel Cloud vs Vapor — Which One Should You Choose in 2026?Trying to choose between Laravel Cloud and Laravel Vapor? This guide explores their main differences — from pricing and performance to deployment style and scalability — so you can confidently pick the right hosting solution for your Laravel app in 2026
November 26 2025
How to Fix DNS Server Not RespondingIf you're seeing the "DNS server not responding" error, it means your device is having trouble connecting to the internet. This issue can arise due to several reasons, including incorrect DNS settings or network issues. Learn how to fix this problem by checking your DNS settings, restarting your router, and troubleshooting network connections. Follow these simple steps to get your connection back on track.
© 2026 — Revision. All Rights Reserved.