Symptoms
-
Mailman fails to start on a Plesk for Linux server:
# service mailman status
● mailman.service – GNU Mailing List Manager
Loaded: loaded (/usr/lib/systemd/system/mailman.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2017-01-26 02:49:29 GMT; 1min 3s ago
Process: 488 ExecStart=/usr/lib/mailman/bin/mailmanctl -s start (code=exited, status=1/FAILURE)
Process: 476 ExecStartPre=/bin/chmod 660 /var/log/mailman/error (code=exited, status=0/SUCCESS)
Process: 465 ExecStartPre=/bin/chown mailman:mailman /var/log/mailman/error (code=exited, status=0/SUCCESS
Process: 449 ExecStartPre=/bin/touch /var/log/mailman/error (code=exited, status=0/SUCCESS)
Process: 413 ExecStartPre=/usr/bin/install -m644 -o root -g root /usr/lib/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited, status=0/SUCCESS)
Process: 337 ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg (code=exited, status=0/SUCCESS)plesk mailmanctl[488]: IOError: [Errno 2] No such file or directory: ‘/var/lock/mailman/master-qrunner.plesk.323.1’
OR
plesk mailmanctl[14938]: IOError: [Errno 13] Permission denied: ‘/var/lock/mailman/master-qrunner.plesk. -
Cannot change the mailling list password:
PLESK_ERROR: Error: Failed to change password: listmng failed: Traceback (most recent call last):
File “/usr/lib/mailman//bin/change_pw”, line 211, in <module>
main()
File “/usr/lib/mailman//bin/change_pw”, line 165, in main
mlist.Lock()
File “/usr/lib/mailman/Mailman/MailList.py”, line 161, in Lock
self.__lock.lock(timeout)
File “/usr/lib/mailman/Mailman/LockFile.py”, line 243, in lock
self.__write()
File “/usr/lib/mailman/Mailman/LockFile.py”, line 422, in __write
fp = open(self.__tmpfname, ‘w’)
IOError: [Errno 2] No such file or directory: ‘/var/lock/mailman/master-qrunner.plesk.323.1’
listmng: Error: failed to change password for ‘master-qrunner’ .
Cause
The directory /var/lock/mailman/
is missing or it was created with the incorrect permissions on server boot.
Resolution
Note: This article is intended for use by server administrators. In case there is no administrative SSH access to the server, contact the server administrator or server provider.
-
Connect to the server via SSH
-
Create the directory
/var/lock/mailman/
# [ ! -d “/var/lock/mailman” ] && mkdir /var/lock/mailman/
-
Set the correct permissions and ownership for the directory
/var/run/mailman
:# chown root:mailman /var/run/mailman && chmod 775 /var/run/mailman
If the issue still persists after a server reboot, check the validity of package mailman
using the command rpm -V mailman
(on Debian and Ubuntu, the command is debsums mailman
). Check the output meaning (use https://linux.die.net/man/8/rpm (Verify Options) for reference) and fix the reported issues. For example:
# rpm -V mailman
……G.. /usr/lib/mailman
.M….G.. /usr/lib/mailman/Mailman/mm_cfg.py
……G.. /usr/lib/mailman/Mailman/mm_cfg.pyc
……G.. /usr/lib/mailman/cgi-bin
……G.. /usr/lib/mailman/cron
……G.. /usr/lib/mailman/pythonlib
The output means that group permissions for the files has been modified. To fix the issue, set the correct permissions for reported directories:
# chown -R root:mailman /usr/lib/mailman/pythonlib
# chown -R root:mailman /usr/lib/mailman/cgi-bin
# chown -R root:mailman /usr/lib/mailman/cron
# chown root:mailman /usr/lib/mailman
# chmod…