Dovecot: service launch failing

Hello.

I've got strange issue with my Dovecot service, it's suddenly stopped working and won't launch. First of all, for some reason one configuration file (dovecot-sql.conf) disappeared. I restored it and tried to launch dovecot:

/usr/local/etc/rc.d/dovecot start

which caused the error

Code:
Last died with error (see error log for more information): Auth process died too early - shutting down

I'm looking into /var/log/messages and discovering the details:

Code:
May 18 21:48:04 vm4304 dovecot: auth(default): Fatal: net_listen_unix (/var/spool/postfix/private/auth) failed: No such file or directory

What can be wrong? Would appreciate for any suggestion.
 
Well, solely basing myself on the error you shared it appears that Dovecot is expecting /var/spool/postfix/private/auth to be present while it's not. Why that is so is something I obviously cannot answer, that depends on the way you configured Postfix.
 
Thanks for response, actually it was the first thing I tried to do. I created /var/spool/postfix/private/auth manually and tried to run the service again. This time the log displayed
Code:
Fatal: Socket already exists: /var/spool/postfix/private/auth
which obviously means that the service creates this directory upon launch.
 
heximal said:
Thanks for response, actually it was the first thing I tried to do.
I created /var/spool/postfix/private/auth manually and tried to run service again.
That doesn't tell you anything. Keep in mind that we're not talking about regular files here but sockets (also see the socket(2) manual page).

So obviously weird things will happen if a program expects to open a socket while a regular file is already present.
 
This socket is usually created by dovecot and used by postfix for SASL authentication based on dovecot auth. I'm guessing it might be a permissions issue. Check the /usr/local/etc/dovecot/conf.d/10-master.conf file which is where this socket is usually configured. I usually alter the permissions so that it matches the parent directory and other things in that directory with this config:

Code:
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}

In the last update of the port the path to this socket was changed in the default config. It used to be /var/run/dovecot/auth-client.

Or course this is assuming you actually have postfix installed. If you don't then comment out those lines in that config file.
 
Back
Top