Postfix mailer and Dovecot
Postfix mailer and Dovecot
__ _ -o)/ / (_)__ __ ____ __ Derek Winterstien /\\ /__/ / _ \/ // /\ \/ / r.o.a.c.h.@.r.o.b.o.t.z...c.o.m _\_v __/_/_//_/\_,_/ /_/\_\ Trustix Secure Linux / Redhat Linux ..............................................................................
(A). Postfix
Postfix should be configured to start up on boot
chkconfig Postfix on
Make some configuration changes in postfix
vi /etc/postfix/main.cf
Add / Modify the following
inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, $mydomain myorigin = $mydomain
(B). Dovecot
Install from RPM or latest from source.
Compiling Dovecot From Sources:
./configure make sudo make install
Redhat/Fedora
You will need to create a file under /etc/pam.d named dovecot with the following info:
auth required pam_unix.so nullok account required pam_unix.so
SysV Init Script for dovecot:
#!/bin/bash
#
# Init file for Dovecot on Trustix Linux
# Dovecot was compiled from source.
# Written by Derek B. Winterstien
# http://linux.dbw.org/
# Star City Linux User Group
source /etc/init.d/functions
[ -x /usr/local/sbin/dovecot ] || exit 1
[ -r /usr/local/etc/dovecot.conf ] || exit 1
RETVAL=0
prog="dovecot"
desc="dovecot daemon"
start() {
echo -n $"Starting $desc ($prog): "
daemon $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Shutting down $desc ($prog): "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $desc ($prog): "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
SysV Init Runlevels
- redhat: /etc/rc.d/init.d
- trustix: /etc/init.d
Install the init script in the appropriate init.d directory for your distribution. Now create the symlinks and so on with chkconfig.
chkconfig --add dovecot
Verify that dovecot was added to the correct runlevels
/etc/init.d# chkconfig --list|grep dovecot
Right now everything is K's
dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig --level 345 dovecot on
Now dovecot will startup with the system
Dovecot 'run as' User
create a separate dovecot user which doesn't have access to anything. It should also have it's own group where no-one else belongs to. dovecot user isn't used for any kind of mail processing - don't store users' mails as dovecot, and don't put dovecot to mail group.
For Trustix and Redhat the following should be ok:
groupadd -g 97 -r dovecot useradd -d /no/dir -g dovecot -M -u 97 -r -s /bin/false dovecot
Misc Notes From Other Sources
dovecot. `/etc/rc.d/init.d/dovecot start` and `chkconfig dovecot add`. Worked with zero configuration although at first I could not see my folders on the server so I had a bit more configuration of imapd to do. I am not acutally sure how I got dovecot/Thunderbird to talk together completely. I had some strange group ownerhip bits in my mail files so fixing those might have helped. The changes I put into /etc/dovecot.conf included the following, to inform it that I have Mail subdirs in user home dirs to contain IMAP mail and about a couple other technical details:
protocols = imaps #dga imap_listen = [::] imap_listen = * #dga default_mail_env = default_mail_env = mbox:%h/Mail:INBOX=/var/spool/mail/%u #dga mailbox_check_interval = 0 mailbox_check_interval = 60