この記事は CentOS 5 を前提にした古いサーバー構築・保守手順の記録です。CentOS 5 は既にサポートが終了しているため、新規構築では現行の Linux ディストリビューションを利用してください。ここでは、当時の環境を保守・確認するための資料として整理しています。
参考書籍
Postfix 実用ガイド
Postfix の設計、設定、運用を詳しく確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
概要
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関連記事
- CentOS 5 サーバー構築・保守ガイド – レガシー Linux 手順の整理
- CentOS 5 Postfix 内部用メールサーバー構築 – LAN 内配送の基本
- CentOS 5 Postfix 外部用メールサーバー構築 – インターネット配送の基本
- CentOS 5 メールエイリアス設定 – aliases と newaliases の基本
- CentOS 5 OpenLDAP サーバー構築 – slapd.conf と初期データ登録
- CentOS 5 Samba ファイルサーバー構築 – OpenLDAP 連携と共有設定
CentOS 5 Dovecot メール受信サーバー構築 – LDAP 連携と IMAP/POP3



