Upgrade to Webmin 1.59 Breaks Apache - virtualmin-google-analytics at fault

On my Freebsd GPL server, the upgrade released today from 1.58 to 1.59 broke my apache installation.

Looking for the reason, the apache error log said "[error] Can't locate Virtualmin/GoogleAnalytics.pm in @INC (@INC contains: /usr/local/lib/webmin-1.580/virtualmin-google-analytics..."

Changed the path in "/usr/local/etc/webmin/virtualmin-google-analytics/apachemod.pl" and its fine now, but figured I would share this for whoever else breaks things today. was:


#!/usr/bin/perl
use lib '/usr/local/lib/webmin-1.580/virtualmin-google-analytics';
1;

Changed to:

#!/usr/bin/perl
use lib '/usr/local/lib/webmin-1.590/virtualmin-google-analytics';
1;
Status: 
Active

Comments

Looks like the Webmin install wasn't done to the usual directory in the first place - normally on FreeBSD, Webmin is installed into /usr/local/webmin , and this path doesn't change.

Did you install Virtualmin entirely using our install script?

install.sh tends to fail a lot on FreeBSD (for a different day, too much to deal with), so I tend to be lazy and use pkg_add -r webmin. That is where it puts the version installed, and then your update tool tends to follow that convention

/usr/local/webmin wouldn't be correct at all in a FreeBSD world anyway

Oh yeah, install.sh uses pkg_add... So I guess it would have ended up there either way? Just guessing, not testing...

Dave

The install.sh script on FreeBSD always puts Webmin at /usr/local/webmin , rather than using pkg_add.

If it is installed in a non-fixed version-based directory like /usr/local/lib/webmin-1.590 , you will run into problems like this.

sorry for dragging up an old issue, but this has been bugging me since you wrote the above, trying to figure out WHY it was in the "old style" folder.

Finally got it.

The "update" option from Webmin "system informaiton" screen, when you are behind a version, does this: (parts edited for brevity)

Downloading http://superb-dca2.dl.sourceforge.net/project/webadmin/webmin/1.600/webmin-1.600.tar.gz (20.41 MB) ..
     Received 20.41 MB (100 %)
.. download complete.
Package signature verified successfully.

Running setup.sh script to upgrade Webmin .. Please wait a minute until it is complete before continuing.
Installing Webmin in /usr/local/lib/webmin-1.600 ...
Config file directory [/etc/webmin]: Found existing Webmin configuration in /usr/local/etc/webmin
Attempting to start Webmin mini web server..
Starting Webmin server in /usr/local/lib/webmin-1.600
..done

----->   The directory from the previous version of Webmin
----->   /usr/local/lib/webmin
-----> can now be safely deleted to free up disk space, assuming

I had moved it to /usr/local/lib/webmin by doing a "new" install from the ports, and allowing webmin to update itself moved it to the" "non-fixed version-based directory" all by itself.

Bug?

Looks like this may be a problematic interaction with the port.

Is this a port that is part of FreeBSD, or one we supply for the Virtualmin FreeBSD installer?

The package puts webmin in the proper folder, and virtualmin is happy with it, until I "upgrade" by using the webmin upgrade tool. It moves it to a folder named after the version, not where the package puts it.

Which breaks virtualmin modules that expect webmin to stay put.

So. Install using "install.sh" uses the freebsd package, and its where it belongs, upgrade using the webmin module breaks it.

Make any sense to you?

(to make sure we mean the same thing, the packages are binary, ready to installs, the ports are build and install, I am talking about the binary packages.)

Ok, I see the issue now. The fix for your system is to create the file /usr/local/etc/webmin/install-dir containing /usr/local/lib/webmin ... this will fix future upgrades.

I will also make a fix so that the correct path is used in our packages.

Automatically closed -- issue fixed for 2 weeks with no activity.

Dragging this out further, yesterday I did a Webmin upgrade, using the button on the home screen, and it stuck webmin in a seperate named1.63 folder again. It did a "build-install" instead of using the "binary" package (why?) and is doing the same old behavior.

without the /usr/local/etc/webmin/install-dir file, since, and see above, "I will also make a fix"