Missing modify-web.pl in VM GPL

Hello everyone,

just registered and I wanted to state that VirtualMin is a great piece of work. we just installed and migrated a hosting server to VirtualMin (GPL) and we’re amazed of all the progress VirtualMin made in the last few years. i think, we will migrate all the confixx- and plesk-servers to VirtualMin. I can’t await to see and use VM2 for clustering VirtualMin machines!

There’s just one thing that i can’t seem to get figured out: we control the server via our own scripts that are called from the backend database. these scripts now shall control the VirtualMin core. for example, we call /opt/webmin-1.450/virtual-server/create-domain.pl to setup a new website. all is working, but i can’t setup a new domain with frame-forwarding. there is simply no modify-web.pl, that should have the option --framefwd, that specifies the redirection destination for the new domain.

where is this file and why is it missing in my distribution?


Webmin 1.450
VirtualMin 3.65.gpl
Debian Etch
x86_64 Linux
SUN Microsystems X2100 Server (AMD DC Opteron)

thanks in advance,

The Virtualmin GPL API is somewhat more limited than the Virtualmin Professional version in versions prior to 3.66. The complete API has now been merged into GPL–excluding those features that are only in Virtualmin Professional, of course–so both now have complete API coverage of the UI.

We’re in the midst of rolling out 3.66 as we speak…so tonight or tomorrow sometime, you may find this command will appear. I don’t think this option is a Professional-only feature (can’t think of why it would be, though sometimes Jamie and I disagree on what makes sense in this context).

Hi Joe,

thanks for the fast reply.

what do i get as "professional-only" features in detail?

i could imagine switching to VirtualMin Pro if these conditions are

  1. seamless migration to it without reconfigure or off-time
  2. no PL*SK-like hassle with upgrades and machine changes (IP-change)
  3. no PL*SK prices …
  4. maybe clustering, and one single master machine that controls many VM’s
  5. creation of services of a virtual server on different machines, like web on the one, mail on the other, sql on a third…

nevertheless, i agree with you, that porting the full API should be no “professional-only feature”. this is a killer feature that will raise VM’s popularity, even among people who first want to stick with GPL version. and this being said, there is a big possibility that many of them will switch to the Pro version by their own decision, if the “pro-only” features are cool enough to come into their focus… but for this, basic features (and i count API access via cmdline to the basic features an evolved system has to offer) have to be available in the GPL version to get a taste of what an administration system has to be alike…

… like VirtualMin.

keep up the good work!

There’s a chart covering the highlights of differences between GPL and Professional (and Plesk and cPanel) here:


It’s in the bottom menu labeled “Compare”. Eric has worked on a new comparison list that we’ll be putting on the new website in the next week or so, which covers the differences in more details.

1) seamless migration to it without reconfigure or off-time

Of course. It’s possible to go back and forth between Pro and GPL without any downtime, assuming you installed using the install.sh script (this is the only way we can be sure what the system looks like, so it’s the only way I can have any confidence that the built-in upgrade feature will work).

2) no PL*SK-like hassle with upgrades and machine changes (IP-change)

Of course. Moving to a new machine might trigger a warning about license usage on more than the licensed number of servers…but it is harmless and temporary. The message does not cause any functionality to stop working–any license violations that would result in us denying access to the software repository would require human intervention, and someone would contact you personally before taking any action to make sure we’re dealing with the problem appropriately (it could merely be a public license exposure situation and we just need to issue a new license, or similar, rather than an actual violation by the customer). We assume the best of all of our customers, and only in pretty blatant abuses do we do anything more than a polite email reminding folks of the license terms and asking if they’d like help installing new licenses on the “problem” machines. We hope we never have to alter this practice…though I have occasionally seen indications of piracy attempts and other fraudulent activity (mostly our only license abuse problem has been with people purchasing with stolen credit cards or PayPal accounts, so it’s not really a problem the license manager could ever solve, no matter how stringent).

3) no PL*SK prices ...

I think we’re dramatically more cost-effective than Plesk. But, we aren’t setting out to be the cheapest product on the market. We are building the most powerful products on the market–that is our primary focus. The underlying flexibility and power of Webmin and our Open Source heritage is our unique strength, so we’re playing to it.

4) maybe clustering, and one single master machine that controls many VM's

Clustering means so many things to everyone that it’s sort of a non-word at this point. If you search the forums for “clustering” you’ll find a lot of discussion about it, and it may give you some idea of where we currently stand, and where we’re going in the future with the problem of “clustering”, as we understand it. We’ll never be able to solve the problem of clustering your applications, though…it’s just not within our power, as it requires apps to be built to cluster, and most are not. And almost no other service on a web hosting server is slow enough to benefit from clustering (hot backup, yes, that’s probably a good feature…but many live servers with load balancing, and such, not so much).

As for the single master machine question, yeah. We have a really cool new product called VM2, currently in private beta, that’ll knock your socks off. And for mere management of Virtualmin systems, it’ll be cheap (like a couple hundred bucks). If you also need management of virtualization (like Xen, Zones, EC2, vservers), it’ll get a bit more expensive, but still quite cost effective for most folks.

5) creation of services of a virtual server on different machines, like web on the one, mail on the other, sql on a third...

There’s a FAQ about this one:


Web will never be “remote-able”, at least not in the next year, or so. But we’re always moving incrementally towards abstracting all other services out to being runnable on other machines. Everybody wants to do it a little bit differently, unfortunately, and so even in cases where we do support something (like mail on other machines), it often just makes people mad that we don’t do it the way they want it done, and they end up writing some of their own post-create scripts to do it their special way.

and i count API access via cmdline to the basic features an evolved system has to offer

We do, too. But, interestingly, Virtualmin GPL already had more API capability than either of our major competitors. So, it’s always provided more API coverage…and now it’s providing even more.

thanks for the explanation on the licensing.

i would like to know more about VM2 when it’s time to reveal.

thanks for the links.

doing SQL and mail on remote machines is particularly important, since we run clusters (real ones!) for both services. i will check out how VM behaves with remote creation of databases on the cluster. if we have issues, i’ll report that here.

a word on email: since our mail cluster is a very special customized version of qmail/vpopmail/mysql that is being handled by our backend, i think it would be best to create some script that will act to our backend. i’ll look into that. or is it possible that the qmail/vpopmail interface in VM can handle vpopmail+mysql? if so, then that would be elegant to integrate in the cluster, since the database behind the cluster is driven by vpopmail itself.

generally speaking, i doubt it’s a good idea to handle email, sql and web on the same server. when server is down or congested, all services are affected to death at the same time. plus, every service has its own requirements to the underlying os, hardware, filesystems and the like… at least if you don’t have just 20 customers.

but this will get too far from topic, many thanks for the fast responses! i’ll drop a note when we managed to integrate VM fully into our hosting structure.

warm greetings,

Thank you for including the whole API in the VirtualMin GPL 3.66.

When i call modify-web.pl --domain xxx.com --framefwd http://www.yyy.com

it responds with:

Undefined subroutine &virtual_server::supported_php_modes called at ./modify-web.pl line 155

After disabling this subroutine in the perl script, it responds with:

Undefined subroutine &virtual_server::get_domain_php_mode called at /opt/webmin-1.450/virtual-server/modify-web.pl line 210.


Yeah, that sounds like a bug, I’d recommend mentioning that issue in the Bugs and Issues tracker below.