Cpanel as a design model

The version of Cpanel that I used in the past was a hack, full of bugs, containing numerous poorly-written scripts that ran many commands without checking their exit status. It was a nightmare to administer. Its only redeeming value, so far as I could tell, was that it was early in the market at a time when web-hosting was exploding. They seem to have acquired a much better reputation for reliability more recently, but that doesn’t mean that the underlying design is any good.

In Cpanel, the first domain assigned to a user was special, and could not be deleted.

Suppose you have a user Bob, login name bob, who begins with the domain He later adds and to his account. Now he has three websites.

Later, he decides he decides to give up, or transfer to somebody else, the domain He naturally wants to delete it from his own account. But to do so, he must delete his entire account, including all other domains, and then sign up for a new one and add back and to his new account.

Virtualmin GPL, too, imposes the same unnecessary restriction, which is why I suspect Virtualmin GPL was modeled after Cpanel. Since Virtualmin has existed for many years now, it might be hard to change its design now. I rather like the DirectAdmin model, where a user can add or remove domains in any order.

in cpanel you can change the primary domain for any user. The admin (access to WHM) needs to do that. I do this all the time in my cpanel/whm.

Struggling to use virtualmin. I do not want to pay for a second cpanel license.

Old topic but I’ll chime in.
The 1st created user is the admin for the account. Any accounts that admin creates are subordinates. It would be stupid to allow or even want to move the admin but not the subordinate domains. That would be like parents moving and leaving the kids behind. This is more of an accountability issue than a software issue. Those subordinate domains can start/buy their own hosting and then not be dependant on anyone.