Renaming Virtual Servers and Sub-Servers

Howdy all,

We are, once again, considering renaming Virtual Servers and Sub-Servers in Virtualmin, due to the confusion the names cause, especially for new users (but alarmingly, I’ve noticed a lot of users who’ve been around for a long time who believe Sub-servers are for subdomains, and even use the two terms interchangeably!). The confusion seems to have ramped up significantly in the past couple years, as our user base has grown. A lot of cPanel and Plesk users have migrated due to higher costs and more awareness that the Virtualmin UI and ease of use is better than ever.

The problem is, it’s not clear what the right names are.

My understanding (admittedly limited) of the leading competition looks like:

cPanel - Has Domains (a “Main Domain”), which are roughly akin to Virtual Servers in Virtualmin. It also has “Add-on Domains” which are roughly akin to Sub-servers in Virtualmin. It used to have (and seems to have recently removed, thankfully), “Subdomains” which are an abomination that’s closer to an alias than a new full-featured domain…the web content goes in a subdirectory of the Main Domain web content directory. I find all of this terminology confusing and easily mixed up with DNS terminology. But, it seems like a lot of people are more comfortable with it than what we use.

Plesk - Has Customers, which are user accounts that can create websites. It also has Domains, Subdomains, and Aliases. This is not really compatible with Virtualmin’s user model as it stands, though it can work with a little hackery (or with re-using Reseller Accounts from Pro). I believe both “Domains” and “Subdomains” in the Plesk case are akin to “Sub-servers” in Virtualmin or “Add-on Domains” in cPanel, I don’t think Plesk “Subdomains” are like the cPanel subdomain disaster, though I think they’re limited to a subdomain name of an existing Domain (which feels arbitrary and weird, because names are names), but a lot of people seem to want to think of subdomain names as special, so maybe they are on to something. I don’t think there is such a thing as a “Main Domain” or “Parent Virtual Server” as there is in cPanel or Virtualmin. There’s a user and they have websites which can be domains or subdomains or aliases of those other two types.

I welcome corrections about my understanding of either of these other control panels and the terminology they use. I haven’t looked at either in many years, I only know what I’ve inferred from how people assumed Virtualmin works when they come from those control panels.

Plesk is the most popular control panel, now, and cPanel is a close second. I don’t think we need to care about any other control panels, as most of them copied cPanel or Plesk (and they’re a lot less popular, and probably less popular than Virtualmin).

So…what would reduce your confusion? I’m especially interested in what people coming from other control panels think, as we’re only maybe the third most popular control panel and we’re miles behind the cPanel+Plesk userbase (I don’t think there are any others with a bigger userbase than Virtualmin, but I might be wrong, market data has always been fuzzy and I don’t have access to any of the commercial sources for that data and haven’t for years…I just don’t care about market penetration the way I did when Virtualmin was my only source of income, now I mostly just care about making great software that I’d want to use and hope that results in enough sales to pay for people to work on it).

I think I prefer the Plesk user model (even over the Virtualmin user model, though Virtualmin Pro has something similar with Reseller accounts), but I don’t know that we can reasonably go to that model in a way that would be safe for people to upgrade to without some sort of migration step. I might have a poke around Plesk to see how they actually implement domains and subdomains (and make sure my guesses about how domains and subdomains work is true).

So, what should we do about the naming problem? Should we rename Virtual Servers to Domains and Sub-servers to Add-on Domains or Extra Domains? Should we bite the bullet and try to re-factor to have Customers or Accounts, and then those accounts create Domains and Aliases (and maybe Subdomains, even though it kills me to treat subdomains as though they are anything other than a name)?

@Joe,

How about “Add Domain”…

*** Whereby you cannot add an “additional domain” without first having a “primary domain” ***

1 Like

All my admin experience has been with Virtualmin so I’m not your target but if you don’t change dramatically from what you already use you won’t confuse/put off the long time Virtualmin users. To me your software is based on trying to be accurate, functional and helpful for both new users and experienced users.

It might be as simple as to use:

Virtual Server
Virtual Sub-Server

I kind of like:

Virtual Server
Virtual Child Server
or
Child Server

These terms are pretty accurate to what they are.

I think the Sub-Server-subdomain debacle comes from both terms sounding even looking so alike along with the way cPannel has used the word subdomain.

I think of the words domain and subdomain as coming from a registrar and being hosted on a Server, Virtual Server or Virtual Child server.

