Failed to open SSL key at service Webmin start on CentOS 8

This is a common error that refers to a corrupted or unusable SSL PEM file and sometimes occurs after upgrading Webmin or operating system.
The fix is fairly simple. Login to your VM and edit Webmin config file:

sudo nano /etc/webmin/miniserv.conf

Look for the line that contains ssl=1

Change the value to

ssl=0

Then restart Webmin

sudo service webmin start

Login to your Webmin web running on port 10000 but using HTTP:// (http://your-ip:10000/). Do not use https://your-ip:10000/ URL, that will not work anymore, as we’ve turned off SSL support.

Note: If you can’t log in to the site, clear cookies in your browser. That sometimes prevents users to log back in.

 

Then go to Webmin / Webmin Configuration and click on SSL encryption button:

 

Once there, go to Self-Signed Certificate and create a new certificate, replace IP with the server’s IP, put in your email, department, etc.

Make sure you select, use the new key immediately toggle. It should something like this. All values with the exception of the IP address can be fictional.

Write key to file: miniserv-new.pem

Once done, go to SSL Settings tab and configure the settings like this, make sure to select the miniserv-new.pem private key we’ve created above.

Save the changes, then restart Webmin either from the webpage or from the console. Or simply just reboot your server.

Now you can log back into https://your-ip:10000/ and it should work.