Overview
Dovecot を使用してMRA (Mail Retrieval Agent) を構築します。本稿では、認証情報のバックエンドに LDAP (Lightweight Directory Access Protocol) を使用します。また、MRA は単体では意味を成さないため、Postfix などの MTA (Mail Transfer Agent) と組み合わせて構築する必要があります。
インストール
dovecot をインストールします。
yum -y install dovecot/etc/dovecot.conf
/etc/dovecot.conf を編集します。
cat > /etc/dovecot.conf <<'EOF'
protocols = imaps
mail_location = maildir:~/Maildir
passdb ldap {
args = /etc/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot-ldap.conf
}
EOFprotocols = 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 を編集します。
cat > /etc/dovecot-ldap.conf <<'EOF'
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))
EOFhosts = 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 サービスを起動し、システムの起動時に有効になるように設定します。
service dovecot start && chkconfig dovecot on
chkconfig dovecot --list
参考
書籍
書籍
参考書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 5 Dovecot MRA メールサーバー構築






