今天将自己用源码安装的整套邮件系统升了下级到最新版,其它组件还好,升级完后均可正常启动。
仅将Dovecot从2.3.0.1升级到2.3.1后,启动却出现以下报错:
[root@mail ~]# tailf /var/log/maillog
Jun 15 14:58:55 mail clamd[111293]: SelfCheck: Database status OK.
Jun 15 15:01:16 mail dovecot: master: Fatal: service(stats) Group doesn't exist: dovecot (See service stats { unix_listener /usr/local/dovecot/var/run/dovecot/stats-writer { group } } setting)
提示要赋予给stats-writer的unix_listener Sockets文件具有的dovecot组不存在;这个用户/组当然不存在,因为我给dovecot指定/使用的内部默认用户是vmail,由于无法赋权就导致启动失败。
解决也简单,把默认组(default_internal_group)的设置也配置上即可
[root@mail ~]# cd /usr/local/dovecot [root@mail dovecot]# vim etc/dovecot/conf.d/10-master.conf
... default_internal_user = vmail default_internal_group = vmail ...
[root@mail ~]# systemctl start dovecot
[root@mail ~]# systemctl status dovecot
● dovecot.service - Dovecot Mail Receive Agent
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-15 15:39:34 CST; 21min ago
Process: 84723 ExecStop=/usr/local/dovecot/bin/doveadm stop (code=exited, status=75)
Process: 13426 ExecReload=/usr/local/dovecot/bin/doveadm reload (code=exited, status=0/SUCCESS)
Process: 129509 ExecStart=/usr/local/dovecot/sbin/dovecot (code=exited, status=0/SUCCESS)
Main PID: 129511 (dovecot)
CGroup: /system.slice/dovecot.service
├─129511 /usr/local/dovecot/sbin/dovecot
├─129512 dovecot/anvil
├─129513 dovecot/log
└─129514 dovecot/config
Jun 15 15:39:34 mail.xxx.com systemd[1]: Starting Dovecot Mail Receive Agent...
Jun 15 15:39:34 mail.xxx.com systemd[1]: PID file /usr/local/dovecot/var/run/dovecot/master.pid not readable (yet?) after start.
Jun 15 15:39:34 mail.xxx.com dovecot[129511]: master: Dovecot v2.3.1 () starting up for imap, pop3, lmtp (core dumps disabled)
Jun 15 15:39:34 mail.xxx.com systemd[1]: Started Dovecot Mail Receive Agent.
[root@mail ~]#