6.2.0 and virtualmin-config 6.0.28 released

Howdy all,

I’ve just rolled out version 6.2.0 of the install script and 6.0.28 of virtualmin-config. These provide the bulk of the installation and initial configuration.

Changes since 6.1.1 and 6.0.27:

  • Ubuntu 20.04 beta (that means it’s probably buggy, don’t try to use it without your own testing for your needs)
  • Better CentOS 8 support (might even be nice now)

Primarily this release is to probably add beta support for Ubuntu 20.04 and to fix a couple of bugs with CentOS 8 installations. Ubuntu 20.04 support is extremely lightly tested and should not be considered ready for production use without extensive testing of your own before putting the system into use. CentOS 8 is probably getting pretty good and is probably the right choice if you like CentOS and don’t need CGI or fcgi execution modes (we only support FPM and proxied app servers on this distro/version because we don’t replace the Apache packages, and so suexec does not work in `/home).

It’s probably got a couple of other minor bugfixes and improvements. They’ll both get a bit of a bigger refactor for Virtualmin 7 in a couple of weeks.

Edit: Apparently something went wrong with virtualmin-config in the Ubuntu repos…so, it’s showing up yet. I’m working on it. it will not work until I fix it.



Thanks a lot @Joe
Tomorrow I will give it a try :slight_smile:

1 Like


Today’s morning was installing a new server on Centos8 and always fail in phase 2, step “Installing dependencies and system packages”

Error in PREIN scriptlet in rpm package wbm-virtualmin-awstats
Error in PREIN scriptlet in rpm package wbm-virtualmin-nginx-ssl

Does anyone having the same issue?

Ty @Joe and all team

HI, why do you drop fcgi support?


Because rebuilding Apache every time it updates sucks and it makes users unhappy when I miss an update for a while. CentOS does not include a suexec-custom package (and we can’t add one without rebuilding Apache packages), so we’re dropping support for fcgi and CGI. FPM is better for PHP, anyway, and running app servers and proxying to it is the recommended modern way to run just about everything else (Ruby, Python, Perl, etc. applications), anyway.

Edit: note that nginx users have been doing it this way forever. It has never supported CGI. All apps run in proxied app servers. Seems to work well for them.

1 Like

The awstats error is probably due to failure to install awstats. Something went wrong in the CentOS 8 repos making awstats uninstallable for a while…not sure if that’s still the case, I haven’t tested in a few days. Is awstats package installed?

I don’t know about nginx-ssl error, I haven’t seen that one. I’ll try to do some more testing soon, or maybe Ilia will have time to look into it.

Hi Joe,
thx…and thx for explaining. Am not at your technical level, just can say that I don’t see us switching to FPM, it always reliably crashes wordpress websites one after the other, comes with imo huge menory issues.
Ok, will stick to centos 7 then as long as possible.
Thx for your time and work!!!

Same here, except the nginx-ssl message, only the awstatus message.

New centos 8 minimal install with dnf upgrade, then:

[root@sv07 ~]# wget
–2020-07-14 17:07:43--
Resolving (…
Connecting to (||:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 32168 (31K) [application/x-sh]
Saving to: ‘’ 100%[===============================================>] 31.41K --.-KB/s in 0.04s

2020-07-14 17:07:44 (757 KB/s) - ‘’ saved [32168/32168]

[root@sv07 ~]# /bin/sh
Perl was not found on your system - Virtualmin requires it to run.
Attempting to install it now.
2020-07-14 17:08:07 URL: [22148/22148] -> “” [1]

Welcome to the Virtualmin GPL installer, version 6.2.0

This script must be run on a freshly installed supported OS. It does not
perform updates or upgrades (use your system package manager) or license
changes (use the “virtualmin change-license” command).

The systems currently supported by are:

CentOS/RHEL Linux 6, 7, and 8 on x86_64
Debian 8, 9, and 10 on i386 and amd64
Ubuntu 16.04 LTS, 18.04 LTS, and 20.04 LTS on i386 and amd64

If your OS/version/arch is not listed, installation will fail. More
details about the systems supported by the script can be found here:

The selected package bundle is LAMP and the size of install is
full. It will require up to 650 MB of disk space.

Exit and re-run this script with --help flag to see available options.

Continue? (y/n) y
[INFO] Started installation log in /root/virtualmin-install.log

▣□□ Phase 1 of 3: Setup
Downloading virtualmin-release-latest.noarch.rpm [ :heavy_check_mark: ]
Installing virtualmin-release package [ :heavy_check_mark: ]

▣▣□ Phase 2 of 3: Installation
Installing EPEL release package [ :heavy_check_mark: ]
Enabling PowerTools package repository [ :heavy_check_mark: ]
Installing dependencies and system packages [ERROR] Failed with error: 1
[ ✘ ]

[ERROR] Something went wrong. Exiting.
[ERROR] The last few log entries were:
warning: /var/cache/dnf/epel-6519ee669354a484/packages/GeoIP-1.6.12-7.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Importing GPG key 0x2F86D6A1:
Userid : “Fedora EPEL (8)
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
warning: /var/cache/dnf/virtualmin-55ce78dff24b1c06/packages/jailkit-2.21-1.el8.vm.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 60d62a6b: NOKEY
Importing GPG key 0x60D62A6B:
Userid : “Virtualmin, Inc. (Package signing key for Virtualmin 6)
Fingerprint: E36F 0664 7D8E BD2B E364 2BCE D9F9 0107 60D6 2A6B
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin-6
Error in PREIN scriptlet in rpm package wbm-virtualmin-awstats
Error: Transaction failed
Installing dependencies and system packages: [2020-07-14 17:45:05 CEST] [ERROR] Failed with error: 1


Tested right now.
Happens in Centos8 and Centos7.


thanks for the awesome job! Im running a clean installation of Ubuntu 20.04, LAMP + Webmin 1.953 already installed and uptodate. I just try the installation and get stuck in nginx:

Removing nginx (if installed) before LAMP installation.                 ▒▒▒▒▒▒▒

Just happens two times.

root@vmi411576:~# apt list -a nginx
Listing… Done
nginx/focal-updates,focal-updates 1.18.0-0ubuntu1 all
nginx/focal,focal 1.17.10-0ubuntu1 all

You can download the log file from my website:

You have some crud already installed and it’s causing it to ask questions when it tries to uninstall things. Start with a freshly installed OS, as the docs recommend…don’t install extra packages.

You may be able to make it work by uninstalling phpmyadmin before running, but I do not have high confidence of that. If you have phpmyadmin installed, you also have a bunch of other crap installed as it has a big dependency list, and it will very likely conflict when we install our metapackage.

Tried to install in a fresh CentOS 8.2.2004. Failed. Attaching log .

Checking for Perl…found Perl at /bin/perl
Checking for HTTP client…found /usr/bin/wget -nv
[2020-07-14 17:03:59 UTC] [DEBUG] Memory is greater than 1572 MB, which should be sufficient.
[2020-07-14 17:03:59 UTC] [INFO] Started installation log in /root/virtualmin-install.log
[2020-07-14 17:03:59 UTC] [DEBUG] Phase 1 of 3: Setup
[2020-07-14 17:03:59 UTC] [DEBUG] Install mode: full
[2020-07-14 17:03:59 UTC] [DEBUG] Product: Virtualmin GPL
[2020-07-14 17:03:59 UTC] [DEBUG] version: 6.2.0
[2020-07-14 17:03:59 UTC] [DEBUG] Checking for fully qualified hostname…
[2020-07-14 17:03:59 UTC] [DEBUG] Hostname OK: fully qualified as
[2020-07-14 17:03:59 UTC] [DEBUG] Installing serial number and license key into /etc/virtualmin-license
[2020-07-14 17:03:59 UTC] [DEBUG] Operating system name: CentOS
[2020-07-14 17:03:59 UTC] [DEBUG] Operating system version: 8.2.2004
[2020-07-14 17:03:59 UTC] [DEBUG] Operating system type: centos
[2020-07-14 17:03:59 UTC] [DEBUG] Operating system major: 8
[2020-07-14 17:03:59 UTC] [DEBUG] Configuring package manager for CentOS 8.2.2004…
[2020-07-14 17:03:59 UTC] [DEBUG] Disabling SELinux during installation…
[2020-07-14 17:03:59 UTC] [DEBUG] setenforce 0 succeeded
Spin pid is: 2181
2020-07-14 17:04:00 URL: [14112/14112] -> “virtualmin-release-latest.noarch.rpm” [1]
Downloading virtualmin-release-latest.noarch.rpm: Success.
Spin pid is: 2224
warning: virtualmin-release-latest.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 60d62a6b: NOKEY
error: can’t create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-webmin: key 1 import failed.
error: can’t create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin: key 1 import failed.
error: can’t create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin-6: key 1 import failed.
Installing virtualmin-release package: Success.
[2020-07-14 17:04:01 UTC] [DEBUG] Phase 2 of 3: Installation
Spin pid is: 2264
RHEL/CentOS 8 - x86_64 - Virtualmin 9.2 kB/s | 17 kB 00:01
Virtualmin Distribution Neutral Packages 206 kB/s | 532 kB 00:02
Package epel-release-8-8.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Installing EPEL release package: Success.
Spin pid is: 2462
Enabling PowerTools package repository: Success.
Spin pid is: 2494
warning: /var/cache/dnf/virtualmin-55ce78dff24b1c06/packages/jailkit-2.21-1.el8.vm.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 60d62a6b: NOKEY
Importing GPG key 0x60D62A6B:
Userid : “Virtualmin, Inc. (Package signing key for Virtualmin 6)
Fingerprint: E36F 0664 7D8E BD2B E364 2BCE D9F9 0107 60D6 2A6B
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin-6
Error in PREIN scriptlet in rpm package wbm-virtualmin-awstats
Error: Transaction failed
Installing dependencies and system packages: [2020-07-14 17:07:47 UTC] [ERROR] Failed with error: 1
[2020-07-14 17:07:47 UTC] [ERROR] Something went wrong. Exiting.
[2020-07-14 17:07:47 UTC] [ERROR] The last few log entries were:

That was Contabo, the server come with Ubuntu + LAMP, but they add phpmyadmin… I plan use that server with CPanel, but I want to test Webmin + VM because I read a lot of good things about it.

I uninstall phpmyadmin and the installation go well but show me this error:

Installing Virtualmin and plugins                                       [  ✔  ]

14 Jul 12:46:18 ntpdate[461536]: adjust time server offset -0.002473 sec
Installing updates to Virtualmin-related packages [ :heavy_check_mark: ]

▣▣▣ Phase 3 of 3: Configuration
Can’t locate Virtualmin/ in @INC (you may need to install the Virtualmin::Config module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/bin/virtualmin-config-system line 9.
BEGIN failed–compilation aborted at /usr/bin/virtualmin-config-system line 9.
▣▣▣ Cleaning up

[WARNING] The following errors occurred during installation:

◉ Postinstall configuration returned an error.

Something you need to fix? Let me know… and now I cant connect to the already installed Webmin using web browser.

Hi, I installed Ubuntu 20.04 server from official ISO (ubuntu-20.04-live-server-amd64.iso) on bare metal. Only added SSH during installation.

When installing Virtualmin from, I get this error:

Installing updates to Virtualmin-related packages                       [  ✔  ]

▣▣▣ Phase 3 of 3: Configuration
Can't locate Virtualmin/ in @INC (you may need to install the Virtualmin::Config module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/bin/virtualmin-config-system line 9.
BEGIN failed--compilation aborted at /usr/bin/virtualmin-config-system line 9.
▣▣▣ Cleaning up

[WARNING] The following errors occurred during installation:

  ◉ Postinstall configuration returned an error.

I just reinstall the Ubuntu, clean installation now and I can confirm the error showed by @314TeR

Same error here!!

You also have some crud already installed. That’s not a system Perl provided by the OS. Start with a freshly installed OS. Do not install anything before installing Virtualmin.

Edit: Wait, maybe Ubuntu just adds these directories to the INC for some reason. Maybe for local CPAN installs. Seems weird. What’s the output of which perl ?

root@vmi411576:~# which perl

OK. What I don’t understand is why /usr/share/perl5/vendor_perl is not in your Perl path, by default. It should be, and it is on every Ubuntu system I have.

What’s the output of perl -V

It’ll be long, you can put it in a block by wrapping it in ``` above and below the copy-pasted text.

OK here is:

root@vmi411576:~# perl -V
Summary of my perl5 (revision 5 version 30 subversion 0) configuration:
    uname='linux localhost 4.19.0 #1 smp debian 4.19.0 x86_64 gnulinux '
    config_args='-Dmksymlinks -Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc -Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-hOEDTI/perl-5.30.0=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions -Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.30 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.30 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.30 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.30.0 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.30.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2 -g'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
    gccversion='9.2.1 20200304'
  Linker and Libraries:
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
  Dynamic Linking:
    lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'

Characteristics of this binary (from libperl): 
  Compile-time options:
  Locally applied patches:
    DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
    DEBPKG:debian/db_file_ver - Remove overly restrictive DB_File version check.
    DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
    DEBPKG:debian/enc2xs_inc - Tweak enc2xs to follow symlinks and ignore missing @INC directories.
    DEBPKG:debian/errno_ver - Remove Errno version check due to upgrade problems with long-running processes.
    DEBPKG:debian/libperl_embed_doc - Note that libperl-dev package is required for embedded linking
    DEBPKG:fixes/respect_umask - Respect umask during installation
    DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
    DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib
    DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
    DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
    DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
    DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
    DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
    DEBPKG:debian/perlivp - Make perlivp skip include directories in /usr/local
    DEBPKG:debian/squelch-locale-warnings - Squelch locale warnings in Debian package maintainer scripts
    DEBPKG:debian/patchlevel - List packaged patches for 5.30.0-9build1 in patchlevel.h
    DEBPKG:fixes/document_makemaker_ccflags - [ #68613] Document that CCFLAGS should include $Config{ccflags}
    DEBPKG:debian/find_html2text - Configure CPAN::Distribution with correct name of html2text
    DEBPKG:debian/perl5db-x-terminal-emulator.patch - Invoke x-terminal-emulator rather than xterm in
    DEBPKG:debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
    DEBPKG:fixes/memoize_storable_nstore - [ #77790] Memoize::Storable: respect 'nstore' option not respected
    DEBPKG:debian/makemaker-pasthru - Pass LD settings through to subdirectories
    DEBPKG:debian/makemaker-manext - Make EU::MakeMaker honour MANnEXT settings in generated manpage headers
    DEBPKG:debian/kfreebsd-softupdates - Work around Debian Bug#796798
    DEBPKG:fixes/autodie-scope - Fix a scoping issue with "no autodie" and the "system" sub
    DEBPKG:fixes/memoize-pod - [ #89441] Fix POD errors in Memoize
    DEBPKG:debian/hurd-softupdates - Fix t/op/stat.t failures on hurd
    DEBPKG:fixes/math_complex_doc_great_circle - [ #114104] Math::Trig: clarify definition of great_circle_midpoint
    DEBPKG:fixes/math_complex_doc_see_also - [ #114105] Math::Trig: add missing SEE ALSO
    DEBPKG:fixes/math_complex_doc_angle_units - [ #114106] Math::Trig: document angle units
    DEBPKG:fixes/cpan_web_link - CPAN: Add link to main CPAN web site
    DEBPKG:debian/hppa_op_optimize_workaround - Temporarily lower the optimization of op.c on hppa due to gcc-6 problems
    DEBPKG:debian/installman-utf8 - Generate man pages with UTF-8 characters
    DEBPKG:fixes/getopt-long-4 - [ #122068] Fix issue #122068.
    DEBPKG:debian/hppa_opmini_optimize_workaround - Lower the optimization level of opmini.c on hppa
    DEBPKG:debian/sh4_op_optimize_workaround - Also lower the optimization level of op.c and opmini.c on sh4
    DEBPKG:debian/perldoc-pager - [ #120229] Fix perldoc terminal escapes when sensible-pager is less
    DEBPKG:debian/prune_libs - Prune the list of libraries wanted to what we actually need.
    DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
    DEBPKG:debian/configure-regen - Regenerate Configure et al. after probe unit changes
    DEBPKG:debian/deprecate-with-apt - Point users to Debian packages of deprecated core modules
    DEBPKG:debian/disable-stack-check - [perl #133327] Disable debugperl stack extension checks for binary compatibility with perl
    DEBPKG:fixes/eumm-usrmerge - Avoid mangling /bin non-perl shebangs on merged-/usr systems
    DEBPKG:debian/perlbug-editor - Use "editor" as the default perlbug editor, as per Debian policy
    DEBPKG:fixes/gid-parsing - [79e302e] [perl #134169] (perl #134169) mg.c reset endptr after use
  Built under linux
  Compiled at Mar  6 2020 21:15:57

lol. That’s cPanel’s custom Perl (or some other custom Perl install). That is not a freshly installed OS.