Virtualmin UI is really really confusing...

I tried virtualmin couple times and everytime I try it I always turn off by how confusing the menu is. I thought this have changed after several years.
Lets be honest I tried every single control panel out there. This is the most confusing.
With other control panel its easy just to add a domain to your server. but with virtualmin that part is really confusing. You may notice I use ‘confusing’ word a lot. Because Thats what I feel. But my experience differs when using webmin. Its easy and powerful.

For starter, Please change your wording. For a newbie they dont understand what is ‘virtual server’. All control panel i tried never used that word, They use ‘add domain’ and add ‘subdomain’

Then the most confusing part, I can’t add domain under 1 user only. whenever I create a domain virtualmin also create new user for that domain. So if I have 100 domains I will also have 100 users? There are no other control panel setup this way!

Same with database. Why We can’t create database under one user? All control panel that I know can create database under one user and every domain can use database using that single username.

I bet virtualmin will never get as big as cpanel if you never make your UI simpler. You will just attract small percentage of users. Please use more friendly menu name instead of using ‘server’ jargon.


Note that it’s no problem to add a domain within an existing user account.

A top-level Virtual Server would indeed need to create a user associated with it, but you can add a Sub-Server to it with no problem – and that existing user can manage both the main domain and the newly created domain.

To do that, go into Create Virtual Server, then select Sub-Server. A Sub-Server isn’t a sub-domain, it just means that it’s a domain within an existing account.

You can also create any number of databases, all managed by the same user – to do that, go into Edit Databases and select “Create new database”.


I must agree with @cotumakec on some points.

The UI and terminology used are definitely confusing.

I just discovered and started testing virtualmin ( as alternative to WHM ) a few days ago and even if I am into hosting for almost 15 years - I felt like a NOOB and it took me almost two days ( and 5 new installs ) to only understand what’s where and why.
with other systems it usually takes me 15min.I almost abandoned the idea after installing and deleting the instance 2 times.
My most experienced employee had the same feeling.

Now I am glad I insisted and did not fall back - Overall it looks really great - but the UX is indeed something to take into consideration.

I too must agree with cotumakec, very non-intuitive for adding domains. Have been adding and removing domains and subdomains for years in other environments and here it is confusing.

whilst virtualmin navigation is “street directory material” and i get so frustrated with it at times…on the up side, the more i play around with other control panels of late (such as Centos Web Panel and Cyberpanel), i have to say, the more i am really starting to appreciate Webmin/Virtualmin.

Considering how much functionality this panel has, when compared with the other two i mentioned, it is far more robust. Rarely do i find things in Virtualmin that throw errors because of bad planning and oversite (which happens a heck of a lot with CWP). CWP is so bad, developers i am sure spin yarns to get people off their backs with complaints about cockups. The number of times one reads…"we have already addressed that issue 1 day after an update, only to find it still isnt working even in the next release 1,2 or 3 months later…I spend most of my time with CWP trying to fix irritating and downright stupid problems caused by poor development. One such classic bug is the automated Wordpress installer. What a flaming joke that is!

I dont struggle with those kinds of problems so much in Virtualmin. I think the guys clearly are good at what they are doing and Virtualmin’s stability and reliability reflects that. I have a very nervous trust in Centos Web Panel, however, I feel very comfortable running Virtualmin for shared hosting, and especially VPS.

I think my only concern with Virtualmin, and i have experienced this with a handful of VPS over the last 2 or so years of using it…system memory regulation. Its very easy to tinker just enough to get system memory getting out of control…and getting back out of such a hole often is difficult, certainly made more difficult by navigation complexity and unique naming conventions!. This is not something i have experienced with any other control panel (ISPConfig, Vesta, CWP, Cyberpanel).

Perhaps these other panels are restrictive enough i suppose to prevent one from cocking up and sending system memory usage off the charts? Virtualmin i think proivdes for a much easier “under the hood tinkering session” and that im sure is what gets users into trouble in this regard! Its then so complicated, one cant find the way back and ends up having to reinstall…I wish there was a solution to this (some kind of default reset or documentation to this effect?)

