dovecotでpop3サーバを構築(ソースからインストール)

DOVECOTのページからtarball形式のアーカイブをダウンロードします。

インストール

$ wget http://dovecot.org/releases/1.1/dovecot-1.1.1.tar.gz
$ tar -zxvf
$ cd 
$ ./configure --without-pam --without-vpopmail  --without-ldap --without-ssl --disable-ipv6
    :
    :
Install prefix ...................... : /usr/local
File offsets ........................ : 64bit
I/O loop method ..................... : epoll
File change notification method ..... : inotify
Building with SSL support ........... : no
Building with IPv6 support .......... : no
Building with pop3 server ........... : yes
Building with mail delivery agent  .. : yes
Building with GSSAPI support ........ : no
Building with user database modules . : static prefetch passwd passwd-file checkpassword nss
Building with password lookup modules : passwd passwd-file shadow checkpassword
Building with SQL drivers ............:
$ make
$ make install

設定

システムユーザのパスワードを使うようにする

$ cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf
$ vi /usr/local/etc/dovecot.conf

pamの設定箇所は#でコメントアウト
以下の設定を追記もしくは修正
protocols = imap imaps pop3
mail_location = maildir:~/Maildir
disable_plaintext_auth = no

起動

$ /usr/local/sbin/dovecot

ログ

$  tail /var/log/maillog

起動スクリプトの作成

$ vi /etc/rc.d/init.d/dovecot
#!/bin/bash
#
#       /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: - 65 35
# description: Dovecot Imap Server
# processname: dovecot
# Source function library.
. /etc/init.d/functions

test -x /usr/sbin/dovecot || exit 0

RETVAL=0
prog="Dovecot Imap"

start() {
        echo -n $"Starting $prog: "
        daemon /usr/sbin/dovecot
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
        echo
        echo
}

stop() {
        echo -n $"Stopping $prog: "
        killproc /usr/sbin/dovecot
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
        echo
}

#
#       See how we were called.
#
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload|restart)
        stop
        start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f /var/lock/subsys/dovecot ]; then
            stop
            start
        fi
        ;;
  status)
        status /usr/sbin/dovecot
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
        exit 1
esac

exit $RETVAL

$ chmod 755 /etc/rc.d/init.d/dovecot
$ chkconfig --add dovecot

起動に失敗する場合

その1

dovecot: child ----- (auth) returned error 89
のようなエラーで失敗する場合は下記コマンドで指定フォルダ以下を削除

$ rm -Rf /var/run/dovecot
その2

Error: Login user doesn't exist: dovecot
Fatal: Invalid configuration in /usr/local/etc/dovecot.conf
dovecotユーザを作成

$ useradd dovecot