Postfix 3.4 [dovecot] CentOS7(マルチドメイン)

この記事は約7分で読めます。

Postfix 3.4のソースインストール後、「dovecot」の基本を設定して、pop3のログインができるようにしたいと思います。

dovecot 用 ユーザ/グループ

# groupadd -g 143 dovecot
# useradd -u 143 -g dovecot -s /sbin/nologin -M dovecot
# groupadd -g 144 dovenull
# useradd -u 144 -g dovenull -s /sbin/nologin -M dovenull

dovecot 2.3.6 ソースインストール
# wget https://dovecot.org/releases/2.3/dovecot-2.3.6.tar.gz
# tar xzvf dovecot-2.3.6.tar.gz
# cd dovecot-2.3.6
# ./configure --prefix=/usr --sysconfdir=/etc --with-mysql

↑postfixadminで、ドメイン/メールアドレスなどを管理するので、データベースであるMySQLを指定します。
# make

↑けっこう、時間がかかります・・・
# make install

dovecot 設定

# cp /root/dovecot-2.3.6/doc/example-config/dovecot.conf /etc/dovecot/dovecot.conf

↑基本設定のサンプルをコピーします。
# cp -a /root/dovecot-2.3.6/doc/example-config/conf.d/ /etc/dovecot/

↑その他、付随する設定ファイルもコピーをします。
vi /etc/dovecot/dovecot.conf

#protocols = imap pop3 lmtp submission
 ↓
protocols = imap pop3

↑プロトコルを指定します。
vi /etc/dovecot/conf.d/10-master.conf
 #port = 110
 ↓
 port = 110

↑今回は、pop3の110番ポートのみをテストするため、110のところを有効にします。
# cp /root/dovecot-2.3.6/doc/example-config/dovecot-sql.conf.ext /etc/dovecot/conf.d/dovecot-sql.conf.ext

↑認証は、DB上のデータを見に行くのでサンプルをコピーします。
vi /etc/dovecot/conf.d/dovecot-sql.conf.ext
------------------------------------------------
#driver =
 ↓
driver = mysql

#connect =
 ↓
connect = host=localhost dbname=(postfix用DB) user=(DB用ユーザ) password=(DB用パスワード)

#default_pass_scheme = MD5
 ↓
default_pass_scheme = CRYPT

user_query = SELECT concat('/mail/', maildir) AS home, 10000 AS uid, 10000 AS gid FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
------------------------------------------------

↑最後の2行は追加します。
vi /etc/dovecot/conf.d/10-auth.conf

#!include auth-sql.conf.ext
↓
!include auth-sql.conf.ext

vi /etc/dovecot/conf.d/auth-sql.conf.ext

  args = /etc/dovecot/dovecot-sql.conf.ext
  ↓(2カ所)
  args = /etc/dovecot/conf.d/dovecot-sql.conf.ext

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

#mail_location =
↓
mail_location = maildir:/mail/%d/%n

# vi /etc/dovecot/conf.d/auth-system.conf.ext
 
passdb {
  driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
}
----------
↓pam を無効化
----------
#passdb {
  #driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
#}

# vi /etc/dovecot/conf.d/10-ssl.conf
ssl = yes
↓
ssl = no

ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
↓
#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pem

↑SSLを一時的に無効にします。

dovecot サービス

vi /etc/systemd/system/dovecot.service
----------------------------------------------------------
[Unit]
Description=dovecot
After=network.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop

[Install]
WantedBy=multi-user.target

# systemctl start dovecot
# systemctl status dovecot

↑起動状況をチェックします。
systemctl enable dovecot

↑ 問題がなければ、自動起動を行います。

dovecot テスト

# telnet localhost pop3
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user (メールアドレス)
+OK
pass (pop3パスワード)
+OK Logged in.

↑ pop3ログインをしてみます。パスワードが通ります。
# telnet localhost pop3
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user (メールアドレス)
+OK
pass (pop3パスワード)
-ERR [AUTH] Authentication failed.

↑念のため、違うパスワードを入れてみます。
パスワードエラーとなります。

タイトルとURLをコピーしました