Bare bones Virtualmin Install on VPS - No LAMP, LEMP or any other optional features

The minimal install and manual install options appear to install things we don’t want to install on the Debian VPS host. All the services (e.g.LAMP, etc.) are managed in containers. The only host requirement is postfix relay on the host, docker and essential services (e.g. firewall).

Which of these options is recommended to acheive that goal:

Option 1: Install Webmin/Usermin then add in Virtualmin module to manage all the virtual hosts and install LetsEncrypt ssl, etc.

Option 2: Install Virtualmin from the install script and then disable and remove all the extra bits not needed.

Option 3: Customise the installation script to remove things before running it.

Option 4: Another approach (please explain).

Many thanks, Jineu

1 Like

The other approach:

# /bin/sh install.sh --setup
# apt-get update
# apt-get install whatever system packages you want
# apt-get install whatever virtualmin packages you want
# virtualmin config-system --include Postfix <and optionally other plugins>

You’ll still need to do quite a bit of configuration in Virtualmin to make it stop assuming everything is local. You’ll definitely need at least a few other virtualmin config plugins included. Look at what normally gets run during virtualmin-config stage during install here: Virtualmin-Config/MiniLAMP.pm at f32a09787893a0cb4d2cbf42b93604dda5cce7b6 · virtualmin/Virtualmin-Config · GitHub

But, how the heck do you expect Virtualmin to manage Let’s Encrypt without a web server? (It probably can’t. DNS validation might be usable, but only if you’re locally hosting your DNS, which seems unlikely to be what you want.)

1 Like

Many thanks for the detailed reply and link. We appreciate it. The web server and LAMP stack are coming from a docker container for http and https. The configuration works fine as it is using webmin. The reason for wanting to add in Virtualmin is to ease the virtual host and certificate management burden. Virtualmin looks like it does that really well. What we don’t want to do it make hosting more complicated or risky. So we will pause and do more reading! What would help is any list of REQUIRED (gotta’ be there) items for the minimal install if we go with the option of Apache on the host.

I don’t really have any docs to point you to, as it’s not really something that comes up, and not something we designed for (though running docker containers for applications is perfectly reasonable in a Virtualmin environment, but Virtualmin is still managing the frontend web server and optionally adding the proxy rules to them). Without a web server Virtualmin is probably not even the right tool…Virtualmin considers the web server its primary function and everything is built around setting up Apache (or nginx) virtual hosts.

Thanks, again for taking time to respond. The code link showed us what exactly was getting loaded - so that was really helpful. Short-term solution is to go with what we have working. We will study and test the Virtualmin option more. Will write back here with anything that can add to the community. One thing that may be of interest is the basic philosophy (the “why”). We want to limit the VPS OS installs outside of docker to the absolute bare minimum. It’s a “nice-to” not “need-to” at this point - but may be helpful in feature planning.

At some point in the future, there probably will be a container-management mode for Virtualmin, where all services are virtualized (in one way or another, e.g. DNS in the cloud, mail in a container, apps in a container, a load balancer web server in a container that proxies to all of the apps, etc.). But, that’s so far out as to not be anything I can put any kind of estimate on. Apps will come first (with web server still in the “main” Virtualmin system, proxying to the apps).

For now, you pretty much have to have a local web server that hosts the domains, if you want to use any of Virtualmin’s web management features (especially things like Let’s Encrypt).

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.