今天将自己用源码安装的整套邮件系统升了下级到最新版,其它组件还好,升级完后均可正常启动。
仅将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 ~]#