Dovecot can simply be started by running dovecot as root.
If you wish to, you can also [:InetdInstall:start Dovecot from inetd or xinetd], but don't try that before you know the Dovecot installation is actually working.
A sample /etc/init.d script (as provided in Ubuntu 6.06) can be found in DovecotInit
To properly start dovecot in MacOS X 10.4 use this [:LaunchdInstall:sample launchd plist file]
Just kill the Dovecot master process with a normal TERM signal, it does a clean shutdown. shutdown_clients setting controls whether existing IMAP and POP3 sessions are killed.
When Dovecot is running, it uses several processes:
# ps auxw|grep "dovecot\|imap\|pop3" root 25992 0.0 0.1 3512 1248 ? Ss Jan02 2:49 dovecot nobody 25993 0.0 0.1 6260 1920 ? S Jan02 0:10 dovecot-auth nobody 27570 0.0 0.1 6264 1928 ? S 22:45 0:00 dovecot-auth -w dovecot 25994 0.0 0.1 3276 1440 ? S Jan02 0:19 pop3-login dovecot 16809 0.0 0.1 3284 1444 ? S 04:23 0:03 imap-login user 27572 0.0 0.0 2156 740 ? S 22:45 0:00 imap user 27734 0.0 0.0 2096 948 ? S 22:51 0:00 pop3
dovecot process is the Dovecot master process which keeps everything running.
dovecot-auth process handles all authentication.
dovecot-auth -w process is an "authentication worker" process, currently only used with MySQL to execute SQL queries.
imap-login and pop3-login processes handle new IMAP and POP3 connections until user has logged in.
imap and pop3 processes handle the IMAP and POP3 connections after user has logged in.
Send HUP signal to dovecot process. An acknowledgement is written to log file:
dovecot: Jan 08 00:36:45 Warning: SIGHUP received - reloading configuration
Note that log file locations aren't changed unless you fully stop and restart Dovecot.
Running Multiple Invocations of Dovecot
You may wish to invoke a second session of Dovecot for testing (or even multiple sessions) different functionality, configurations, etc. In order to to run multiple instances of Dovecot, you must:
- Make another run directory, e.g. /var/run/dovecot2
- Create a differently named copy of the dovecot.conf configuration file with these changes:
- change base_dir to the new run directory
- change the listen and ssl_listen port number to new, unused values
- change login_dir to the new run directory. If base_dir is now /var/run/dovecot2, then login_dir = /var/run/dovecot2/login
- Invoke dovecot with the -c flag and the modified configuration file, e.g.: dovecot -c /usr/local/etc/dovecot2.conf
Multiple Dovecot invocations can use the same authorization. As per TS: If all Dovecot instances use the same auth databases, then you need just one Dovecot instance with master sockets and set everyone's auth_socket_path to that. Client sockets are used only for SMTP AUTH; Anyway the same thing with them. You can make each instance have separate sockets as well if you want. You shouldn't have multiple client and master sockets point to the same path.
Rotating Log Files
If you specified log file paths manually in dovecot.conf instead of using syslog, you can send USR1 signal to Dovecot to make it close and reopen the log files.
If you can't see the Dovecot processes running after starting dovecot, something is most likely wrong in your dovecot.conf. Look at the error from Dovecot's log file. See ["Logging"] for how to find the log.
If you really can't find any error messages from any logs, try starting Dovecot with dovecot -F. If you see it crash like:
sh: segmentation fault (core dumped) dovecot -F
Then it's a bug in Dovecot. Please report it with your configuration file.
If it simply quits without giving any error, then it wrote the error to a log file and you just didn't find it. Try specifying the log file manually and make sure you're really looking at the correct file.