One thing i will warn about its competitor CWP…I have a the paid “Pro version” of CWP and i still cant even email the developers without paying $8 one time fee every time i want help.

One thing that i find incredibly annoying with Virtualmin is the lack of separation between Virtualmin Administration and Virtual Server Administration. Its so bloody easy to cockup a virtual server ( thinking you are making more global changes) when logged into it as Root or Super Admin!!! This really needs some kind of rethink!

Virtualmin needs a layer of separation between a root user of super admin and virtual servers so this cant happen. Simply going back to the webmin tab isnt good enough as some things cant be done there.

Although my hosting is TINY compared to some folks, i have been using webmin/virtualmin for a looooong time. I have to agree that sometimes it does get confusing and i shake my head at why they put that option where they did (after spending hrs looking for it). BUT I have to say at least the option is there! When i help others out who are using ispconfig or something like it, i really appreciate Virtualmin more.

Btw creating “user” accounts for your hosting is actually a serious advantage, I believe it also enhances security…

I do not think anyone here will disagree that virtualmin is a good piece of software. and that a LOT of work was put into it . and it is surely better than some of the competition.

I can only truly speak for myself, but I think that what people are trying to say is that if the UI/UX ( and terminology ) would be better - it would expose the power of virtualmin even more to users - and attract also new users which are deterred from using it or discouraged only because of the navigation or the UX .

I am sure long time Power-users have no problem with virtualmin - but Every power-user starts as a N00B - and it is the N00B stage that you want to “catch” the users in order to build numbers of fidelity.

Today people do not have the time or patience to learn something in depth to become experts after 5 years. they want to open an interface, and set up the basics in an intuitive 5-min session, where one look and the UI explain itself without the need to search tutorials, forums, threads, or a dictionary. the kind of experience that WHM gives you ( for example ).

No one doubt the benefits of virtualmin, or the quality of the developers or their hard work - but it can be a lot better if the UI/UX will be more intuitive.
With some quite minor changes in terminology, navigation, grouping and streamlining of workflows - virtualmin can really become an industry leader and gain huge popularity ( IMHO ) .

In other words : Capability !== Complexity && Complexity !== Capability

Just my two cents/

Greetings all

I am a newbie convert / triallist from cPanel (hence the username :wink:

After using WHM / cpanel as root user for over 12 years, Webmin / virtualmin seems amazing, however, I’m struggling to find the basics.

My request to the development team and / or to the community please;

Could you put together an up to date cPanel to Virtualmin / WHM to Webmin conversion document / explainer ?
I came across this document that was very helpful:

Meanwhile, would be good to have:

  1. Terminology.
    OK I get that you guys want to call things by different names. While in cPanel / WHM (and many other panels) an “account” is just that - a user account - which makes sense. A “Virtual Server” as you call it here seems confusing - but alright, if that’s the way it will be, please can you add a “Glossary of Terms” to your #1 Introduction section in your documentation (and even better would be a glossary of terms for those moving from cPanel!). If it is there, please point me to it as I was not able to see it.

For example:

WHM = Webmin
cPanel = Virtualmin
User Account = Virtual Server

  1. Basics that appear to be missing on first set up:

a) Server Contacts / admin / root user email notifications - where / how can I get notifications where do I add my email address for root user?
b) hardening / security - document on e.g. prevent logins except for my IP address / Host Access Control
c) why webmin and virtualmin are side by side? it’s a bit confusing!

Other feedback (will add more when I have chance)

  • Virtualmin website: The documentation appears to be useful - but no search function ??
  • Virtualmin / Webmin UI: could be “prettified” and more orderly,
  • webmin could be “sectioned” a bit more - for example where is the “Mail” tab in left menu and what about mail troubleshooter tool.

I think the “Virtual Server” terminology has come in because of what Apache calls “Virtual Hosts”.

I like to have each one running under its own user. There is a security advantage as you can make each user’s home directory unreadable by other users, so there’s no way a rogue PHP script can steal data (like passwords…) from other hosted sites on the same machine.

