Webmin fails to start

OS type and version AlmaLinux 8.8
Webmin version 2.102

This server has been on Centos 7 for years with Webmin. Yesterday I successfully upgraded the OS to AlmaLinux 8.8 using their “Elevate” scripts, however Webmin refuses to start. I’ve tried removing Webmin with dnf autoremove and reinstalling using the process at Downloading and Installing | Webmin. Webmin still fails to start. Output of “systemctl status webmin”:

● webmin.service - Webmin server daemon
Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2023-09-08 09:23:54 CDT; 661ms ago
Process: 48400 ExecStart=/usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf (code=exited, status=127)

Sep 08 09:23:54 smb1.gbtrealty.com systemd[1]: webmin.service: Control process exited, code=exited status=127
Sep 08 09:23:54 smb1.gbtrealty.com systemd[1]: webmin.service: Failed with result ‘exit-code’.
Sep 08 09:23:54 smb1.gbtrealty.com systemd[1]: Failed to start Webmin server daemon.

I’ve tried researching this and in doing that attempted a manual start using “perl /usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf” and the output is this:

perl: symbol lookup error: /usr/local/lib64/perl5/auto/Digest/MD5/MD5.so: undefined symbol: Perl_xs_apiversion_bootcheck

Now I’m stuck - I’ve not found good information for troubleshooting this error.

Thanks for any assistance!

You previously installed some Perl libraries via cpan rather than from your OS package manager. That was a mistake (and this is why it is a mistake to install stuff outside of your package manager in almost every case).

Remove the now outdated and unusable local Perl crap and install all the libraries you need via your package manager. e.g. dnf install perl-Digest-MD5. And, whatever else shows up as missing after you install this and try to restart Webmin.

Use your package manager next time, and upgrades will be much lower risk.

1 Like

Joe -

Thanks for your reply. I’m not knowledgeable of Perl and I inherited this system so it’s tough to say what its past looked like! I understand the difference between using cpan and the package manager - but I do not know how to clean up (or even identify) anything that was installed via cpan. Google searches aren’t much help. Do you have any tips for how I straighten this out?

Anything in /usr/local was almost certainly installed from source and without involvement of the package manager (if a package puts something in /usr/local the package is wrong).

Note this is not a recommendation to rm -rf everything in /usr/local. More a recommendation to make a list of everything that’s in /usr/local and then fix that problem (it is a problem to have from-source software on a production server).

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.