dovecot 1.0.10

(最終更新日時:2008-01-28 18:55:37)

ダウンロード

Stable releases sourcesdovecot-1.0.10.tar.gz

事前準備

関連パッケージとして、下記を事前にインストールしておきます。
MySQL データベース 認証情報管理に MySQL を使用します

インストール

Dovecot用のgroupおよびuserを作成します。
# groupadd -g 97 dovecot
# useradd  -g dovecot -s /sbin/nologin -d /usr/local/libexec/dovecot -M -u 97 dovecot
/usr/local/srcディレクトリでアーカイブを展開し、コンパイルおよびインストールを行います。
# cd /usr/local/src
# tar xzvf ダウンロード先/dovecot-1.0.10.tar.gz
# cd dovecot-1.0.10
# ./configure \
>   --with-sql \                                         SQLによる認証を行います
>   --with-mysql \                                       MySQLを使用します
>   --without-passwd \                                   /etc/passwdによる認証は行いません
>   --without-passwd-file \                              /etc/passwd形式のファイルによる認証は行いません
>   --without-pam \                                      pamによる認証は行いません
>   --without-checkpassword \                            checkpasswordプログラムによる認証は行いません
>   --without-bsdauth \                                  BSD認証は行いません
>   --without-static-userdb \                            静的定義による認証は行いません
>   --without-prefetch-userdb                            その他のユーザデータベースによる認証は行いません
# make
# make install

設定

定義ファイルを設定します。
# cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf
# vi /usr/local/etc/dovecot.conf
#protocols = imap imaps pop3 pop3s                       対応サービスに POP3/POP3S を追加します
     :
#disable_plaintext_auth = yes                            SSL/TLS以外では接続しませんのでデフォルトのままです#ssl_cert_file = /etc/postfix/ssl/server.crt             postfixと共有しています
#ssl_key_file  = /etc/postfix/ssl/server.key#mail_location = maildir:%h                              メールはMaildir形式でホームディレクトリにあります
     :
auth default {
     :
  #pop3_uidl_format = %08Xu%08Xv
  # (別のPOP3サーバから移行する場合は、そのフォーマットを指定します)
     :
  mechanisms = plain login                               認証メカニズムに LOGIN を追加しています#passdb pam {                                          PAMによるパスワード認証は行いません#}

  # System users (NSS, /etc/passwd, or similiar)
     :
  # SQL database <doc/wiki/AuthDatabase.SQL.txt>
  #passdb sql {                                          データベースによるパスワード認証を行います
    # Path for SQL configuration file, see doc/dovecot-sql-example.conf
    #args = /usr/local/etc/dovecot-mysql.conf            認証の定義ファイルを指定します
  #}
     :
  #userdb passwd {                                       /etc/passwdによるユーザ認証は行いません#}

  # passwd-like file with specified location
     :
  #userdb sql {                                          データベースによるユーザ認証を行います
    # Path for SQL configuration file, see doc/dovecot-sql-example.conf
    #args = /usr/local/etc/dovecot-mysql.conf            認証の定義ファイルを指定します
  #}
     :
  #socket listen {                                       postfixからの認証要求リクエストを監視するようにします#client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
      #path = /var/spool/postfix/private/auth            postfixとの通信ソケットファイルを指定します
      #mode = 0660                                       通信ソケットファイルのパーミッションを指定します
      user  = postfix                                    通信ソケットファイルの所有者を指定します
      group = postfix
    #}
  #}
     :

認証の定義ファイルを設定します。
# cp -fv /usr/local/src/dovecot-1.0.10/doc/dovecot-sql-example.conf /usr/local/etc/dovecot-mysql.conf
# vi /usr/local/etc/dovecot-mysql.conf

     :
# Database driver: mysql, pgsql, sqlite
#driver = mysql         MySQLを使用します#connect = host=/tmp/mysql.sock dbname=postfix user=postfix password=接続パスワード
# (MySQLとの通信ソケットファイル、データベース名、接続ユーザー、接続パスワードを指定します)#default_pass_scheme = MD5-CRYPT         Postfix Adminのパスワード保存形式は MD5-CRYPT です#password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
# (パスワードを取得するSQL文を指定します)#user_query = SELECT concat('/home/postfix/', maildir) as home, 5000 as uid, 5000 as gid FROM mailbox WHERE username = '%u' AND active = '1'
# (ユーザ情報を取得するSQL文を指定します)
# (home は ユーザメールボックスのホームディレクトリです)
# (uid, gid は postfix の virtual_uid_maps, virtual_uid_maps と同じ値にします)

起動

自動起動設定を行います。
# vi /etc/rc.d/init.d/dovecot

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

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

RETVAL=0
prog="Dovecot IMAP/POP3"

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

stop() {
        echo -n $"Stopping $prog: "
        killproc /usr/local/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/local/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 dovecot on
ファイアーウォール iptables の設定を追加します。
# vi /usr/local/sbin/firewall.sh
# --- (INPUTチェイン) ---# POP3/POP3S接続を許可
iptables -A INPUT -i $EXTIF -p tcp --dport 110 -j CHK-SYNFLOOD
iptables -A INPUT -i $EXTIF -p tcp --dport 995 -j CHK-SYNFLOOD

# IMAP/IMAPS接続を許可
iptables -A INPUT -i $EXTIF -p tcp --dport 143 -j CHK-SYNFLOOD
iptables -A INPUT -i $EXTIF -p tcp --dport 993 -j CHK-SYNFLOOD# --- (OUTPUTチェイン) ---# POP3/POP3S接続を許可
iptables -A OUTPUT -o $EXTIF -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT

# IMAP/IMAPS接続を許可
iptables -A OUTPUT -o $EXTIF -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT
# firewall.sh                                            設定を反映させます
dovecotを起動します。
# service dovecot start
a System House to build an Accounting system by the Computer Technology