Agreed the menu structure is confusing and it’s hard to find things…

There are a few e-books on Amazon dealing with Webmin / Virtualmin. They all seem out-of-date. However, I read one and am partly through another, and I have to say they’ve helped make the learning curve a bit less steep.

As for one panel layout being “better” than another, I have no problem with the Virtualmin layout. In fact, I prefer it to the iconified or tiled layouts that many other panels use. But it’s a very slight preference. For me, as long as what’s there works and is arranged in some way that makes some semblance of sense, I don’t care very much about how it looks.

That’s proven to be somewhat of a problem, however, because many clients do, in fact, care very deeply about the GUI. This is stupid in a way because I suspect that 90 percent of my clients have no idea what 90 percent of the icons in cPanel do, anyway. But they still want them to be there. If they’re not, they feel like they’ve been shortchanged in some way: “I used to have all these icons, but now you’ve taken them away.”

To me, that would be like my walking into a supermarket and complaining that they discontinued a certain brand of baby diapers, despite my having no babies in the house; or making a fuss about their not having a certain flavor of dog food, even though I don’t own a dog.

To make things even more bizarre, everything they need is, in fact, available in the feature set I configured. It’s just not where they’re used to it being. It requires no more clicks to get to those things in Virtualmin than it does in cPanel (and in some cases takes fewer), but they’re different clicks.

There might be money to be made by someone with the time and talent to create an iconified theme for Virtualmin. As stupid as I think it is that that matters so much to some clients, they’re ultimately the ones paying the bills.

I could not agree more @RJM Web Design - awesome comment!

Here are my further thoughts;

  1. I decided to give Webmin /virtualmin a try after cPanel pricing fiasco. My thought is to experiment and play around with the free version, then upgrade to paid version if all goes well and I was happy with look and feel and functionality.

  2. As far as install and set up and system administration goes - it’s certainly a bit different - but not too hard after a bit of a learning curve (in comparison to WHM which is very intuitively laid out) - however, it took a couple of hours and I was all set to go.

  3. In WHM (webmin equivalent) you can add accounts (users with domains). In Webmin you do it in the Virtualmin section - and you end up with lots of “virtual servers” in a list. This is confusing as I thought that Virtualmin was the enduser panel that endusers log into to manage their account…

  4. I’m still not clear how I give access to endusers to be able to login to the virtualmin account - I obviously don’t want them logging in to or seeing webmin. As far as I can see, usermin doesn’t seem to do much as far as giving enduser access to all of the facilities they need.

  5. And while I am on the subject of enduser - yes - I do think virtualmin needs to be made easier to navigate and to have an icon driven dashboard - much like the cpanel enduser screen. I agree with @RJM Web Design here - virtualmin comes across as way to technical for end users - they need simple point and click to set up email aliases, read webmail, access their filemanager and database etc…

That's proven to be somewhat of a problem, however, because many clients do, in fact, care very deeply about the GUI. This is stupid in a way because I suspect that 90 percent of my clients have no idea what 90 percent of the icons in cPanel do, anyway. But they still want them to be there. If they're not, they feel like they've been shortchanged in some way: "I used to have all these icons, but now you've taken them away."

With a few tweaks - I guess webmin / virtualmin could really become something more.

A few things to mention that I do really like:

  • a lot of config file access via the UI (not always having to go via SSH / VIM to access these - e.g. sshd config)
  • seems to me it’s much more powerful overall than WHM
  • I love the idea of being able to cluster and use Master - Slave set up / Load Balance :: This is something cpanel has been desperately missing

I’m happy enough with Virtualmin that I migrated the last of my own personally-owned sites to it yesterday. The only domain remaining on the cPanel server from which they were migrated is a placeholder account for its hostname domain.

