The default Webmin listen on port 10000 with self singed SSL certificate. You will see a security warning in web browser like certificate is not trusted. Many of the organization do not allow to use self singed certificates for several reasons.
Lets Encrypt is a free and open certificate authority by the non-profit Internet Security Research Group (ISRG). Its provides free ssl certificates for the domains valid for 90 days. You can easily renew certificates before expiration manually or schedule it to renew automatically.
This tutorial will describe you to setup Let’s Encrypt SSL certificate with Webmin hostname.
Change Webmin Hostname
First, make sure you have a valid domain name configured with Webmin. Choose a domain name (subdomain) for Webmin and update dns entry to point domain to Webmin server.
Change the system hostname from webmin dashboard. Login to webmin using admin account access:
This will change the hostname of the system, Also make an entry in /etc/hosts file to bind hostname with localhost ip address.
Configure Let’s Encrypt Certificate in Webmin
Now, you have configured a fully qualified domain as system hostname. Again make sure the domain is properly pointed to your Webmin server ip address. You can use online tool to verify dns records.
Let’s configure Let’s Encrypt SSL for Webmin:
- Go to Webmin (in left sidebar)
- Click Webmin Configuration
- Click on “SSL Encryption” as shown in screenshot
- Go to “Let’s Encrypt” tab”
- Enter your hostname under “Hostnames for certificate”. For example, I have used webmin.tecadmin.net.
- Select “Other directory” Under Website root directory for validation file and set path as “/var/www/html”
- Under “Months between automatic renewal”, set value to 1. This allows ssl to be auto renews before 1 month of expiry.
- Verify all details again and press Request Certificate button
- On successful, you will see the result like below.
- All done
Let’s Encrypt SSL certificate is successfully configured for the Webmin hostname.
Test SSL Certificate
Access the Webmin interface with https protocol using the system hostname on port 10000. You will see a valid ssl certificate in your browser.
For example: https://webmin.tecadmin.net:10000
This tutorial described you to configure Let’s Encrypt SSL certificate with Webmin hostname.
You can also verify the SSL certificate using online ssl checker tool. Make sure to enter full url with port.
Thank you so much
This did not work for me my webmin runs on a non standard port not the well know 10000
Also there is no /var/www/html directory
So I get:
Failed to request certificate : Website document directory does not exist
Ubuntu 20.04 install. The server runs a number of services.
I want to be able to access webmin using SSL. To monitor the server.
Any help or advice appreciated.
Thanks for this post.
I have follow this steps and on last one when Cert is issued is also I got a ..done!!!
But problem is when I open again in browser my connection is still not secured.
Have you any idea what can be the problem ?
“The default Webmin listen on port 10000 with self singed SSL certificate. You will see a security warning in web browser like certificate is not trusted. Many of the organization do not allow to use self singed certificates for several reasons.”
I wonder is it there options to add SSL for http://www.example.com:10000 for that port ? Or this must be resereved for domain name but not include port 1000 ?