Contents
概要
Dovecotを使用して内部向けのMRA(IMAPサーバー)を構築します。IMAPS、Sieveに対応しています。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
その他
Dovecotの利用者はローカルユーザーかLDAPユーザーを想定しています。LDAPユーザーを使用する場合はこちらを参照して下さい。
標準ポート番号
TCP:143 (IMAP), TCP:993 (IMAPS), TCP:4190 (SIEVE)
構成
本稿で想定しているメールシステムの全体像は下記の通りです。
設定
インストール
Dovecotをインストールします。dovecot-pigeonholeはSieveの利用に必要です。dovecot-pigeonholeは初期のCentOS8では利用不可でしたが現在は利用可能ですね。
[root@centos ~]# dnf install dovecot dovecot-pigeonhole
/etc/dovecot/dovecot.conf
dovecot.confのデフォルト値
コメント行等を削除したdovecot.confは下記の通りです。
dict { } !include conf.d/*.conf !include_try local.conf
dovecot.confの設定
IMAP以外は使用しない為、下記のように追記します。”dict {}”は設定値が空の為、削除しています。
[root@centos ~]# vi /etc/dovecot/dovecot.conf protocols = imap !include conf.d/*.conf !include_try local.conf
/etc/dovecot/conf.d/10-mail.conf
10-mail.confのデフォルト値
コメント行等を削除した10-mail.confは下記の通りです。
namespace inbox { inbox = yes } first_valid_uid = 1000 protocol !indexer-worker { } mbox_write_locks = fcntl
10-mail.confの設定
Maildir形式を使用する為、下記のように追記します。
[root@centos ~]# vi /etc/dovecot/conf.d/10-mail.conf mail_location = maildir:~/Maildir namespace inbox { inbox = yes } first_valid_uid = 1000 protocol !indexer-worker { } mbox_write_locks = fcntl
/etc/dovecot/conf.d/10-ssl.conf
10-ssl.confのデフォルト値
コメント行等を削除した10-ssl.confは下記の通りです。
ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem ssl_cipher_list = PROFILE=SYSTEM
10-ssl.confの設定
“ssl = required”はIMAPSでの接続を必須としますが、IMAP/IMAPSの両方を利用したい為、yesに変更しています。ここは要件に応じて変更して下さい。証明書は個別に作成した自己署名証明書を使用する為、変更しています。
[root@centos ~]# vi /etc/dovecot/conf.d/10-ssl.conf ssl = yes ssl_cert = </etc/pki/tls/certs/server.crt ssl_key = </etc/pki/tls/private/server.key ssl_cipher_list = PROFILE=SYSTEM
/etc/dovecot/conf.d/15-lda.conf
15-lda.confのデフォルト値
コメント行等を削除した15-lda.confは下記の通りです。
protocol lda { }
15-lda.confの設定
Sieveのプラグインを有効化しています。
[root@centos ~]# vi /etc/dovecot/conf.d/15-lda.conf protocol lda { mail_plugins = $mail_plugins sieve }
/etc/dovecot/conf.d/20-managesieve.conf
20-managesieve.confのデフォルト値
コメント行等を削除した20-managesieve.confは下記の通りです。
protocol sieve { }
20-managesieve.confの設定
Sieveを有効化しています。”protocol sieve {}”は設定値が空の為、削除しています。
[root@centos ~]# vi /etc/dovecot/conf.d/20-managesieve.conf protocols = $protocols sieve
サービス起動設定
Dovecotを起動します。
[root@centos ~]# systemctl enable --now dovecot.service [root@centos ~]# systemctl status dovecot.service
Postfix(MTA)の構築は下記のリンクから移動して下さい。