Virtualmin UI Only Shows One Domain, Webmin Not Loading After Rename

SYSTEM INFORMATION
OS type and version AlmaLinux 9.5
Webmin version 2.301
Virtualmin version 7.30.4.gpl
Webserver version Apache/2.4.62 (AlmaLinux)

I set up a new server with Webmin/Virtualmin, and it initially worked as expected. I installed a test domain (e.g., test.domain1. com), configured it, and then used Webmin’s rename function to change it to domain1.com and updated the username (e.g., from testuser to user1). The rename seemed to work, and the site was accessible. I then added two more domains: domain2. com and sub.domain2. com.

Later, logging into xx.xx.xx.xx:10000 as root, I found Webmin missing—only the Virtualmin dashboard appeared. The domain dropdown only shows domain1. com, with no trace of domain2. com or sub.domain2. com.

Observations:

  • CLI lists all three domains:
virtualmin list-domains
Domain                         Username        Description
domain1 .com                    user1           Description1
domain2. com                    user2
sub.domain2. com                user2           Subserver Description
  • Config files are in /etc/webmin/virtual-server/domains (not /etc/virtualmin):
ls /etc/webmin/virtual-server/domains
173834587238967  17399820243106977  17399824853111400
  • I assume these correspond to the three domains, but I’m unsure how to confirm the IDs.
  • Websites work (domain1. com, etc.), but validation shows issues:
virtualmin validate-domains --all-domains --all-features
domain1.com
    Apache website : An IPv6 DNS record www.domain1. com with address 2606:4700:20::681a:379 exists, but this virtual server does not have IPv6 enabled
    Apache SSL website : The SSL certificate does not match domain1.com or www.domain1.com. Instead, it matches the old test domain (e.g., test.domain1. com)
    Webmin login : Webmin user user1 does not exist
sub.domain2.com
    All features are good
domain2. com
    Apache website : An IPv6 DNS record www. domain2. com with address 2606:4700:3030::6815:6052 exists, but this virtual server does not have IPv6 enabled

Troubleshooting Attempts:

  • Reinstall: Reinstalled Webmin (dnf install --reinstall webmin) and Virtualmin (sh install.sh), but the UI still only shows domain1. com, and Webmin doesn’t load.

  • Config Changes: Set defaultmodule=webmin in /etc/webmin/miniserv.conf, cleared cache (rm -rf /var/webmin/cache/*), and restarted Webmin—Virtualmin still loads. Tried preload=webmin and noload=virtual-server, but no effect despite a heavy Virtualmin preload line.

  • Theme Switch: Changed to “Framed Theme” via /webmin, which brought back Webmin tabs (possibly incomplete), but Virtualmin UI remained limited to domain1.com.

  • Ownership/Permissions: Ran virtualmin modify-domain --domain --user root for all domains and virtualmin fix-domain-permissions --all-domains—no UI improvement.

  • SSL: Attempted SSL updates via UI for domain1. com, but openssl x509 -in /etc/ssl/virtualmin/173834587238967/ssl.cert -noout -subject shows the old test domain, while live site shows domain1. com.

I suspect the rename from the test domain/user to the final domain/user caused a session or permissions issue. Webmin users (cat /etc/webmin/miniserv.users) might still reference the old user, though recent checks were inconsistent.

Questions:

  • How can I force Webmin to load at xx.xx.xx.xx:10000 instead of Virtualmin?

  • Why does the Virtualmin UI only show domain1. com, and how do I restore all domains?

  • How can I fix the SSL and Webmin user validation errors without full UI access?

Any ideas to resolve this? I’ve been troubleshooting extensively and could use fresh eyes.

Thanks

I’m seeing “spaces” after the domain1. and domain2. (like this “domain1. com”)

It should be “domain1.com” and “domain2.com” with no spaces at all.

I may be reading this wrong, maybe your paste added the spaces… but, if you do have spaces, you should rename them to a domain with no spaces (or, I would deleted them and re-create with no spaces).

If there are no spaces, just ignore this comment. : )

Also, I would never use the “rename domain” commands. It’s not illegal or a sin… but once you have finally done your testing… wipe the box, install Virtualmin, create domains… configure/lather/rinse/repeat.

You somehow convinced Virtualmin to make the domain “owned by” root, which should be impossible because it makes no sense (root owns everything and nothing).

You’ll need to manually edit webmin.acl to grant root access to the system again (and tell us how you convinced Virtualmin to let you make a domain “owned by” root, because I thought we made it impossible years ago, as it was a common mistake).

You can just replace the root line (which will presumably be quite short) with this:

root: acl adsl-client apache at backup-config bacula-backup bandwidth bind8 change-user cluster-copy cluster-cron cluster-passwd cluster-shell cluster-software cluster-useradmin cluster-usermin cluster-webmin cpan cron custom dfsadmin dhcpd dovecot exim exports fail2ban fdisk fetchmail filemin filter firewall firewall6 firewalld fsdump heartbeat htaccess-htpasswd idmapd inetd init inittab ipfilter ipfw ipsec iscsi-client iscsi-server iscsi-target iscsi-tgtd krb5 ldap-client ldap-server ldap-useradmin logrotate logviewer lpadmin lvm mailboxes mailcap man mount mysql net nis openslp package-updates pam pap passwd phpini postfix postgresql ppp-client pptp-client pptp-server proc procmail proftpd qmailadmin quota raid samba sarg sendmail servers shell shorewall shorewall6 smart-status smf software spam squid sshd status stunnel syslog-ng syslog system-status tcpwrappers time tunnel updown useradmin usermin webalizer webmin webmincron webminlog xinetd xterm ruby-gems virtual-server jailkit virtualmin-htpasswd virtualmin-awstats

Then restart Webmin.

You probably still need to do some other tweaks after that. Specifically, you probably need to browse to Webmin Users, then click on root, and then click on Virtualmin Virtual Servers and grant the user access to all servers.

And, never try to make a domain owned by root. Doesn’t make sense, and makes root into a domain owner user. (Though, again, Virtualmin should protect you from doing that, I don’t know why/how it didn’t in this case.)

Why would you expect them to be in /etc/virtualmin? Virtualmin is a module of Webmin, its configuration generally lives in various places /etc/webmin.

Are you quite certain you logged in as root? The behavior you describe indicates that you have not logged in as root but as some other non-root user.