手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 Dovecot MRA メールサーバー構築

目次に戻る

Overview

Dovecot を使用して MRA (Mail Retrieval Agent) を構築します。MRA とは、MTA (Mail Transfer Agent) がローカル配送でメールボックスに保存したメールを取り出し、MUA (Mail User Agent) に提供する機能を指します。MRA は、その機能上、MTA と同じサーバー上で実行される必要がありますが、メールボックスを NFS で共有して別サーバーで実行する設計も考えられます。この設計は、MTA, MRA の冗長構成においても良い選択肢の一つです。

前提条件

  • こちらを参考に基本設定が完了していること。
  • IMAP のみを前提としています。
  • LDAP 認証を前提としています。LDAP との連携は PAM, SSSD を介して行うため、Dovecot としての LDAP 設定はありません。
  • Sieve を使用したサーバーサイドでのメール振り分けを想定しています。

インストール

Dovecot をインストールします。dovecot-managesieved は Sieve の利用に必要です。

myadmin@ubuntu:~$ sudo apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install dovecot-core dovecot-imapd dovecot-managesieved

/etc/dovecot/conf.d/10-mail.conf

10-mail.conf はメールボックスの設定が含まれます。

デフォルト値

デフォルト値は下記の通りです。

myadmin@ubuntu:~$ grep -v -e '^s*#' -e '^s*$' /etc/dovecot/conf.d/10-mail.conf | expand | tr -s [:space:] | sed 's/^s/    /g'
mail_location = mbox:~/mail:INBOX=/var/mail/%u
namespace inbox {
    inbox = yes
}
mail_privileged_group = mail
protocol !indexer-worker {
}

設定値

設定例は下記の通りです。

myadmin@ubuntu:~$ sudo cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.orig
myadmin@ubuntu:~$ sudo tee /etc/dovecot/conf.d/10-mail.conf <<"EOF"
mail_location = maildir:~/Maildir
namespace inbox {
    inbox = yes
}
mail_privileged_group = mail
protocol !indexer-worker {
}
EOF

/etc/dovecot/conf.d/10-master.conf

10-master.conf は Dovecot SASL の設定が含まれます。

デフォルト値

デフォルト値は下記の通りです。

myadmin@ubuntu:~$ grep -v -e '^s*#' -e '^s*$' /etc/dovecot/conf.d/10-master.conf | expand | tr -s [:space:] | sed 's/^s/    /g'
service imap-login {
    inet_listener imap {
    }
    inet_listener imaps {
    }
}
service pop3-login {
    inet_listener pop3 {
    }
    inet_listener pop3s {
    }
}
service submission-login {
    inet_listener submission {
    }
}
service lmtp {
    unix_listener lmtp {
    }
}
service imap {
}
service pop3 {
}
service submission {
}
service auth {
    unix_listener auth-userdb {
    }
}
service auth-worker {
}
service dict {
    unix_listener dict {
    }
}

設定値

設定例は下記の通りです。設定値の存在しない項目は削除しています。

myadmin@ubuntu:~$ sudo cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig
myadmin@ubuntu:~$ sudo tee /etc/dovecot/conf.d/10-master.conf <<"EOF"
service imap-login {
    inet_listener imap {
    }
    inet_listener imaps {
    }
}
service pop3-login {
    inet_listener pop3 {
    }
    inet_listener pop3s {
    }
}
service submission-login {
    inet_listener submission {
    }
}
service lmtp {
    unix_listener lmtp {
    }
}
service imap {
}
service pop3 {
}
service submission {
}
service auth {
    unix_listener auth-userdb {
    }
    unix_listener /var/spool/postfix/private/auth {
        mode = 0666
        user = postfix
        group = postfix
    }
}
service auth-worker {
}
service dict {
    unix_listener dict {
    }
}
EOF

/etc/dovecot/conf.d/10-ssl.conf

10-ssl.conf は TLS の設定が含まれます。

デフォルト値

デフォルト値は下記の通りです。

myadmin@ubuntu:~$ grep -v -e '^s*#' -e '^s*$' /etc/dovecot/conf.d/10-ssl.conf | expand | tr -s [:space:] | sed 's/^s/    /g'
ssl = yes
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = </usr/share/dovecot/dh.pem

設定値

設定例は下記の通りです。

myadmin@ubuntu:~$ sudo cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.orig
myadmin@ubuntu:~$ sudo tee /etc/dovecot/conf.d/10-ssl.conf <<"EOF"
ssl = yes
ssl_cert = </etc/my-ssl/certs/si1230.com.crt
ssl_key = </etc/my-ssl/private/si1230.com.key
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = </usr/share/dovecot/dh.pem
EOF

/etc/dovecot/conf.d/15-lda.conf

15-lda.conf は Sieve の設定が含まれます。

デフォルト値

デフォルト値は下記の通りです。

myadmin@ubuntu:~$ grep -v -e '^s*#' -e '^s*$' /etc/dovecot/conf.d/15-lda.conf | expand | tr -s [:space:] | sed 's/^s/    /g'
protocol lda {
}

設定値

設定例は下記の通りです。

myadmin@ubuntu:~$ sudo cp /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/conf.d/15-lda.conf.orig
myadmin@ubuntu:~$ sudo tee /etc/dovecot/conf.d/15-lda.conf <<"EOF"
protocol lda {
    mail_plugins = $mail_plugins sieve
}
EOF

設定の有効化

設定を有効化します。

myadmin@ubuntu:~$ sudo systemctl restart dovecot.service && systemctl status dovecot.service

目次に戻る

Ubuntu 22.04 Dovecot MRA メールサーバー構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る