Overview
Dovecot を使用してMRA (Mail Retrieval Agent) を構築します。本稿では、認証情報のバックエンドに LDAP (Lightweight Directory Access Protocol) を使用します。また、MRA は単体では意味を成さないため、Postfix などの MTA (Mail Transfer Agent) と組み合わせて構築する必要があります。
インストール
dovecot
をインストールします。
[root@centos-5 ~]# yum -y install dovecot
/etc/dovecot.conf
/etc/dovecot.conf
をバックアップし、エディターで開きます。
[root@centos-5 ~]# cp /etc/dovecot.conf /etc/dovecot.conf.orig
[root@centos-5 ~]# vim /etc/dovecot.conf
/etc/dovecot.conf
を編集します。
protocols = imaps
mail_location = maildir:~/Maildir
passdb ldap {
args = /etc/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot-ldap.conf
}
protocols = imaps
: Dovecot がサポートするプロトコルに imaps を指定しています。imap は、Internet Message Access Protocol の略で、imaps は IMAP over SSL/TLS の略です。imaps に限定することで、常時暗号化された通信となり、セキュリティを維持できます。mail_location = maildir:~/Maildir
: ユーザーのメールボックスの格納方法にmaildir 形式を指定しています。Maildir 形式は、メールを個々のファイルとして格納する方法であり、複数のプロセスが同時にアクセスしても安全です。passdb ldap {…}
: Dovecot が LDAP を使用してユーザーのパスワードを検証する方法を指定します。args
パラメータは、LDAP 認証に必要な設定が含まれた別の設定ファイルの場所を指定しています。userdb ldap {…}
: Dovecot が LDAP を使用してユーザーのデータベースの検索方法を指定します。args
パラメータは、LDAP ユーザーデータベースに関する設定が含まれた別の設定ファイルの場所を指定しています。
/etc/dovecot-ldap.conf
/etc/dovecot-ldap.conf
をエディタで開きます。
[root@centos-5 ~]# vim /etc/dovecot-ldap.conf
/etc/dovecot-ldap.conf
を編集します。
hosts = 127.0.0.1
dn = cn=myadmin,dc=si1230,dc=com
dnpass = password
base = dc=si1230,dc=com
user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
user_filter = (&(objectClass=posixAccount)(uid=%u))
pass_attrs = uid=user,userPassword=password
pass_filter = (&(objectClass=posixAccount)(uid=%u))
hosts = 127.0.0.1
: LDAP サーバーのホストを指定しています。ここでは、ローカルホストの IP アドレス (127.0.0.1) が指定されていますが、別ホストでも問題ありません。dn = cn=myadmin,dc=si1230,dc=com
: LDAP ディレクトリ内の管理者(Distinguished Name)の情報を指定しています。この例では、cn=myadmin,dc=si1230,dc=com
という Distinguished Name を持つ管理者が使用されることを示しています。dnpass = password
: 管理者のパスワードがpassword
であることを指定しています。実際の環境では、安全な方法でパスワードを保存してください。base = dc=si1230,dc=com
: LDAP ツリーのベース DN を指定しています。これは、LDAP ツリーの開始点を示します。user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
: ユーザー属性を指定しています。これにより、Dovecot は LDAP からユーザーのホームディレクトリ、ユーザー ID、グループ ID を取得します。user_filter = (&(objectClass=posixAccount)(uid=%u))
: ユーザーの検索フィルターを指定しています。ここでは、objectClass
がposixAccount
であり、ユーザー ID:uid
が指定された値:%u
と一致するエントリを検索します。pass_attrs = uid=user,userPassword=password
: パスワード属性を指定しています。LDAP からユーザー名とパスワードを取得するために使用されます。pass_filter = (&(objectClass=posixAccount)(uid=%u))
: パスワードの検索フィルターを指定しています。ユーザーの検索フィルターと同様に、objectClass
がposixAccount
であり、ユーザー ID:uid
が指定された値:%u
と一致するエントリを検索します。
サービス起動設定
dovecot
サービスを起動し、システムの起動時に有効になるように設定します。
[root@centos-5 ~]# service dovecot start && chkconfig dovecot on
[root@centos-5 ~]# chkconfig dovecot --list
CentOS 5 Dovecot MRA メールサーバー構築