Ho modificato lo startup script distribuito da Dovecot e l'ho salvato come /usr/local/bin/dovecotctl:
#!/bin/bash ### BEGIN INIT INFO # Provides: dovecot # Required-Start: $local_fs $remote_fs $network $syslog $time # Required-Stop: $local_fs $remote_fs $network $syslog # Should-Start: postgresql mysql slapd winbind # Should-Stop: postgresql mysql slapd winbind # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Dovecot init script # Description: Init script for dovecot services ### END INIT INFO # Example /etc/init.d/dovecot script. Change DAEMON if necessary. # License is public domain. DAEMON=/usr/local/dovecot/sbin/dovecot # Uncomment to allow Dovecot daemons to produce core dumps. #ulimit -c unlimited test -x $DAEMON || exit 1 set -e base_dir=`$DAEMON config -h base_dir` pidfile=$base_dir/master.pid if test -f $pidfile; then running=yes else running=no fi case "$1" in start) echo -n "Starting Dovecot" $DAEMON echo "." ;; stop) if test $running = yes; then echo "Stopping Dovecot" kill `cat $pidfile` echo "." else echo "Dovecot is already stopped." fi ;; reload) if test $running = yes; then echo -n "Reloading Dovecot configuration" kill -HUP `cat $pidfile` echo "." else echo "Dovecot isn't running." fi ;; restart|force-reload) echo -n "Restarting Dovecot" if test $running = yes; then kill `cat $pidfile` sleep 1 fi $DAEMON echo "." ;; *) echo "Usage: dovecotctl {start|stop|reload|restart|force-reload}" >&2 exit 1 ;; esac exit 0
wget -O /usr/local/bin/dovecotctl https://notes.sagredo.eu/files/qmail/dovecot/dovecotctl chmod +x /usr/local/bin/dovecotctl
Avviamo Dovecot e questo è quello che si dovrebbe vedere :
> dovecotctl Usage: dovecotctl {start|stop|reload|restart|force-reload} > dovecotctl start Starting Dovecot. > ps axfu root 164 0.0 0.0 4692 2940 ? Ss Jul29 0:06 /usr/local/dovecot/sbin/dovecot dovecot 167 0.0 0.0 4356 1148 ? S Jul29 0:01 \_ dovecot/anvil root 168 0.0 0.0 4616 2968 ? S Jul29 0:01 \_ dovecot/log root 169 0.0 0.0 7888 4796 ? S Jul29 0:06 \_ dovecot/config dovecot 344 0.0 0.0 6084 3112 ? S Jul29 0:04 \_ dovecot/stats vpopmail 16052 0.0 0.0 8760 6900 ? S 17:26 0:00 \_ dovecot/imap-login dovecot 16053 0.0 0.0 10820 7744 ? S 17:26 0:00 \_ dovecot/auth dovecot 16054 0.0 0.0 10836 7452 ? S 17:26 0:00 \_ dovecot/auth -w vpopmail 16055 0.0 0.0 44276 9340 ? S 17:26 0:00 \_ dovecot/imap
Lanciare Dovecot al boot
Per lanciare Dovecot all'avvio del server è sufficiente aggiungere una riga come questa nel file rc.local
/usr/local/bin/dovecotctl start &
In caso, come è molto probabile, ti trovi in un sistema basato su systemd
, il file rc.local è salvato in /etc/rc.local e dovrai istruire systemd
affinchè esso venga eseguito all'avvio della macchina. Per ricordare come si fa sei invitato a leggere questo commento (grazie a GoofY).
E' importante settare il proprio rc.local perchè da ora in poi tutti i servizi verranno lancoati all'avvio da questo script e non da daemontools
.
Dovecot sotto daemontools
Se si vuole far girare Dovecot
sotto daemontools
leggere le indicazione spoegate in questo commento.