To install Let’s Encrypt and setup free SSL/TLS certificates Ubuntu nginx, Open your terminal window, type
sudo apt install certbot Python3-certbot-nginx to install Letsencrypt and type s
udo certbot --nginx -d example.com -d www.example command to set up SSL/TLS certificate.
Let’s Encrypt is a certificate authority (CA) that provides an accessible way to obtain and install free TLS/SSL certificates, enabling encrypted HTTPS on web servers. It simplifies the process by providing a software client, Certbot, which attempts to automate most (if not all) of the necessary steps.
How to Install Let’s Encrypt & Certbot on Ubuntu 22.04 Nginx
Here are some steps to install and configure let’s Encrypt SSL certificate & certbot on ubuntu 22.04 Nginx using terminal or command line:
Step 1 – Update System Packages
To update the system’s packages, you need to use the
sudo apt update command on a terminal window:
sudo apt update
Step 2 – Install Let’s Encrypt Certbot Ubuntu Nginx
To install Let’s Encrypt with Nginx on Ubuntu 22.04, simply type
sudo apt install certbot python3-certbot-nginx command on the terminal window and press Enter, it will install it:
sudo apt install certbot python3-certbot-nginx
Step 3 – Verify Nginx Configuration on Server
Before installing Letsencrypt, you need to verify the nginx configuration in sites-available file, Open this file using
sudo nano /etc/nginx/sites-available/example.com on terminal window:
sudo nano /etc/nginx/sites-available/example.com
After that, locate the
server_name directive and make sure it is set to your domain name. As you want to include the domain name with and without the www. prefix, the line should look similar to the one below:
server_name example.com www.example.com
Step 4 – Allowing HTTPS Through the Firewall
HTTPs request on ubuntu nginx server using firewall, use following commands on terminal window and allow firewall services for https:
sudo ufw status
To additionally let in
HTTPS traffic, allow the Nginx Full profile and delete the redundant Nginx HTTP profile allowance:
sudo ufw allow 'Nginx Full' sudo ufw delete allow 'Nginx HTTP'
Step 5 – Get New Let’s Encrypt SSL/TLS Certificate
To setup free let’s encryption SSL/TLS certificate with nginx on Ubuntu, simply type
sudo certbot --nginx -d example.com -d www.example.com command on a terminal windows:
sudo certbot --nginx -d example.com -d www.example.com
If this is the first time running, will be prompted to enter an email address and agree to the terms of service. After doing so,
certbot will communicate with the Let’s Encrypt server, then run a challenge to verify that you control the domain you’re requesting a certificate for.
Step 6 – Enable Automatic Certificate Renewal
Since Let’s Encrypt certificates expire every 90 days, Nginx recommends setting up an automatic renewal using cron job, Open again your terminal window and simply type
sudo systemctl status snap.certbot.renew.service command into it to create automatic renewal let’s encrypt the certificate for Nginx on ubuntu 22.04:
sudo systemctl status snap.certbot.renew.service
To test the renewal process, Use the dry command with
sudo certbot renew --dry-run
Through this tutorial, we have learned how to install and configure certbot to obtain a free SSL certificate for Nginx on Ubuntu 22.04 and set up your certificate to renew automatically.