OS type and version: CentOS Linux release 7.9.2009 (Core)
Webmin version: 2.105
Virtualmin version: 7.9.0
I have a domain with a few aliases set to have Let’s Encrypt auto renew. When I look in the letsencrypt.log I see that the renewal is successful. I can find all of the files needed for ssl updated and ready to go in the /etc/letsencrypt/live directory. In the home directory after Let’s Encrypt did it’s thing it appears that Virtualmin removes all of the ssl* files from the domain home directory and only copies the ssl.everything and ssl.combined files. Since postfix, dovecot, and apache all are looking for the rest of the ssl files things break. When I manually copy the cert.pem file to ssl.cert, chain.pem to ssl.ca, and privkey.pem to ssl.key in the home directory of the domain everything is happy again. I must be missing a setting somewhere that does this for you.
On the Summary page it only talks about the home directory and when the SSL expires. The home directory is correct. Under Manage Virtual Server → Setup SSL Certificate → Current Certificate it does show the full and correct path to the ssl.cert and ssl.key files with the correct Issueer etc. Under CA Certificate it does show the correct path to the ssl.ca file and it gives the correct details for the Let’s encrypt R3 authority and Issuer etc…
Before I copied the files into place it did not show anything under Current Certificate. The page was just blank. When I tried to have Let’s Encrypt renew the cert it would succeed in verifying the domain names then Virtualmin would fail saying something about the files didn’t exist which is what all of the services that rely on those files complain about.
I found a setting under System Settings → Virtualmin Configuration → SSL setings category to Configure Apache to use Combined cert and CA file or Cert file only. I set it to Cert file only but that didn’t change anything when I tried to renew again.