I only used Plesk before I made the move to *min and never looked back. I admit I was irritated when I opened the interface for the first time and couldn’t find an option to create a “sub domain”. But it wasn’t rocket science to understand and adapt eventually. The way the panel looks like and uses its terminology is way closer to my understanding than Plesk ever was.

Rather than changing the interface (terminology) I would prefer a comprehensive documentation on the subject matter to allow first-time users a head-start.

From your post it isn’t fully clear to me if you “only” want to change the terminology or revamp the interface too. I reckon the former would be accepted by the majority of the current user-base while the latter could spark an outcry.

However, I trust you and your team to make the right, educated decision where *min should be headed to make it fit for both, new and established users.

My concern is how many people couldn’t find “sub domain” and decided “Sub-server” was the same thing as “Subdomain” in either cPanel or Plesk (which are different from each other, too).

We have comprehensive documentation on the subject! We have for years!

It doesn’t help!

It’s not clear to me, either. Simplest is to just change the names of “Virtual Server” and “Sub-server” to confuse fewer people (hopefully).

Changing the user model to separate users from domains would be a bigger change (somewhat closer to the way Plesk thinks about users and domains). Which is not trivial and maybe not even possible.

Then it seems like a lot of people want to pair up subdomains with Sub-Servers. Maybe this happens because web apps instructions want the app to run in a directory inside of public-html and new users or converts don’t already know how to serve up that directory with the domain or subdomain in virtualmin. Figuring out where everything is in Virtualmin is a bit challenging and takes a while. Sort of the nature of the beast because of everything Virtualmin can do.

I’m fully aware of the documentation and don’t have an issue with the way you described it. However, you thinking out loud and jotting down your considerations might be an indication that either people don’t read the documentation or don’t get the gist.

Why not starting with a dedicated section on that very doc page for Plesk/cPanel switchers? Something along the lines of “Why you won’t find subdomains in Virtualmin”… Boldly formulated and attention-grabbing. :wink: Rather than revamping the panel, maybe some lines of additional documentation might do the job.

1 Like

We’ve always had some docs about “Virtualmin for cPanel users”, as well.

We had this for years: Virtualmin for cPanel Users | Virtualmin

But, it’s kind of out of date, and it could probably do a better job differentiating cPanel-style “subdomains” and “Sub-servers” in Virtualmin and recognizing the changes in how Virtualmin is being used. (Since most Virtualmin admins are not selling hosting and are managing their own websites, it basically never makes sense to use sub-servers for those users, but people want to use Sub-servers for subdomain-named sites, but it’s not necessary or useful to do so if you own the server, as “Subservers” are about ownership not names.)

The new FAQ has a bit of coverage, but I don’t think it’s really comprehensive or up to date, either. FAQ | Virtualmin — Open Source Web Hosting Control Panel

I continue to be angry that cPanel and Plesk have taught people a subdomain is anything other than a name.

1 Like

Maybe add or subdomain for clarity for those that do read it. I think things that you know get skipped or misunderstood can be overstated even redundant.

Understanding top-level virtual servers
A top-level virtual server often referred to as just a virtual server, is the foundational account in Virtualmin. It includes a website, email, and FTP access, all associated with its own unique domain name or subdomain name. Crucially, each top-level virtual server operates under a dedicated Unix user, distinguishing it from sub-servers and aliases. The virtual server owner, who administers this server, can create additional email addresses, FTP accounts, and websites, subject to the limits set by the master administrator or reseller.

I stand corrected. Wasn’t aware of this page. Update and integrate it into the current documentation. Job done.

I am the target audience of this thread as I have come from cPanel. It must be said cPanel do some good things and have a good UI. I have never used Plesk.

While I read and contemplate @Joe thoughts above here are some links for online demos:

1 Like

Not ever having the dis-advantage of using either Plesk or cPanel I have to agree the terminology being used (often) is just confusing.

Domains I think I understand (come from registrars) so a domain is a VS.

Sub-domains can be domains or even aliases like a mydomain.com and a mydomain.ru both owned by the same individual/company but have distinctly different content/purpose but may just redirect. to the same content. not necessarily just a language thing.

It is good to see it is receiving some rethink.

For me the most important thing is clarity / documentation and easy conversion between options. (I recognise that is probably more work - and requires serious thought)

Cpanel has simplified this for a while now, I see no sub-domain anymore, just domains.

1 Like

