The only essential setting is a name.
That depends on where you’re hosting your DNS. If you’ll be delegating authority for your zones to the Virtualmin server, Virtualmin will set everything up for you, except the glue records (which must be setup at your registrar). If you will not be hosting DNS locally, and instead using your registrar DNS servers or some other third party servers, you should disable the DNS Feature in Features and Plugins; Virtualmin will then give you a “Suggested DNS Records” page, which answers this question for you…you just copy/paste the records for the services you want to use.
Virtualmin also supports automatically managing DNS in some cloud DNS providers. GPL has Route 53 support, Pro adds Google and Cloudflare.
I think you should just try Virtualmin. You’re asking questions that are answered pretty quickly by just doing it. (You can generate a Let’s Encrypt certificate in a couple of clicks. There’s nothing to “install”.)
Virtualmin manages disk quotas, and can monitor bandwidth usage. CPU and memory are not trivially manageable. You could use something like cgroups, but that’s not in the Virtualmin UI. Virtualmin Pro has support for managing limits.conf
(limits.conf(5) - Linux manual page), but people often find that very unintuitive, so I don’t necessarily recommend it for new users. cgroups can do most of the things people want to do when they ask about “limiting” a user, but also somewhat complicated. https://www.redhat.com/sysadmin/cgroups-part-one (systemd makes it quite a bit easier to manage cgroups and applying them to users…one of the reasons we never added it was the complexity of managing them before systemd came along; it’s still complicated, but not unreasonably so)
But, most folks just don’t need to do that kind of micromanaging. If you have a user that’s abusing the system, kick them off or up-sell them to a bigger machine. We’ll probably add cgroups support at some point, though, especially since the heavy lifting is now done by systemd. All we have to do is manage config files.
You should spend time learning what security tools are in the default Virtualmin installation, and how to use them. Virtualmin sets up websites to run as the domain owner user, installs and configures firewalld, fail2ban, offers two-factor authentication, makes it easy to update your system, etc. Don’t go looking for new adventures before you even understand what’s already there.