This ultimately is my confusion / issue. I can install the packages using pkg without issue, but they don’t work after just installing them - they need to be configured. My understanding is that the install script handled that by setting paths, configs, etc. as a part of the script. Maybe the install process is different on Linux than FreeBSD, and you don’t need to manually configure things after installing them, but that hasn’t been my experience.
It seems my choices at the moment are:
Run a supported Linux OS in a VM, and use the script
Install the packages using pkg, and configure everything manually
Install from source using a FreeBSD script, but this uses outdated versions
What I am missing is the knowledge / tools to configure everything once the packages are all installed.
That requires Webmin to know where things are, which is wholly separate from the Virtualmin install script. I assume the postinstall in the Webmin package on FreeBSD does the things for copying the configs over, and that the configs are just wrong on FreeBSD. I don’t know. I don’t use FreeBSD and haven’t tested there in years. It used to work.
You’re conflating multiple problems. The Virtualmin install script has nothing to do with Webmin knowing the right paths for things.
If that is not the case, then Virtualmin can’t work (and Webmin won’t work without manual intervention). If you installed from a package or ports and you have the wrong config files after doing so, then the package/port is broken. I do not know how/why it would be broken. In a tarball installation (which I generally do not recommend if there are maintained packages available), the Webmin install script (not the Virtualmin install script!) copies those files. You have to run that manually if you’re doing a tarball install (obviously! a tarball is not a package!).
OK, thank you - this makes more sense now. My assumption had been that the script did all this, but it sounds like the individual packages themselves are the issue.
@JeremyHorland - can you assist with a full list of all the packages to install, and the order to install them in? Do I need to install Apache, PHP, etc. separately from the Webmin / Usermin / Virtualmin packages? How do I configure them?
The Webmin install script does that one thing (copies configs over), and it does support FreeBSD, to the best of my knowledge. The Virtualmin install script is not involved in that one thing at all (and does not support FreeBSD)
But, if there is a Webmin package, it should do that one thing without having to explicitly do it. If it does not it is not a very good package.
I’m gonna eat crow here and admit I forgot to read the full package instructions, including the post-install setups, on the FreshPorts pages. Going to try this again to see what I can figure out.
OK, better… the pkg installs work, once the post pkg setup scripts are run. So far, so good.
At this point, the challenge is that other packages (Apache, mySQL) are not installed, and the Unused Modules feature in Webmin can’t seem to install them - it’s looking for outdated packages (Apache 2.2, for example).
@Joe - thank you for your help and guidance. I think this is as far as you can take me at this point, I need to grab the FreeBSD port maintainer, and see what can be done on that end.
A Webmin module is not the package. Webmin provides a GUI, it is not the software the GUI manages.
You have to install the packages for the software you want to manage. In a Virtualmin system on a supported OS that is handled by yum groups or a metapackage.
To be clear, this is not Webmin trying to install anything (and you shouldn’t try to install standard modules like Apache). It is looking for configuration files in the wrong places, because that’s the last time anybody bothered to send us those locations (it may even be that I made that file with updated at the time locations, because FreeBSD 9 or 10 is around the last time I tried to support FreeBSD).
As I mentioned at the beginning of all of this, you really need to know what you’re doing. And, it’s even moreso than I expected (and I expected a lot of trouble, but I figured somebody using FreeBSD with Webmin would have helped us maintain those config files, but I guess that’s not the case).
I think I’m kinda repeating myself over and over here. I said at the very beginning you would need to do the following things: Install dependencies yourself (I linked the sources for how we do that on supported distros). Configure Virtualmin and the services Virtualmin manages to suit a virtual hosting environment (I linked virtualmin-config).
It turns out you will also need to update the paths for some or all of the services Webmin will be managing.
All your questions are still seemingly assuming any of this should be automatic, when we started the conversation with “this will not be automatic on FreeBSD”. (Though, to be fair, I thought Webmin knowing where to look for configs would be automatic because historically we had people who cared enough about Webmin on FreeBSD to send us patches…that doesn’t seem to be the case any more.)
I see this now - the problem is, that as a completely new user, none of this made sense to me. None of those terms meant anything to me until well after I asked for help and began experimenting on my own, and learning.
At this point, I think I am far enough along that I can muddle through this. The paths was the main hangup, but I think I’ve gotten past most of that now that I have a better idea where to look.
Again, thank you for your help, and hopefully this helps someone else down the line who is using FreeBSD, or sparks some interest or updates.
I trusted that the Virtualmin GPL installer repository was being properly maintained, but that seems not to be the case. The URL http://software.virtualmin.com/gpl/wbm/webmin-current.tar.gz should always find the installer for the current version of Webmin. Instead, the webmin-current.tar.gz file is a 30MB file dated 2020-01-16 16:10 that apparently contains version 1.941. Unless and until this problem is fixed, the URL to the latest version of Webmin should be used. Currently, that URL is http://software.virtualmin.com/gpl/wbm/webmin-2.021.tar.gz which should be substituted in the second command line listed above, making it:
We have never encountered any problems with the FreeBSD package management system in the six years we have used it. FreeBSD package management is quite intelligent, routinely and automatically checks installed packages for corruption, and requires substantially less routine maintenance than the Ubuntu package management system that we also use. If you want to compare multiple package management systems more generally, then visit Homebrew — The Missing Package Manager for macOS (or Linux) and The MacPorts Project – Home to evaluate those systems. The FreeBSD FreshPorts pages for the current Webmin dependencies are:
It should be noted that the installation method I suggested is not really from “source” in that nothing is compiled. Webmin is only downloaded, extracted, and then configured by running setup.sh.
I still need to install all the other packages and configure them manually, I’m not sure what advantage your method offers that the regular package install does not.
Installing the packaged versions inevitably leads to having to make future choices between ignoring Webmin upgrade notices and waiting for updated FreeBSD packages to be published, sometimes for months; or allowing Webmin to self-update and to update installed Webmin modules like Virtualmin and Usermin, which causes FreeBSD to detect and repetitively report via email that very large numbers of files installed by the package manager have been corrupted or are missing. It is possible to create empty versions of the files reported as missing using the touch command and then run sudo pkg check --recompute to update all file hashes, but that is time-consuming and tedious, and must be performed after each Webmin self-update. Installing Webmin and Webmin modules directly from the Virtualmin GPL repository enables Webmin to be self-maintaining without causing FreeBSD to detect the changes as installed package corruption.
That URL (Index of /gpl) has been unmaintained for a long time. I’ve continued to push security updates to it, but you shouldn’t be considering it the place to download anything.
We have currently maintained repos at Index of /vm/7/gpl (There are also maintained repos at /vm/6, but that’s the repo for the previous version of the installer. They will stop being maintained when Virtualmin 8 is released.)
Both of those GPL-version directories need maintenance. There is an outdated installer named “webmin-current.tar.gz” in each, but only the directory that I originally referenced contains an unpackaged installer for Webmin 2.021, which is now the current version. The latest unpackaged version in the /vm/7/gpl directory is Webmin 2.013 and the webmin-current.tar.gz file contains version 1.990. Obviously, this is very confusing for users. Perhaps one directory can be for current versions with the other an archive of older versions with each directory clearly linking to the other.
I’ve never really contributed to the FreeBSD community, the last open source community I was a contributor to was the perl “WebStore” community in the 90’s.
So, let’s you & me work on getting this set up GJS so we can see our “tier 2” FreeBSD installs work as well as is possible.
The webmin-current link was for our installer, which no longer supports any systems without good package management (so nobody is getting a tarball when they install with our install script, and I really don’t think anybody should be using a tarball for installing software in this big year of two-thousand and twenty-three…we’ve known about package management for decades). I didn’t know humans were using it or that anybody was relying on it.
The Webmin website has a webmin-current link that is always up to date. But, I guess I can fix my repo scripts to bring it back for the Virtualmin repo, too.