Virtualmin is not a “perfect” direct replacement for cPanel (although it’s close). There are a few bugs and some quirks that I had to work around. In fairness, most of them actually have more to do with non-standard ways that cPanel does things than with Webmin / Virtualmin, only manifest when doing a cPanel -> Virtualmin migration, and can be easily worked around once one knows about them. The two most critical ones, in my opinion, are:

  1. AWStats loses historical data for the SSL versions of migrated sites. If the site was forced to SSL at some point in the recent past (as is very commonly the case nowadays), that means all historical data is lost for that time period. This is because cPanel separates the data for SSL and non-SSL versions of a site, and the Virtualmin migration routine ignores the SSL data. This can be easily fixed post-migration.

  2. cron jobs are imported verbatim during the migration – including any PATH information – but there’s no sanity check. Consequently, cron jobs that used non-standard executable paths on the cPanel server that do not exist on the Virtualmin server will “successfully” import to Virtualmin with no warnings, but will not work.

This, too, is a result of cPanel’s non-standard ways of doing things and can be easily fixed post-migration. But a sanity check at migration time to check the jobs against the executable paths to make sure they exist (and possibly offer suggestions if they don’t) would be a nice addition.

In fairness, I probably could write automated fixes or workarounds for both of the above issues if my Perl skills were better. I know I could do it in PHP. So I don’t want to blame an overwhelmingly open-source project for my lack of skill in the language it uses.

As for what’s available to users, it seems to me that whatever you enable in the templates will be available to users if they log into https://domain.tld:10000 with their domain username and password. A semi-exception is phpMyAdmin, which will require that they use the SQL password rather than their domain password. There’s probably a way around that. I haven’t really looked because on the server I’m using Virtualmin on now, I am the human administrator for all the sites. It’s something I’ll have to explore before moving client accounts to Virtualmin, however.

I also have to test some more obscure things that are important for a few sites in particular, such as how Virtualmin handles migration of sites that use symlinks.

As for the GUI, as I mentioned, I prefer Virtualmin’s to cPanel’s; and most clients don’t really give a rat’s one way or the other as long as they know where to find the things that they use. Some of the objections probably can be solved with redirects (/whm and /cpanel -> :10000, /webmail -> /roundcube, etc.).

But there are and always will be some users who throw tantrums if they don’t have their iconified GUIs. Adding one would probably make Virtualmin more viable as a direct replacement for cPanel. In terms of how it works, I think it’s there already. Migration-related problems are surprisingly few and, so far, very easy to fix. But it looks different, which is a deal-killer for some of the more obnoxious clients.

We had a poll a few years ago about changing terminology (primarily changing “Virtual Server” to “Domain”), and at the time, leaving things as they are won (though by a small margin). Honestly, I think both terms are confusing…at the time when Virtualmin started, “virtual server” was a pretty good choice, but it was before widespread adoption of virtual machines and cloud-based hosting stuff, and so it didn’t cause so many people to have extreme negative reaction to it. It was mostly neutral.

The reason we chose the term was to indicate it was a superset of an Apache VirtualHost (e.g. it’s a VirtualHost in Apache, plus a user to manage it, plus a Postfix virtual domain, plus a database and database user, plus a DNS domain, etc.). The idea that the word “domain” could cover all of that seemed utterly ridiculous to us. Foolishly, we thought we could convince the rest of the world that cPanel was wrong to call it that. We still think they were wrong to call it that (and subdomain is even worse!), but we no longer believe we have the power to convince anyone of it. We also don’t think we were right to call it Virtual Server. We should have seen the writing on the wall that people wouldn’t think “Apache VirtualHost” when they see the word “virtual” in a hosting context.

So, we’ve had the discussion internally a few times about changing to the word “Domain” in the UI since then, and every time we come closer to flipping the switch. I suspect Virtualmin 7, coming out in another month or two, will likely make that switch. It will make some old-timers grouchy (domain remains a bad descriptor for what it is), and it won’t make the cPanel converts fully happy either (our account model is just plain different from cPanel…nothing short of a major overhaul would change that). We’ll never be cPanel…we started Virtualmin ~16 years ago because we really didn’t like cPanel, so imitating it was never on the agenda. “Not like cPanel” was the whole point. We didn’t necessarily do everything right, and we’d change a few things if we were starting over today, but I think it’s an extremely solid option with a lot of active installs to prove it. We don’t have the budget cPanel has, not even close, but I think we’ve still built an extremely competitive product, in some regards more capable than cPanel (but admittedly complicated to use in many ways).

