さくらのVPS(CentOS8)にメールサーバーを構築する【Dovecot編】。
Dovecot をインストールして POP/IMAP サーバーを構築。【Postfix編】と併せて送受信可能なメールサーバーを構築する。
インストール
# 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だとファイアウォール設定だけでは通信できない。そんなときは、コントロールパネル上で「パケットフィルタを利用しない」にすればよい。
メール専用ユーザの追加
例として、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