Virtualmin stuff:

home | blog | Terrible people and places | Covid-19 links | Teh Internet | guest blog |rants | placeholder | political | projects | Gwen and Liam | Citadel patched | Tools | Scouts

Ever wonder --- here is where I can keep my mind free from stuff like this:

Q: My virtualmin server won't allow me to change the php version.
Re-check the domain in question:
virtualmin validate-domains --domain --all-features
 - make sure webroot is correctly pointed
 - make sure the permissions are correct

Q: Why don't certs using LetsEncrypt have a correct intermediate cert?
If you don't have certbot installed, Virtualmin falls back to using the script is a fallback solution.
This script has a hard-coded intermediate cert (as of this writing).
Fix by installing certbot and Virtualmin will use the LE prescribed intermediate cert.  Might need to re-request the cert to see it.

Q: LetsEncrypt invalid email address error when requesting a cert? - certbot.errors.Error: The ACME server believes blah@localhost is an invalid email address. Please ensure it is a valid email and attempt registration again.
In case that goes away (short version):
VirtualMin > Select your domain > Edit Virtual Server > Configurable Settings > Contact Email > Select another radio button and provide your email address > Click “Save Virtual Server”. Now try to generate SSL certificate.

Q: Added additional php version to your Virtualmin setup and are downloading source now?
Repeated here in case the link breaks later:
Why do my PHP pages download or display the source, rather than executing the PHP code?
If you're seeing this issue, it's likely that a newly installed PHP version setup some Apache configuration options that's overriding your Virtualmin PHP settings.

It's a simple fix though, you just need to find the offending configuration and comment it out. The configuration to look for are "SetHandler" lines -- those can be found using the following:

On CentOS
find /etc/httpd -type f | xargs grep -i sethandler

On Ubuntu/Debian
find /etc/apache2 -type f | xargs grep -i sethandler

Look for any lines like the following:

SetHandler application/x-httpd-php

There could be more than one -- comment them all out, and then restart Apache.

And then comment that out, and restart Apache using the command service httpd restart on CentOS or service apache2 restart on Ubuntu/Debian.

Alternatively, if you added additional php versions, the distro defaults are probably wrong for Virtualmin and it can fix via:
virtualmin check-config
apache2ctl configtest
systemctl restart apache2.service

Q: Did the migration of a site between servers fail with:
Error: Failed to work out externally visible IP address

A: Try this:
System Settings -> Virtualmin Config -> Network Settings
"Network interface for virtual addresses" Detect automatically
- and re-check sites.

Found here:

Q: Where does the installer script keep the tarball?
A: In /var/webmin/cache/http://__blah

Q: Having install issues related to Apparmour and Bind?
A: See here:

Q: How do you set it up - quick notes.
A: See here:

Q: Where are the installer scripts located?
A: Here they are : /usr/share/webmin/virtual-server/scripts

Q: Why are the apache logs not rotating?
A: Currently a bug.
Thanks Z! :
virtualmin disable-feature --all-domains --logrotate
virtualmin enable-feature --all-domains --logrotate

Follow up with:
For each of the sites in virtualmin:
 (the virtualmin tool probably does this, but...)
 (it will eat the error - and that is not what you want!)

logrotate -vf /etc/logrotate.d/(site name).com.conf

You will get an error like:
Ignoring /etc/logrotate.d/ because of bad file mode.

Handling 0 logs

Fix with:
chmod 0644

Fire up your logrotate again, and enjoy the regained disk space.

Assuming you already ran out of space ;-)

Looks like this is an issue with Virtualmin Version 6.05.gpl
If you are having Apache fail to restart on logrotate (weekly)
You might want to investigate the old restart vs reload (graceful)
way of doing things.