“Create Virtual Server” in Virtualmin is a core feature. If we need documentation for this, something is definitely off.

We could get away with using the term “domain,” mainly because people expect it. I did too, decades ago, largely because that’s the terminology cPanel uses. But technically speaking, this term is just as ambiguous and even somewhat incorrect to use. cPanel has a button labeled “Create a New Domain”—does that mean it will automatically register the domain for me?

It’s not their fault. The entire area is a massive trap—both in terms of terminology and technical aspects. I don’t think there’s any way to fix it by simply naming it differently.

The only confusion for me with the term “virtual server” is its overlap with “virtual private server” terminology. It’s not a “virtual machine”, but unfortunately, the term “virtual private server” might lead people to think “virtual server” is similar.

I believe we could stick with the “virtual server” terminology, but we must improve the “Create Virtual Server” page to eliminate any potential confusion.

That said, I think, the current row of buttons, i.e.:

…should be replaced with an accordion layout, featuring clear explanations for each option right there, without expectations to rely on external documentation.

As part of this change to make it clearer, we should also consider adding a new select or a toggle to clarify how a new virtual server is created—either under an existing Unix user or a new one. Currently, the terms “top-level server” and “sub-server” are used, but this can be confusing. Most probably renaming them to “top-level virtual server” and “sub-level virtual server” would be better.


If the top section of the page explicitly explains these choices—using clear descriptions instead of relying on tooltips—it would make the process easier to understand for new users and reduce confusion.

Again, I don’t think the term “domain” is technically more accurate. Renaming it simply to match new user expectations, while technically incorrect, doesn’t seem appealing. In my view, we should focus on enhancing clarity directly on the “Create Virtual Server” page, as new users come expecting to learn anyway.

Lastly, renaming “Create Virtual Server” could be another area for improvement. Calling it “Create New Account” might be even better, align with “Account Plans” terminology too, and it would encompass everything the process involves, including features like aliases, which technically speaking are not virtual servers.

Maybe (but I believe that to be a high hope) It is easy to forget that new and probably old hands come with a load of baggage (some might be self-taught but also well indoctrinated learned experience)

Create Domain Server would make most sense to me rather than Create Virtual Server, then Additional Server, or Related Server for eg different TLD.

1 Like

I think this is the best idea, for the following reasons:
you could do away with top level servers & sub servers (terminology) and just list the virtual servers underneath the user (account) that owns them, how they are administered by virtualmin is irrelevant, in fact you could just place all virtual servers in the domains directory and do away with the ‘top level’ public_html directory at least everything is in the same place. Over a period of time one thing that seems to crop up from domain owners is they expect a (dare I say it) a sub domain to be a directory below public_html e.g foo.webmin.tld’s data should be in home/webmin/public_html/foo but I prefer sub domains in the current way of doing things (in the domain directory) but it does take some convincing with some domain owners that this is good practice.

I hope I’m not too late for the party.

Here are my thoughts:

  • Trying to keep the current system structure and terms in order to avoid migrations and other headaches will only delay the change until a future when more users are using Virtualmin, and migration will be even much harder. If you know a change must be done, better do it sooner than later.
    • Do not confuse things or try to merge them together. Currently a User Account is the same as a Virtual Server, which is also linked to serving a domain name.
    • Solving this confusion is the first step. Call each thing by its name:
      • An account on the system is what is used to log in.
      • A domain is what is globally known as a name plus a TLD (e.g. example.net).
      • A DNS name is a domain name or a subdomain name (e.g. example.net, webmail.example.net).
      • A Virtual Server is a webserver’s configuration set. Usually it is linked to a single DNS name, but also aliases can be specified in a list. An alias can be any DNS name, given that the Account is allowed to use that domain.
  • In order to restrict accounts to using specific DNS domains, a text field under the “account” can have the allowed domains listed. This helps with preventing a user from using the domain (or subdomain) of another user on the same system.
  • There are settings that are generic and are linked to the Account. Then to each Virtual Server its own configuration pages.
  • Virtual Servers should get listed directly under the Account, and on one level (no tree is needed). A Virtual Server can be referred to by its main DNS name. Any aliases are listed alongside in the same record.
    • If desired, aliases can also be listed along with (or next to) the Virtual Servers to make visual searching for a specific DNS name easier, but they ultimately lead to the same main Virtual Server page.

I hope you will find these notes/ideas inspiring.

1 Like