Part of the complexity has come from not saying “no” to users enough. When we get feature requests, we often implement them before really thinking through if the complexity price is worth paying. We’ve slowed that down dramatically over the years…we now have discussions about new features, with the default answer being “no”. But, all that history is still there in the menus, and I’ll be the first to admit they are terrifyingly complex at first glance. The problem is we can’t remove things without making somebody angry. Somebody loves that feature, whatever it is. When we remove it, they’re gonna be mad, even if it makes the product better and easier to use. For an example, we recently removed the old Java File Manager (and even replaced it with a more powerful JavaScript File Manager that is faster and doesn’t need Java to run)…still have a handful of angry users who loved the old file manager (it’s still available for installation from the Webmin modules directory, don’t yell at me if you’re one of those mad users).

Quick answers to some of the questions I see above:

  1. A Domain in cPanel is roughly a Virtual Server in Virtualmin.
  2. A Sub-server is a domain owned by an existing Virtual Server (a “subdomain” in cPanel).
  3. There is no WHM/cPanel dichotomy. There is one login page for both server owners (Virtual Server accounts) and root. When you create a Virtual Server, it creates a user with severely limited Webmin access…give them that information (try it yourself first to see if it has more or less privileges than you want to grant your domain owners). Usermin is not it. Usermin is a webmail client with a few extra features. It is not cPanel. And, Webmin is not WHM. Webmin is for anything management related, including management tasks your domain owner users need to do. Webmin has powerful ACLs to restrict how much a user can do, and Virtualmin uses those to create users that can do domain owner stuff safely.

There is a guide I wrote about a dozen years ago that still sticks around…not much has changed. cPanel still uses the terms I don’t like, and Virtualmin still uses the terms that the rest of the world refuses to use:,virtualmin_for_cpanel_users

1 Like

Hi Joe

Thank you for this detailed explanation which does explain things and makes it a lot clearer.

Not to second guess any of your reasoning or the decisions taken by your team, and I’m not suggesting that you should become a cPanel clone in any way - but wouldn’t it make sense to do the following:

  1. Terminology
  • Root or System Administrator seems pretty descriptive and is fine for the Webmin user.
  • Virtual Server / Domains = why not just "User Account" or simply "Account" which is descriptive and IMO a lot clearer than Domain (which is also confusing as a domain is a domain, not a user account).
  1. Webmin/virtualmin/usermin - fine to have one login but why not:
  • Webmin access for root / administrator level access
  • Virtualmin only access for endusers / Accounts / Domains / virtual servers!
  • Usermin seems superfluous to me - though I'm probably just not understanding its purpose properly). I honestly find it confusing that there are three panels.

I guess whatever you do, there will be those who are unhappy and those who are pleased.

Moving over from WHM / cPanel feels good, it’s a bit challenging, but overall, I’m finding a lot to like. I hope I’m not coming across as too negative! Just my 2cents worth and what appears to be a very solid panel.

By the way - this forum would benefit from WYSIWYG editor !!

Webmin is used to manage the server. It’s a web interface to what you would do in the CLI. Virtualmin builds on Webmin by grouping together tasks suited to a hosting environment. You could do almost everything manually in Webmin, but Virtualmin speeds things up. Account creation for example makes the user account, sets up the Apache/nginx configuration, adds the domain to postfix along with any user accounts, creates a database, sets up awstats, and so on. Think of Virtualmin as an addon to Webmin with a hosting focus. They both have their place in administering your server.

As Joe said, Usermin is a webmail interface with some extra features. Mostly, I install RoundCube to mail/ and move on with my life (Virtualmin -> Install Scripts). :slight_smile:



