You could compare against this fully functional example.
This is what I do at Godaddy (or the domain registrar I use) before I install Virtualmin:
- create vps.serverdomain.tld and point it to the IP address of the Virtualmin server
- create serverdomain.tld + www.serverdomain.tld and point it to the IP address of the Virtualmin server
- create ns1.serverdomain.tld and point it to the IP address of the Virtualmin server
- create ns2.serverdomain.tld and point it to the IP address of the Virtualmin server
- optionally create admin.serverdomain.tld, ftp.serverdomain.tld, mail.serverdomain.tld and point it to the IP address of the Virtualmin server
vps.serverdomain.tld is the hostname.
Then, after installing Virtualmin, at the post-installation Wizard, I enter ns1.serverdomain.tld and ns2.serverdomain.tld for the name servers.
All other options in the post-install wizard can be as per your preferences.
After I exit the post-install wizard, for all my clientdomain.tld, I point them to ns1,serverdomain.tld and ns2.serverdomain.tld and create a virtual server with everything set to default for each of the domains I want to host. That is all I have to do.
OMG! I don’t believe I have ever had to fiddle with those, when I follow the steps I have outlined above to install Virtualmin. I point the client’s domain to Virtualmin’s DNS - then I leave SOA and stuff to Virtualmin - that’s what it is there for, right?