Webmin service won't start after upgrade

SYSTEM INFORMATION
OS type and version Debian GNU/Linux 10
Webmin version 2.013
Usermin version 1.861
Virtualmin version 7.5.gpl-1
Theme version 20.13

I have been running Webmin 2.011 quite happily for a few weeks.
2 days ago I tried to update to Webmin 2.013 and webmin won’t start anymore.
All the hosted domains still work; https is served, mail is received, mail is sent, … It’s just the control panel that doesn’t work.

I updated Webmin through the control panel.
It took way way longer than it has usually does. I went away for 40 minutes and it was still running; I left it running in the background and I don’t even know when it finished.

I’ve been looking around but I found myself unable to see anything more than “restart the service” or "use this miniserv config (which is the same I already have).
I couldn’t even see how to start Webmin in a verbose mode or access more detailed logs.
I’m quite lost.
Can somebody please help out?

Virtualmin info host
hostname: [redacted]
module root: /usr/share/webmin/virtual-server
os: Debian Linux 10
root: /usr/share/webmin
theme version: 20.13
virtualmin version: 7.5.gpl-1
webmin version: 2.013

#systemctl restart webmin
Job for webmin.service failed because a timeout was exceeded.
See “systemctl status webmin.service” and “journalctl -xe” for details.

#systemctl status webmin.service
● webmin.service - Webmin server daemon
Loaded: loaded (/lib/systemd/system/webmin.service; enabled; vendor preset: enabled)
Active: activating (start) since Fri 2023-02-17 10:58:33 UTC; 5s ago
Cntrl PID: 1834 (miniserv.pl)
Tasks: 1 (limit: 2327)
Memory: 83.6M
CGroup: /system.slice/webmin.service
└─1834 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
Feb 17 10:58:33 [redacted] systemd[1]: Starting Webmin server daemon…
Feb 17 10:58:33 [redacted] perl[1834]: pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= r
Feb 17 10:58:35 [redacted] webmin[1834]: Webmin starting

#journalctl -xe
Feb 17 10:55:23 [redacted] webmin[1821]: Webmin starting
Feb 17 10:55:25 [redacted] saslauthd[67]: pam_unix(smtp:auth): check pass; user unknown
Feb 17 10:55:25 [redacted] saslauthd[67]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser=
Feb 17 10:55:27 [redacted] saslauthd[67]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Feb 17 10:55:27 [redacted] saslauthd[67]: : auth failure: [user=www22@[redacted]] [service=smtp] [realm=pa
Feb 17 10:55:27 [redacted] postfix/smtpd[1557]: warning: unknown[80.94.95.205]: SASL LOGIN authentication failed: authent
Feb 17 10:55:27 [redacted] postfix/smtpd[1557]: disconnect from unknown[80.94.95.205] ehlo=1 auth=0/1 rset=1 quit=1 comma
Feb 17 10:55:36 [redacted] systemd[1]: webmin.service: Start operation timed out. Terminating.
Feb 17 10:55:36 [redacted] systemd[1]: webmin.service: Control process exited, code=killed, status=15/TERM
– Subject: Unit process exited
– Defined-By: systemd
– Support: [https link removed]

– An ExecStart= process belonging to unit webmin.service has exited.

– The process’ exit code is ‘killed’ and its exit status is 15.
Feb 17 10:55:36 [redacted] systemd[1]: webmin.service: Failed with result ‘timeout’.
– Subject: Unit failed
– Defined-By: systemd
– Support: [https link removed]

– The unit webmin.service has entered the ‘failed’ state with result ‘timeout’.
Feb 17 10:55:36 [redacted] systemd[1]: Failed to start Webmin server daemon.
– Subject: A start job for unit webmin.service has failed
– Defined-By: systemd
– Support: [https link removed]

– A start job for unit webmin.service has finished with a failure.

– The job identifier is 311108 and the job result is failed.

#less /lib/systemd/system/webmin.service
[Unit]
Description=Webmin server daemon
[Service]
Environment=“PERLLIB=/usr/share/webmin”
ExecStart=/usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
ExecStop=/bin/kill $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/var/webmin/miniserv.pid
Type=forking
Restart=always
RestartSec=2s
TimeoutSec=15s
[Install]
WantedBy=multi-user.target

#less /etc/webmin/miniserv.conf
/port=10000
addtype_cgi=internal/cgi
realm=Webmin Server
logfile=/var/webmin/miniserv.log
errorlog=/var/webmin/miniserv.error
pidfile=/var/webmin/miniserv.pid
logtime=168
ssl=1
no_ssl2=1
no_ssl3=1
no_tls1=1
no_tls1_1=1
ssl_honorcipherorder=1
no_sslcompression=1
env_WEBMIN_CONFIG=/etc/webmin
env_WEBMIN_VAR=/var/webmin
atboot=1
logout=/etc/webmin/logout-flag
listen=10000
denyfile=.pl$
log=1
blockhost_failures=5
blockhost_time=60
syslog=1
ipv6=1
session=1
userfile=/etc/webmin/miniserv.users
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
passwd_cindex=2
passwd_mindex=4
passwd_mode=0
preroot=authentic-theme
passdelay=1
failed_script=/etc/webmin/failed.pl
login_script=/etc/webmin/login.pl
cipher_list_def=1
logout_script=/etc/webmin/logout.pl
sudo=1
sessiononly=/virtual-server/remote.cgi
preload=virtual-server=virtual-server/virtual-server-lib-funcs.pl virtual-server=virtual-server/feature-unix.pl virtual-server=virtual-server/featur$ssl_cipher_list=ECDHE-RSA-AES256-SHA384:AES256-SHA256:AES256-SHA256:RC4:HIGH:MEDIUM:+TLSv1:+TLSv1.1:+TLSv1.2:!MD5:!ADH:!aNULL:!eNULL:!NULL:!DH:!ADH:$error_handler_403=403.cgi
error_handler_401=401.cgi
error_handler_404=404.cgi
nolog=/stats.cgi?xhr-stats=general
logouttimes=
premodules=WebminCore
root=/usr/share/webmin
mimetypes=/usr/share/webmin/mime.types
server=MiniServ/2.013

I just realised I’m a bit dumb.
I could just check /lib/systemd/system/webmin.service to find out that I can manually start Webmin in a slightly more verbose mode by running:

perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf

The result was:

#perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
Failed to bind to port 80 : Address already in use
Failed to bind to port 80 : Address already in use

#netstat -plant | grep 80
tcp 0 0 10.0.3.215:25 80.94.95.205:21372 TIME_WAIT -
tcp 0 0 10.0.3.215:25 141.98.10.151:48018 TIME_WAIT -
tcp 0 0 10.0.3.215:25 80.94.95.205:59876 TIME_WAIT -
tcp 0 0 10.0.3.215:25 80.94.95.205:33952 TIME_WAIT -
tcp 0 0 10.0.3.215:25 80.94.95.205:8544 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 284/apache2

Which made me pay more attention to /etc/webmin/miniserv.conf

#less /etc/webmin/miniserv.conf
/port=10000
[…]

I just had to remove that / so it read:

#less /etc/webmin/miniserv.conf
port=10000
[…]

No idea how that / got in there. I never opened that file myself until after this error happened.
The issue is solved for me.

1 Like

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