The only cPanel I know, is the one you get on shared hosting when you sign up for a website, and with my limited experience, Virtualmin is miles (and I mean MILES) ahead of Cpanel in that sense (not sure if there is another version of cPanel).

I wrestled with Virtialmin for more than a month, when I moved from shared hosting (cPanel), doing everything myself, and managing my own VPS. I figured out how Virtualmin works, learnt how it implement things, and coming from other free cPanels, Virtualmin is a GOLDMINE, w.r.t its functionality (they have literally thought of 99%), and its polished and complete (features). ALL FOR FREE!!!

The best thing is to learn how Virtualmin implements things, and there is a reason why they do it that way, as you start using other functionality, which links into each other. So, what I am saying, there is a clear pattern or strain of doing things. So no functionality is half backed.In hindsight you’ll appreciate their way of thinking; it worked for me.

COPY POST sorry:

7) I am still rather unclear exactly what Usermin is for… if Webmin is for server admin (e.g. WHM / root user) and Virtualmin is for end users (e.g. cPanel / users who want to manage their files etc) - then what is Usermin for ? Is it for multiple users under Virtualmin users ?

why don’t try to setup and login usermin on :20000 yourself as a normal user account.

So define different users : emaill and ftp , email only, ftp only and so on.

Play also with webmin virtualmin user and admins and their rights. ( yup not always what they see ( in menu’s) if no rights for that, those things don’t work)

My advice experience is you have to “play” with all three first before using it further and also do some tests, security and so on, then setup a live box and explain / docu for your whatever users!

Docu here virtualmin and wiki is not always upto date so important to have a look yourself and test before you give such docu to your users as kind of manual!

He if find myself that icon sh.t nonsens , you have to remember whatever icons from whatever apllication what they do , text is more explaining , for menu , login, exit and so i understand icons easy.

BUT Example whatever aplication for: “ftp user rights setting” why you have to learn wich icon if text is plain explaning such directly?

I think that perhaps what is needed is for a community survey on interface configuration and most importantly design.

That surely would iron out the issues with complexity and confusion?

I personally have a bit of issue with the term virtual server, however reverting to domains might actually just make things worse!

For example, a virtual server is a user account, not a domain. 1 user account can have many domains, but each domain can belong to only one user. The problem is, how do we define the term “user account” in hosting? It’s a crappy phrase that cpanel clearly decided was so crappy they would just jump over it and go on to the next level…what one puts on that user account (a domain name). As a consequence, newbies in Web hosting get completely bloody confused between buying a domain name at a registrar, and hosting that domain name on a webserver. Few people really understand a website only works because two parts that seem to have the same name, are actually different and needed in order to make it work.

What is needed is a fresh approach to naming virtual servers that makes sense in this regard. What is really needed to redifine virtualmin virtual server is the “iPhone moment” ( which literally belted Nokia out of the park in one fell swoop)

Honestly, I don’t think it matters much what you call an account. “Virtual server” is fine with me. I also don’t think the nomenclature matters much from the end-user’s perspective because it is what they log in to, not something they create.

In other words, no matter what you call a user-level account, when a site owner logs into it using their credentials, they’re already inside of it. The nomenclature difference between creating a “virtual server” versus a cPanel “account” or “domain” is something that root and resellers have to understand, not end users; and frankly, it’s not rocket surgery to understand – especially since it actually does make more sense than cPanel’s nomenclature, for the reasons that Joe pointed out.

As a consequence, newbies in Web hosting get completely bloody confused between buying a domain name at a registrar, and hosting that domain name on a webserver. Few people really understand a website only works because two parts that seem to have the same name, are actually different and needed in order to make it work.

If I had a dollar for every time I had to explain that difference to users, I’d be quite a wealthy man. Users who come to me with domains that they already own often believe, for reasons that made no sense to me before, that they no longer have to pay the renewal bills for those domains that their registrars send them. Now it makes a bit more sense. cPanel’s use of the term can make users who are… let’s just say “less than genuises,” believe that the domain registration has been magically subsumed into the hosting account. Brilliant!