Oh, one more thing that I failed to mention specifically in the initial changes list. It’s a “bug fix”, but probably has surprising consequences for some users, and might still be quirky since it’s complicated logic):
When creating a new VirtualHost entry (when creating a new domain website), the logic to decide whether to use an IP or an *
for the host portion of the definition has been inverted to prefer an IP over an *
.
For example, in versions prior to 6.04, if Virtualmin found any VirtualHost sections with a host:port of *:80
or *:443
(or whatever *:port
), it would use *
for all subsequent domains created. Because of the way Apache determines which site to serve, this led to confusing results for a lot of people. Generally, mixing *
and IP-based virtual hosts is a bad idea, but there are circumstances where it is warranted…but, because it is confusing and difficult to get right, having Virtualmin prefer *
over IPs led to it being a common source of confusion.
So, that logic has been inverted. Now, if you have any IP-based VirtualHost sections, Virtualmin will use IP addresses. If you have all *
-based VirtualHost sections, it will use *
. If you have none, it will use IP addresses. This is, we believe, more what people expect and will result in less confusion…except for anyone relying on the old behavior (this can’t be a large number, since it’s such an odd configuration, but if you’re one of them and have problems, let me know and we’ll try to sort out a way to make it work).
In short: This probably won’t affect you, and if it does, it probably is just more intuitive and less prone to confusing errors. If it does affect you negatively, let me know.
This, we hope, will eliminate the longstanding “the wrong site shows up” issue that people occasionally have with Virtualmin; usually after an OS upgrade or after installing a new Apache package that re-adds some default VirtualHost configuration (but, also, sometimes people would follow tutorials on the web and add an *
-based “default” website, without understanding what that can do to other domains).