
Let’s Encrypt is a free, automated, and open certificate authority (CA) that benefits the public. It is operated by the Internet Security Research Group (ISRG).
In this tutorial, you'll learn how to enhance the security of your Webmin websites using Let’s Encrypt certificates. This guide is based on the "Webmin 1.9 with CentOS 7" template and is intended for use on self-managed virtual private servers.
0. Preliminary Requirements:
Install the "Webmin 1.9 with CentOS 7" template on your server.
Ensure server software is fully updated (yum update).
Install the "Git" package (yum install git -y).
1. Download the Let’s Encrypt Client:
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
2. Install the Required Python Module:
yum install python-argparse -y
3. Configure the Additional Name Server:
To ensure Let’s Encrypt certificates work correctly, add "localhost" as a nameserver. Go to the Webmin control panel, navigate to Networking > Network Configuration > Hostname and DNS Client, and add "127.0.0.1" as an additional nameserver.

4. Enable SSL Feature:
To activate the certificate functionality for your virtual servers, enable the SSL feature in the Virtualmin control panel. Go to System Settings > Features and Plugins, check "SSL website," and save your settings.

5. Install Let’s Encrypt Certificate:
For a new virtual server:
Go to Server Configuration > SSL Certificate > Let’s Encrypt and click "Request Certificate."
For an existing virtual server:
First, enable the SSL website feature by going to Edit Virtual Server > Enable Features, check "SSL website enabled," and save. Then, follow the steps above to request the certificate.