PostfixとDovecotでメールサーバー構築【Dovecot編】(CentOS8)

vps
HE1958によるPixabayからの画像

さくらのVPS(CentOS8)にメールサーバーを構築する【Dovecot編】。
Dovecot をインストールして POP/IMAP サーバーを構築。【Postfix編】と併せて送受信可能なメールサーバーを構築する。

環境
  • CentOS 8.2
  • Apache 2.4.37
  • PHP 7.4
  • MariaDB 10.3

インストール

# dnf -y install dovecot

dovecotの設定

Dovecotは、Linux / UNIXライクなシステム向けのオープンソースのIMAPおよびPOP3電子メールサーバーであり、主にセキュリティを念頭に置いて作成されています。

https://doc.dovecot.org/

dovecot.confの編集

dovecot.confの設定変更前に、既存のファイルをバックアップ。

# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.backup
# vi /etc/dovecot/dovecot.conf

プロトコルを指定

#protocols = imap pop3 lmtp
protocols = imap pop3

IPv4 のみリスンする場合。

#listen = *, ::
listen = *

10-auth.confの編集

既存のファイルをバックアップ。

# cp -p /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.backup
# vi /etc/dovecot/conf.d/10-auth.conf

プレインテキスト(平文)認証を許可する。

#disable_plaintext_auth = yes
disable_plaintext_auth = no

認証メカニズム=”login”を追加。

#auth_mechanisms = plain
auth_mechanisms = plain login

10-mail.confの編集

# cp -p /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.backup
# vi /etc/dovecot/conf.d/10-mail.conf

メール格納形式をMaildir形式にする。

#mail_location =
mail_location = maildir:~/Maildir

10-ssl.confの編集

# cp -p /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.backup
# vi /etc/dovecot/conf.d/10-ssl.conf

まだSSLは設定しないので、”no”に変更。

# plain imap and pop3 are still allowed for local connections
# ssl = required
ssl = no
デフォルト設定は”ssl = required”(SSLが必須)となっている

Dovecotの起動と自動起動設定

# systemctl start dovecot
# systemctl enable dovecot

ファイアウォールの設定で通信許可

サービスにSMTP、SMTP-Submission、POP3、IMAP4を追加する場合。

# firewall-cmd --zone=public --add-service={smtp,smtp-submission,pop3,imap} --permanent
success

または、ポート番号を追加する場合の、どちらか一方でよい。

# firewall-cmd --zone=public --add-port={25/tcp,587/tcp,110/tcp,148/tcp} --permanent
success

設定を反映するためにファイアウォールの設定をリロード。

# firewall-cmd --reload
success

「success」と表示されればは完了。

例えばさくらのVPSだとファイアウォール設定だけでは通信できない。そんなときは、コントロールパネル上で「パケットフィルタを利用しない」にすればよい。

さくらのVPSコントロールパネルのパケットフィルタ

メール専用ユーザの追加

例として、testuserを追加。

# useradd -s /sbin/nologin testuser
# passwd testuser
Changing password for user testuser.
New UNIX password: (パスワード入力)
Retype new UNIX password: (パスワード確認用入力)
passwd: all authentication tokens updated successfully.

SMTP-Auth用ユーザ・パスワードの登録。

# echo "パスワード入力" | saslpasswd2 -p -u mail.example.com -c testuser

SMTP-Auth用ユーザ・パスワードの確認。

# sasldblistusers2
testuser@mail.example.com: userPassword

sasldb2の所有グループをpostfixにする。※初回のみ

# chgrp postfix /etc/sasldb2

SMTP認証用ユーザー/パスワードを削除する場合。

# saslpasswd2 -d centos -u centos.centossrv.com
タイトルとURLをコピーしました