Empty folder /usr/libexec/webmin/virtual-server


I was deleting a user from a virtual server when I closed the browser inadvertently before the current operation finished. When I connected back the Virtualmin tab had disappeared and the virtualmin menu links in Webmin->servers, when clicked, where showing an error related to a file in /virtual-server. I looked at the folder /usr/libexec/webmin/virtual-server and discovered that it was completely empty.

As a temporal workaround I copied the files from a Virtualmin gpl that I have in another server, but now it shows its version as 6.03 gpl instead of the pro one. Is there any way to recover this folder like reinstalling virtualmin?

I’ve been able to recover the folder from the virtual machine backup. Although I’m still worried because I don’t know why the folder content was deleted.


Hmm, that is an odd one!

Can you think of a reason why the Virtualmin package may have been removed from the system recently?

You may want to verify that the Virtualmin package is still installed… if you’d like a hand with that, what distro/version is it that you’re using?



It’s a CentOS Linux 7.5.1804 with Webmin version 1.890 and Virtualmin version 6.03 Pro

If I do a yum list installed | grep virtualmin it shows me the following installed packages:

awstats.noarch 7.2-1.el7 @virtualmin
clamav.x86_64 0.99.2-3.el7.centos.vm @virtualmin
clamav-data.noarch 0.99.2-3.el7.centos.vm @virtualmin
clamav-filesystem.noarch 0.99.2-3.el7.centos.vm @virtualmin
clamav-lib.x86_64 0.99.2-3.el7.centos.vm @virtualmin
clamav-scanner.noarch 0.99.2-3.el7.centos.vm @virtualmin
clamav-scanner-systemd.noarch 0.99.2-3.el7.centos.vm @virtualmin
clamav-server.x86_64 0.99.2-3.el7.centos.vm @virtualmin
clamav-server-systemd.noarch 0.99.2-3.el7.centos.vm @virtualmin
clamav-update.x86_64 0.99.2-3.el7.centos.vm @virtualmin
httpd.x86_64 1:2.4.6-80.el7.vm.3 @virtualmin
httpd-tools.x86_64 1:2.4.6-80.el7.vm.3 @virtualmin
libbsd.x86_64 0.6.0-3.el7 @virtualmin
libc-client.x86_64 2007f-4.el7.1 @virtualmin
libmcrypt.x86_64 2.5.8-9.el6 @virtualmin
libopendkim.x86_64 2.9.2-2.el7 @virtualmin
milter-greylist.x86_64 4.5.1-1.el6 @virtualmin
mod_ssl.x86_64 2:2.4.6-80.el7.vm.3 @virtualmin
opendkim.x86_64 2.9.2-2.el7 @virtualmin
perl-Geo-IP.x86_64 1.43-1.el7.vm @virtualmin
perl-IO-Multiplex.noarch 1.13-6.el7 @virtualmin
perl-JSON-PP.noarch 2.27300-2.el7.centos @virtualmin
perl-Net-IP.noarch 1.26-4.el7 @virtualmin
perl-Net-Server.noarch 2.007-2.el7 @virtualmin
php-imap.x86_64 5.4.16-3.el7 @virtualmin
php-mcrypt.x86_64 5.4.16-2.el7 @virtualmin
procmail-wrapper.x86_64 1.0-1.vm @virtualmin
proftpd.x86_64 1.3.5e-2.el7 @virtualmin
scponly.x86_64 4.8-6.el6 @virtualmin
usermin.noarch 1.741-1 @virtualmin-universal
ust-virtual-server-theme.noarch 2:6.9-1 @virtualmin-universal
virtualmin-base.noarch 5.0-4.rh @virtualmin
virtualmin-release.noarch 1.0-5.rhel installed
wbm-php-pear.noarch 2:1.6-1 @virtualmin-universal
wbm-ruby-gems.noarch 2:1.4-1 @virtualmin-universal
wbm-security-updates.noarch 2:4.5-1 @virtualmin-universal
wbm-virtual-server.noarch 3:6.03-1 @virtualmin-universal
wbm-virtualmin-awstats.noarch 2:5.6-2 @virtualmin-universal
wbm-virtualmin-dav.noarch 2:3.8-1 @virtualmin-universal
wbm-virtualmin-git.noarch 1.8-1 @virtualmin-universal
2:2.7-1 @virtualmin-universal
wbm-virtualmin-htpasswd.noarch 2:2.6-1 @virtualmin-universal
wbm-virtualmin-init.noarch 2:2.5-1 @virtualmin-universal
wbm-virtualmin-mailman.noarch 2:6.7-1 @virtualmin-universal
wbm-virtualmin-registrar.noarch 2:2.5-1 @virtualmin-universal
wbm-virtualmin-sqlite.noarch 1.4-1 @virtualmin-universal
wbm-virtualmin-svn.noarch 2:5.1-1 @virtualmin-universal
wbt-virtual-server-mobile.noarch 2:2.5-1 @virtualmin-universal
wbt-virtual-server-theme.noarch 2:9.4-1 @virtualmin-universal
webalizer.x86_64 2.23_05-6.fc18 @virtualmin
webmin.noarch 1.890-1 @virtualmin-universal

As I told you only the /usr/libexec/webmin/virtual-server folder was empty


Yeah if the wbm-virtual-server package was missing/uninstalled, that could potentially cause that folder to be empty… the “webmin” package would be responsible for the parent directory.

However, that doesn’t appear to be the case, as that package is installed.

I’ll see if Joe has any thoughts on that.

Yeah we’re just not sure how something like that could occur from within Virtualmin, as it doesn’t modify files in that directory.

I know no one likes to experiment on their live server, but I’d be most curious if you are able to reproduce that sort of issue.

You’d of course want to backup your whole system first, but if you attempt to replicate the same conditions that you had before, can you reproduce the issue?

I tried with a normal account and nothing wrong happened. I’ll try to recreate the account that caused the issue. It was 26GB big with a lot of imap folders.

Now my resellers are having a problem with Virtualmin. They’re getting the following error:

Error - Perl execution failed
Undefined subroutine &virtual_server::get_reseller_domains called at /usr/libexec/webmin/virtual-server/virtual-server-lib-funcs.pl line 7014.

Okay, keep us informed regarding the initial issue you had been seeing.

Let’s try to keep things to one topic at a time though.

Actually, do you think you could open that second issue as a support request, using the Support link above? We monitor the support tracker more closely, we’ll be able to provide you with better support there. Thanks!



I was able to reproduce the issue. I created a new e-mail account and restored its contents from a .pst backup. It was an imap account with like 15GB and more than 100 folders. I opened the Virtualmin control panel with Mozilla Firefox, and went to the user account to delete it. Then I clicked on the Delete Now button in the confirmation window and closed the browser before de process had ended. I opened the browser again and, as before, the Virtualmin tab had disappeared. When I checked /usr/libexec/webmin/virtual-server it was completely empty. And I also think other files are deleted somewhere in webmin folder because if I only restore the virtual-server folder a perl error happens and our resellers can’t see their assigned virtual servers.