Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit. Let’s Encrypt is a service provided by the Internet Security Research Group (ISRG).
In this tutorial, you will find out how you can benefit from these certificates by providing security for your Webmin websites.
The tutorial was prepared with our "Webmin 1.9 with CentOS 7" template and is meant to work on our self-managed virtual private servers.0. Preliminary requirements:
"Webmin 1.9 with CentOS 7" template installed on the server;
Fully updates server software (yum update);
"Git" package installed (yum install git -y).1. Downloading "Let's encrypt" client:
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt2. Installing the necessary Python module:
yum install python-argparse -y3. Adding additional name server
For "Let's Encrypt" certificates to work properly we have to add "localhost" nameserver. We do so by going to "Webmin" control panel > "Networking" > "Network Configuration" > "Hostname and DNS Client" and adding "127.0.0.1" as additional name server:4. Enabling SSL feature
Also for certificate function to be active for your virtual servers we have to enable it in the "Virtualmin" control panel". We have to open "System Settings" > "Features and Plugins" and after checking "SSL website" save settings:5. Installing "Let's encrypt" certificate
For a new "Virtual server":
Open "Server Configuration" > "SSL Certificate" > "Let's Encrypt" and press button "Request Certificate":
For existing "Virtual server":
Before proceeding with the certificate installation we have to enable the "SSL website feature". Open "Edit Virtual Server" > "Enable features" check "SSL website enabled?" and save. Then proceed with the step above.