Virtualmin Pro Pre-Sales Questions

SYSTEM INFORMATION
OS type and version Debian 11
Webmin version 2.652
Virtualmin version 8.1.0 GPL
Webserver version Apache/2.4.67 (Debian)
Related packages SUGGESTED

Additional Info:
Real Memory = 64GB
Processor Information = Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz, 12 cores

These questions are for a currently live Virtualmin server with the specs listed above.

We currently run 10-12 Wordpress websites on the same number of domains. We are considering switching all the Wordpress websites to Ghost (https://ghost.org/). We spun up a separate (non Virtualmin) server as a test and like what we’ve seen so far.

However, the setup was a bit of a PIA. Some of that was probably due to no experiance setting up Ghost, but getting it running the correct Node.js and other prerequisites so that they played nice was not fun.

I read somewhere that the Ghost install script is included with a Virtualmin Pro subscription, although I was unable to find the Virtualmin Pro listing on the Virtualmin website.

Here are my questions:

  1. Is there a Ghost install script included with Virtualmin Pro?
  2. Ghost recommends that each Ghost instance have it’s own Node.js preferred instead of a global Node.js install. How does the Virtualmin Pro Ghost install script handle the Node.js setup?
  3. This (GPL) Virtualmin server has nearly zero budget so a annual or even a monthly Virtualmin Pro cost is not an option, however if we could purchase a month of Virtualmin Pro - setup all the Ghost instances we need - and then revert back to Virtualmin GPL would be something we could manage.

Thanks for any comments.
John

Hi John,

Yes, Ghost is included with Virtualmin Pro. The installer downloads a compatible Node.js version separately for each Ghost installation, so it does not rely on one global Node.js setup.

You can technically subscribe for one month, install the sites, cancel, and then run downgrade, and even though the Ghost sites will keep running, Virtualmin will no longer provide Pro-only installation or upgrade support. Also since you have 10–12 domains, you’ll need a license covering more than 10 domains.

Also, keep in mind that the upcoming Virtualmin Pro release will include the new Virtualmin Podman module, including a Ghost recipe. That will provide another convenient option with Ghost and its dependencies isolated in containers.

Your server hardware should be more than sufficient for 10–12 typical Ghost sites.

Isn’t Ghost a paid for product ?

I believe Ghost Pro is paid but self hosting is still free

Hi Illia,

Thank you for your reply.

When you say domains do sub-domains count?

Example:
Does sub1.domain.com, sub2.domain.com and sub3.domain.com count as 1 or 3 domains?

Here are the counts on the Virtualmin (GPL) server in question:

There is an free version, which is what I installed and tested on a seperate, non-Virtualmin, server:

Yes, top-level domains and sub-domains count, aliases not.

OK, I purchased the 50 subscription.

During the serial number and license key setup - which ran for about 10 minutes - I received these errors:

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  at libfl2
Recommended packages:
  libnet-libidn2-perl
The following NEW packages will be installed:
  at libfl2 webmin-virtualmin-support webmin-virtualmin-wp-workbench
The following packages will be DOWNGRADED:
  webmin-virtual-server
0 upgraded, 4 newly installed, 1 downgraded, 0 to remove and 9 not upgraded.
Need to get 5148 kB of archives.
After this operation, 326 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 libfl2 amd64 2.6.4-8 [103 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 at amd64 3.1.23-1.1 [49.9 kB]
Get:3 https://download.virtualmin.com virtualmin/main amd64 webmin-virtual-server all 8.1.0-1-pro [4686 kB]
Get:4 https://download.virtualmin.com virtualmin/main amd64 webmin-virtualmin-support all 4.3.0-2 [39.1 kB]
Get:5 https://download.virtualmin.com virtualmin/main amd64 webmin-virtualmin-wp-workbench all 2.1.4-1 [271 kB]
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin: 
Fetched 5148 kB in 6s (935 kB/s)
dpkg-deb: error: archive '/var/cache/apt/archives/webmin-virtual-server_8.1.0-1-pro_all.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive /var/cache/apt/archives/webmin-virtual-server_8.1.0-1-pro_all.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
dpkg-deb: error: archive '/var/cache/apt/archives/webmin-virtualmin-support_4.3.0-2_all.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive /var/cache/apt/archives/webmin-virtualmin-support_4.3.0-2_all.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
dpkg-deb: error: archive '/var/cache/apt/archives/webmin-virtualmin-wp-workbench_2.1.4-1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive /var/cache/apt/archives/webmin-virtualmin-wp-workbench_2.1.4-1_all.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
Selecting previously unselected package libfl2:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 149728 files and directories currently installed.)
Preparing to unpack .../libfl2_2.6.4-8_amd64.deb ...
Unpacking libfl2:amd64 (2.6.4-8) ...
Selecting previously unselected package at.
Preparing to unpack .../at_3.1.23-1.1_amd64.deb ...
Unpacking at (3.1.23-1.1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/webmin-virtual-server_8.1.0-1-pro_all.deb
 /var/cache/apt/archives/webmin-virtualmin-support_4.3.0-2_all.deb
 /var/cache/apt/archives/webmin-virtualmin-wp-workbench_2.1.4-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Also (red bar under termil install window):

Error!  Some errors occurred while upgrading your system to Virtualmin Pro. Please check the messages above for possible causes.

What, if anything, do I need to do now?

Your Debian 11’s dpkg is too old to read the new Virtualmin packages. They’re compressed with zstd, and dpkg only learned zstd in Debian 12. So dpkg sees “unknown compression” and gives up.

You should upgrade to Debian 12, as bullseye’s security support ends this month.

OK, Upgrading now. I presume I will need to do the license key and serial number setup again? Or is there some other step to continue the failed installation?

Getting this:

Get:1083 http://deb.debian.org/debian bookworm/main amd64 zstd amd64 1.5.4+dfsg2-5 [701 kB]                           
Fetched 522 MB in 2min 47s (3,125 kB/s)                                                                               
[master 2d01f21e9] saving uncommitted changes in /etc prior to apt run
 5 files changed, 45 insertions(+), 9 deletions(-)
 create mode 100644 webmin/authentic-theme/manifest-webmin.json.webmintmp.238001.0
dpkg-deb: error: archive '/var/cache/apt/archives/usermin_2.552_all.deb' uses unknown compression for member 'control.tar.zst', giving up
Traceback (most recent call last):
  File "/usr/share/apt-listchanges/DebianFiles.py", line 124, in readdeb
    output = subprocess.check_output(command)
  File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['dpkg-deb', '-f', '/var/cache/apt/archives/usermin_2.552_all.deb', 'Package', 'Source', 'Version', 'Architecture', 'Status']' returned non-zero exit status 2.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 323, in <module>
    main(config)
  File "/usr/bin/apt-listchanges", line 104, in main
    pkg = DebianFiles.Package(deb)
  File "/usr/share/apt-listchanges/DebianFiles.py", line 358, in __init__
    parser.readdeb(self.path)
  File "/usr/share/apt-listchanges/DebianFiles.py", line 127, in readdeb
    raise RuntimeError(_("Error processing '%(what)s': %(errmsg)s") %
RuntimeError: Error processing '/var/cache/apt/archives/usermin_2.552_all.deb': Command '['dpkg-deb', '-f', '/var/cache/apt/archives/usermin_2.552_all.deb', 'Package', 'Source', 'Version', 'Architecture', 'Status']' returned non-zero exit status 2.

No need to re-configure repos. All you should run is:

apt-get clean && apt-get update && apt-get upgrade -y