Update to latest dovecot : Fail to start

ssgill

Verified User
Joined
May 9, 2012
Messages
173
Hello just updated dovecot from directadmin panel and dovecot is failing to start with this error

systemctl status dovecot
â— dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/etc/systemd/system/dovecot.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2025-04-25 12:19:43 MDT; 8s ago
Process: 1719627 ExecStart=/usr/sbin/dovecot -F (code=exited, status=89)
Main PID: 1719627 (code=exited, status=89)
CPU: 6ms

Apr 25 12:19:43 matrix.domain.com systemd[1]: Started Dovecot IMAP/POP3 email server.
Apr 25 12:19:43 matrix.domain.com dovecot[1719627]: doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/90-master-user.conf line 2: passdb { } is missing section name
Apr 25 12:19:43 matrix.domain.com systemd[1]: dovecot.service: Main process exited, code=exited, status=89/n/a
Apr 25 12:19:43 matrix.domain.com systemd[1]: dovecot.service: Failed with result 'exit-code'.

/etc/dovecot/conf.d/90-master-user.conf

cat /etc/dovecot/conf.d/90-master-user.conf
auth_master_user_separator = +
passdb {
driver = passwd-file
args = /etc/dovecot/passwd.masterusers
master = yes
result_success = continue
}
passdb {
driver = shadow
}
userdb {
driver = passwd
}

Thanks
 
Reverted back to version 2.3.21.1 and now it's working. Looks like i jumped to version 2.4.x and some thing didn't worked right.
Only custom for dovecot i have is
usr/local/directadmin/custombuild/custom/dovecot/conf.d/90-sieve.conf
#protocols = imap pop3 lmtp sieve

#Managesieve service (allows rules editing on client-side)
service managesieve-login {
inet_listener sieve {
port = 4190
}
service_count = 1
process_min_avail = 4
}

service managesieve {
}

protocol sieve {
managesieve_max_line_length = 65536
managesieve_implementation_string = Dovecot Pigeonhole
managesieve_max_compile_errors = 5
managesieve_logout_format = bytes=%i/%o
log_path = /var/log/dovecot-sieve-errors.log
info_log_path = /var/log/dovecot-sieve.log
}

plugin {
#More details: http://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration
# The location of the user's main script storage. The active script
# in this storage is used as the main user script executed during
# delivery. The include extension fetches the :personal scripts
# from this location. When ManageSieve is used, this is also where
# scripts are uploaded. This example uses the file system as
# storage, with all the user's scripts located in the directory
# `~/sieve' and the active script (symbolic link) located at
# `~/.dovecot.sieve'.
sieve = file:~/sieve;active=~/.dovecot.sieve

# If the user has no personal active script (i.e. if the location
# indicated in sieve= does not exist or has no active script), use
# this one:
sieve_default = /var/lib/dovecot/sieve/default.sieve

# The include extension fetches the :global scripts from this
# location.
sieve_global = /var/lib/dovecot/sieve/global/


# Always send vacation messages with the SMTP MAIL FROM envelope address set
# to the recipient. This is needed for the vacation response to be DKIM
# signed by Exim. See
# <https://wiki2.dovecot.org/Pigeonhole/Sieve/Extensions/Vacation> for more
# information.
sieve_vacation_send_from_recipient = yes


}
But error is not related to this file, it was thrown for "/etc/dovecot/conf.d/90-master-user.conf"

Any idea what went wrong, for future upgrade.

Thanks
 
Hello,

It is a custom file /etc/dovecot/conf.d/90-master-user.conf from your own installation. A default installation of Dovecot from DirectAdmin does not use /etc/dovecot/conf.d/90-master-user.conf, you should follow documentation as Kristian mentioned and update the file, or revert back (as you already did).

But error is not related to this file, it was thrown for "/etc/dovecot/conf.d/90-master-user.conf"
 
Back
Top