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:
Is there a Ghost install script included with Virtualmin Pro?
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?
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.
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.
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?
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.