Upgrades Abound! Drupal 7 Website Upgrade, Pricing Changes, and Virtualmin 5.0!

This week has brought a huge array of changes to our website, our pricing, our license manager, and Virtualmin itself.

New Shopping Cart and License Manager

I've rebuilt our shopping cart using Drupal Commerce (migrating most of the old order data from Ubercart), and written a new license manager from scratch. There are a few things not quite working right, which will be fixed in the next day or two.

Most importantly: If you buy or renew a license, it will take as much as a few hours for it to become available on our downloads server. This will be resolved within 24 hours (I just need to turn on and test database-based authentication for the new download servers, but I'm exhausted and need a bit of sleep before I do anything involving security).

License manager has a couple of display quirks that could be confusing:

  • Unlimited domain licenses display the domain limit as 0 or -1. Either one is interpreted by the Virtualmin portion of the license manager as "unlimited". I have to write a bit of code to make that display nicer on the website.
  • Lifetime licenses display as expiring sometime in the 2030s, because MySQL datetime format maxes out sometime in the 30s. If we're all still working on web servers in 2030-something (which is not unreasonable to guess; Webmin started 17+ years ago, and Virtualmin is now 11 years old), we will have updated our date storage to accommodate extending those licenses. Also, the lifetime unlimited license is not shown in the Buy Virtualmin page, but it does still exist. So, if you've got $999 lying around and you want to spend it on a Virtualmin license that never expires, I'll get you a link. In the next few days "hidden" products will be made more findable.

Reseller discounts have been added to the shopping cart. So, if you were using the old reseller system, you can now get reseller pricing through the normal shopping cart process. There were a couple of other features of the reseller system that are not yet implemented (cancelling your own recurring licenses, and re-assignment of licenses to other users, in particular), which will be added soon. In the meantime, open a private ticket or send us an email, and we'll process those kinds of changes for you.

Virtualmin 5.0

Now with alien technology

On Tuesday, the 5th, we rolled out Virtualmin virtual-server module 5.0. This included big new features like improved support for multiple PHP versions (including PHP 7), Let's Encrypt certificate management support, many Install Script upgrades, tons of bug fixes, a new file manager, and, most visibly, a switch to Authentic Theme.

I've posted an article discussing many of the bigger changes in the new release, which I recommend you check out, if you're curious about all the new stuff in this release.

Virtualmin.com Drupal 7 Upgrade

What could possibly go wrong?

On Thursday, the 7th, we flipped the switch on our new website, running Drupal 7. The migration path from Drupal 6 to Drupal 7 was far from smooth, and we had to replace a number of components. The good news is that most of the replacements are an improvement over the old Drupal 6 site. The bad news is there may be some confusion and unfamiliarity for a short time while we all wrap our heads around the changes. The biggest change is a whole new shopping cart based on Drupal Commerce. We've also switched payment processors to Braintree, and rebuilt our license manager completely.

Virtualmin Support module broken temporarily

The Virtualmin Support module that many folks use to submit support tickets directly from within Virtualmin is temporarily disabled. The new ticket tracker here at Virtualmin.com uses the database differently and so our old script that accepted tickets and added them to the database no longer works. I'll sort out how to make it work again in the next day or two.

In the meantime, please submit support tickets directly on Virtualmin.com.

Pricing Changes

Going down

After long discussions with customers and potential customers, we've overhauled pricing completely and in dramatic ways. The change is most relevant for existing customers, as it effects both the cost of renewals and the method of renewing.

There are still a number of outstanding issues with renewing licenses and upgrading licenses (it doesn't work automatically). I'm working on that, and should have it sorted out in the next week or two. But, because of other changes I'll discuss in a moment, most people with recently expired licenses shouldn't need to renew for a while.

The goals of our new pricing are:

  1. Make it simpler. We had too many options, and renewals and upgrades were confusing and a source of many support requests. To that end, renewals and upgrades are gone. Virtualmin costs the same to buy as to "renew", and is handled automatically by our billing system (you can cancel at any time, and you can choose to pay monthly or annually).
  2. Make it cheaper to begin using Virtualmin Professional, and cheaper to expand your business with Virtualmin Professional. To that end, the purchase price has dropped, dramatically so in the case of larger domain limit licenses.
  3. Make it more predictable. Now, prices are the same every year, and initial purchase price is much lower than it was, even under our recent sale prices.

Some examples of new pricing vs. old:

  • Virtualmin 10 purchase price before the change: $99, with a renewal price of $45.
  • Virtualmin 10 purchase price now: $6/month or $60/year.

  • Cloudmin 250 purchase price before the change: $349, with a renewal price of $349.

  • Cloudmin 250 purchase price now: $20/month or $200/year.

Yes, you read that right. Very large licenses are much cheaper now. We hope this will help hosting providers grow their business more easily with Virtualmin and Cloudmin, and provide confidence that the cost of software licenses won't impede their ability to be competitive on price.

Benefits to Existing Customers

You get a discount! And you get a discount!

This price change means that renewals for our existing customers will get (slightly) more expensive. "Wait a minute!" I hear you say, "That doesn't sound like a benefit for me, at all!"

But, we've got your back. We appreciate your business, and we never want you to feel left out of the fun. So, we're giving you a variety of bonuses for being our customer, back in the day, when prices were higher.

If you have any Virtualmin Professional or Cloudmin Professional licenses that have been newly purchased in the past year, they have had their expiration date pushed forward by 6 months, at no cost. Older licenses have also received a free expiration date bump, so that we have a few weeks to sort out integrating old licenses into the new license manager. I have to write some more code, but I didn't want to wait, when there's so much to like about the new site compared to the old one.

You will also receive by email, sometime in February, a coupon for every active Virtualmin or Cloudmin license you hold (no matter when it was initially purchased, as long as it was active at the time of the migration to Drupal 7), based on the size of that license, that can be applied to any Virtualmin.com purchase. This coupon will cover the difference between the old renewal rate and the new subscription rate. In effect, we will cover the difference in renewal price from the old to the new for every valid license you have. (Note this has been delayed several times due to problems implemented Drupal Coupon on the site...I'm working on it.)

To be clear: With these license extensions and discount coupons, it will add up to (slightly) more than the total difference between the old and the new prices. You're getting an even better deal (again, slightly, we've still gotta make a living, somehow) than new customers at these ridiculously low new prices.

Please make sure your email address here at Virtualmin.com is up to date, as we'll be sending your coupons, and updated license information, via email. If you don't receive them via email in the next week or so, let me know, and I'll work with you to get your coupons sent to you via another method. To be clear, these coupons could be quite large (some of our larger customers will receive hundreds of dollars worth of coupons!), so we definitely want to make sure you get them!

Getting coupons issued and sent has taken a lot longer than expected. But, I finally got discounts mostly working over this past weekend, so I believe I'll be able to send out coupons for existing customers this week.

Cloudmin Connect

Cloudmin Connect

We also are releasing Cloudmin Connect, which is a combination of Cloudmin for Physical Servers and Cloudmin Services for Virtualmin. This package makes it easy to manage any number of Virtualmin servers from a single interface. Cloudmin Connect is included at no cost with Virtualmin Unlimited (and if you already have any Virtualmin Unlimiteds license, you'll receive that license shortly). Cloudmin Connect is also included in every Cloudmin Professional license (while Cloudmin Professional has limits on the number of virtual machines it can create, it has no limits on the number of Virtualmin systems it can manage).

Cloudmin Professional and Cloudmin Connect provide cool features like easier management of software updates, system statistics graphs, central management of VIrtualmin domains, and more.

Ask Questions, Report Bugs!

As always, if you find problems, let us know. If you hate something about the new site, let us know. We know there are still some quirks, but the old site was in really rough shape, and moving to a somewhat quirky new site seemed more attractive than continuing to limp along with an even more difficult-to-fix old site.

Also, please continue to be patient with us. We've rolled out a huge array of new stuff in a very short time. The new year is going to be a great time for Virtualmin and Cloudmin users, but in the short term we're all going to be learning lots of new stuff, finding exciting new bugs, and figuring out why things aren't working the way we want them to. We're a small team (though we've grown by one with the addition of Ilia, which is super exciting). But, this is still a whole lot of software and a whole lot of users (over 1 million!) to be supporting with only four people.


Congratulations on Drupal 7 Website Upgrade!

Hi, can you tell me the correct URL to view new posts only?

With Drupal 6, I would just surf to: http://www.virtualmin.com/tracker

But that doesn't seem to work with v 7. Thx!

Joe's picture
Submitted by Joe on Fri, 01/08/2016 - 11:54 Pro Licensee

Good question. There are mysteries yet to be solved. I think it is not working now because the migration updated the revision date on everything. Which is toxic behavior on the part of the folks writing the migration code...but, maybe unavoidable (I found it really difficult to get quite a few things to happen the way I wanted it to when using Migrate). I'm planning to add a "set all to read" module of some sort to the forums and issue tracker as soon as all the big fires are put out, and I think that will allow you to get back to a functional tracker page. Maybe. If not, I'll keep digging.

Remind me about it in a few days if it doesn't start working again (or file a ticket assigned to me; I fixed the issue tracker a few minutes ago, so that's possible).

Joe's picture
Submitted by Joe on Fri, 01/08/2016 - 23:58 Pro Licensee

I've been poking at notifications and such, and while we're not quite back to where we were, I think in a couple of days, things will be nicer on this front than they've ever been. We have a lot more functionality with the new site; or at least, extending functionality is easier. Also, the issue tracker finally has effective and usable notifications and they are managed in the same location as other notifications (this was always a source of frustration for me in the past with Drupal 6; the issue tracker is still pretty poorly maintained, and upgrading/migrating was painful as hell, but at least notifications work).

So: Hang in there for a few days. Once I've put out the biggest fires, I'll dig into making the forums super nice.

Edit: Also note that threading is actually reasonable now! Sometimes the simplest things make my day. Drupal 6 had awful threading.

Congratulations on the new site. It looks great. Keep up the great work.

Not sure if it's a bug or not but I can add to a cart but can't check out.

Joe's picture
Submitted by Joe on Sat, 01/09/2016 - 13:46 Pro Licensee

Permissions problem. Sorry about that. Fixed now, and I see you've successfully completed a purchase! Thanks for choosing Virtualmin!

There is still a delay syncing the software repo to the license manager (so it can take up to a few hours for licenses to be available for download, because we're adding them manually until I finish the code to automate it), but I'm hoping to have that fixed in the next couple of hours. But, I saw your order come in within minutes and added it to our repo, so you're good to go.

This is amazing news guys! I realize this may have been quite a step to take, but this new licensing model will most likely lower the bar for many to get started with Virtualmin or Cloudmin.

Also, many kudos on how you have treated those with an existing license! I was positively shocked when I looked at my licenses in my account!

Congratulations and keep up the great work!

Joe's picture
Submitted by Joe on Wed, 01/13/2016 - 23:31 Pro Licensee

Thanks for the kind words. We're excited (and very, very, tired, this has been a long several weeks leading up to this, and now we're inundated with problem reports and questions from new users...which is great! but, I'm still losing sleep).

The price drop is a gamble, which we hope pays off. Our sales volume has to double in order to make up for the price difference. Hopefully, it lowers the bar enough to let twice as many people jump over it, or we're in big trouble! Our goal has always been for the software to be used and enjoyed by a lot of folks, which is why so much of it is free; secondary goals are monetary. But, we do like to eat and stuff.

Congrats on upgrade, looks pretty nice, and works too I presume :D

Joe's picture
Submitted by Joe on Wed, 01/13/2016 - 23:37 Pro Licensee

It kinda works. Sometimes. ;-)

We're fixing problems as we find them, dozens every day, even several days later. There have been a wide variety of interesting and weird issues. And some that are baffling (some of the default permissions in Drupal are just utterly baffling; like commenting on literally everything is enabled by default, but being able to search the site is not). And, a lot of problems have been hard to replicate; reCAPTCH seems to be breaking for a lot of people, and I can't reproduce it or figure out what the common variable is. This one is a real tough one, because we need some protections against spam accounts that work; withou reCAPTCH, we end up with thousands of new spam accounts every week. It becomes completely unmanageable within days.

Wow! I haven't had time to digest all this but am very excited to see some big changes in Virtualmin and VERY PLEASED to see the forums updated!

Joe's picture
Submitted by Joe on Thu, 01/14/2016 - 23:32 Pro Licensee

Yeah, I'm excited about that too! I don't love forums, in general, and the ones here were quite poor for many years (forever, basically). They still could be better, and we're enabling new features as they get tested on our devel server and prove to be workable. Subscriptions has been enabled now, which is mandatory! But, we'll also be enabling some other features that make it nicer to use.

Suggestions are always welcome.

I'm in my 50's now and I really dislike changes --- especially anything related to the website.... ya ya I know. I am not thrilled about the lack of reseller access and I have no access to do anything like I did before..... like issuing new licenses and especially not being able to renew anything.

Having using webmin -- oh god -- since I was in my late 30's I have been around the block with the *min franchise -- ya I even bitched about the last *website upgrade* that failed so badly here for weeks.

Why are we trying to fix that isn't broken ???

PS: No coupons for me still :( After 8+ years don't I get something ?

Joe's picture
Submitted by Joe on Fri, 01/22/2016 - 21:51 Pro Licensee

I'm in my 50's now and I really dislike changes --- especially anything related to the website.... ya ya I know. I am not thrilled about the lack of reseller access and I have no access to do anything like I did before..... like issuing new licenses and especially not being able to renew anything.

I understand your frustration. It's taking longer than I expected to get the immediate and pressing problems sorted. Reseller tools will arrive, in time. Reseller management tools will be better going forward (they won't be the same...you'll go through the same billing process as everyone, though with reseller discounts). The old reseller system was horribly broken (payments aren't automated, and keeping up with what had been billed and what hadn't was impossible...old reseller system cost us a lot of money and time; it was whipped together as a stopgap measure that stuck around several years past when it was supposed to be replaced).

Why are we trying to fix that isn't broken ???

Because it was broken. Very, very, broken. Shopping cart couldn't handle simple license renewals and other stuff. It couldn't deal with recurring payments (which has been a feature request of the shop forever). Most changes in licenses require manual intervention (that's still the case, but I have code that makes it all automatic...it's just needing more debugging and some tweaks before deploying to the live site). It was ugly and not really fixable without major changes anyway. Nobody liked the old forum; new forum isn't perfect, but it's an improvement and there are a few modules to further improve it. I'm tweaking it daily to make it a little nicer each day. Issue tracker was really bad. New one is kinda bad, but I can improve it. Old one was fragile and ridiculous to work with on the backend. And, it was always slow. New site is, I hope you'll acknowledge, remarkably faster.

Anyway, change had to happen. As, I'm sure you know, our revenue had declined to the point where I wasn't able to work on Virtualmin full-time and still afford to eat (I've been doing contract work, among other things for the past couple of years because the money hasn't been there to pay me or Jamie a salary). The Drupal 6 website was ~7 years old, and the old theme was 10 years old. If we want Virtualmin to continue to be maintained, the only way forward is to truly move forward. Ilia coming into the picture made a path forward nicely apparent. I could stop wasting my time on theme work (as could Jamie), and we could leave it in the hands of someone who's good at it. And, it would free us up to work on the other stuff that's been waiting in the wings (in my case, the new website).

PS: No coupons for me still :( After 8+ years don't I get something ?

No coupons have gone out yet. There were more problems than I expected. You've got some coming!

I'll edit the post and mention it in the next website news update.

If we would only be fixing what is/would be broken, the world would not move forward. Rather than looking at fixing what's broken, we should look at what we're trying to improve or achieve.

I think the *min guys did just that: how can we add value for our existing and potentially new customers? And they did a great job at it if you ask me, compensating existing customers generously.

wow thats a lot of work - congratulations. I havent got round to understanding it all yet - even reading the post made me tired!

but much respect for going thru the pain barrier



I'm afraid I haven't received an e-mail with any coupon yet. Could someone tell me if there's been a delay sending them or could there be an error on my end?

Joe's picture
Submitted by Joe on Fri, 02/05/2016 - 10:23 Pro Licensee

Still haven't gone out. I was working on them yesterday when the network at our colo crapped out on us. That made for an interesting and long day. I'll update this post to indicate the delay. Apologies.

I will likely add another free month to everyone's license, to cover folks needing to renew soon.

Apologies for the repeated delays. Coupon in Drupal Commerce are frightfully fragile, and I'm almost afraid to enable them, because my development server is currently unable to process orders because of the error coupons are causing. Drupal is sometimes very mysterious, to me. But, I'll get it sorted soon.

Thanks for the reply and no worries! I'll patiently await any email. I was just wondering whether there was something wrong on my end.

I use the VirtualMin forums as a kind of knowledge base... probably not the best practice, but I assume if I get a solution to an issue I can go back and review it. I'm having an issue with running CGI on a new linode server clound instance and I could have sworn I solved this same thing before. is their a way to search the forums for "My Posts" ?? After logging in?

Hello *min team :)

Sorry to bother you here in the comments, but I desperately need a Cloudmin Connect license, and I can't order it. Checkout failed with a payment method error. Being a part time Drupal constultant, I know getting things up can be quite tricky, but I really need the Cloudmin Connect thing soon. I've tried creating a new account in case the problem was due to my account migration, but no luck either. My mails at sales@virtualmin.com does not seem to reach someone (I guess you're over busy with a zillion things to do :)

Apart from the checkout issue, I wanted to say many thanks for what you do and what you've done. I'm in my 14th year of webmin usage (and 9th of Virtualmin), and I like the way things are moving. Let me know if I can do something. I can help on the Drupal side if needed, and will make a discount if I can order my Cloudmin Connect license ;)


Thanks for fixing the payment thing ! Cloudmin Connect license ordered and in production :-)

Unable to install VirtualMin GPL on a New Debian 8.3 :-(

Checking for HTTP client...found /usr/bin/wget -nv
Checking for perl...found /usr/bin/perl
2016-03-14 15:15:01 ERROR 500: Internal Server Error.
chmod: cannot access 'spinner': No such file or directory
Loading log4sh logging library...
2016-03-14 15:15:01 ERROR 500: Internal Server Error.
Could not load logging library from software.virtualmin.com. Cannot continue.
We're not just stopping because we don't have a logging library--this probably
indicates a serious problem that will prevent successful installation anyway.
Check network connectivity, name resolution and disk space and try again.

Install server now reachable.

Hey Joe, How do we go about getting the included Cloudmin Connect for Virtualmin licence included with Virtualmin Unlimited? I've got 2 unlimited licences (1 under each of 2 logins... other login is cysec). Also any word on the coupons yet? Keep up the great work guys... fantastic product and service!

Hi Joe,

I'm wondering if you guys got around to sending the email yet - just checking to ensure I didn't miss something!



Still waiting for renewed virtualmin license? No refund, I have sent several emails about license to sales, refund and support addresses, but no contact or no licence. I getting very dissapointed about your customer service. I have been happy virtualmin user several years now!

Hi, When adding the licence "$6/month", I simply get this error : "Error The website encountered an unexpected error. Please try again later."

Too bad for me :(

Escovan.net's picture
Submitted by Escovan.net on Fri, 06/03/2016 - 08:05

That's strange, I own that license and it worked right away. What have you tried yet? How did you pay? What browser/OS? Etc.

Regards, Certified Nutcase


We need these in order to keep this support system integrated with our lives. I'm sure I don't have to tell you how much more of a pain it is to have to leave a tab open to your website and have to refresh (when we finally remember to do so) in order to see if one of your guys responded to our support request. Come on man. YOu said the 2nd week of JANUARY that you would sort it out in a day or two. It's going on 6 months!!! We need this fixed!! PLEASE!!!

Ok I fixed it by setting the top notification entry to All issues and tested it and that works. Thanks for Eric's suggestion as to how to do that. Sorry to bother.

unborn's picture
Submitted by unborn on Sat, 06/04/2016 - 11:12 Pro Licensee

well this blog is great for announcements! I hope that you will be using it :)

Configuring/troubleshooting Debian servers is always great fun