メールサーバー構築 dovecot 初期設定 IMAP認証

Server

以前の記事で、postfixをメール送信サーバーとして設定して、テストメールを送信する手順を解説しました

今回はメール受信サーバーであるDovecotを初期設定し、受信サーバーとして機能させる方法を順を追って解説します


前提条件:

  • OS: ConoHa VPS Ubuntu 20.04
  • 使用するドメイン: go-pro-world.net
  • 送受信するためのプロトコル: SMTP, IMAP
  • セキュリティ対策: SPF, DKIM, DMARCなど

構成概要

  • MTA:Postfix(SMTP送受信)
  • MDA/IMAP:Dovecot(IMAP・認証)
  • 認証方式:PAM(システムユーザー)
  • SSL/TLS:Let’s Encrypt証明書使用

1.Dovecot インストール

まずは必要なツールをインストールします

sudo apt update
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-pam

2.Dovecot 設定ファイルの編集

設定ファイルは /etc/dovecot/ のなかにあります

① /etc/dovecot/dovecot.conf

基本設定となります

!include_try /usr/share/dovecot/protocols.d/*.protocol

dict {
}

!include conf.d/*.conf
!include_try local.conf

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

メールボックスの保存形式と場所を指定(Maildir形式推奨)

mail_location = maildir:~/Maildir

③ /etc/dovecot/conf.d/10-auth.conf

認証方法の設定

disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-system.conf.ext

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

SSL証明書の指定(Let’s Encryptの例)
以前の記事で取得した証明書のパスを記入します
ドメイン名は自分のものに置き換えてください

ssl = required
ssl_cert = </etc/letsencrypt/live/go-pro-world.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/go-pro-world.net/privkey.pem

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

Postfix との連携(SASL認証)設定を追加

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

3. Dovecot設定のチェック

まず、設定ファイルに構文ミスがないか確認

sudo doveconf -n

→ エラーが出なければOK。出た場合は設定ミスの可能性があります


サービスの再起動&ステータス確認

sudo systemctl restart dovecot
sudo systemctl status dovecot

active (running) になってるか確認


ポート993が開いているか確認

sudo ss -tlnp | grep 993

→ LISTEN 状態になっていればOK
外部から接続できるようにファイアウォール(ufwなど)でポート993が開いていることも確認

opensslでIMAP認証テスト

以下で手動ログインテスト

openssl s_client -connect localhost:993

CONNECTEDが表示され、認証情報などがずらずらっと表示されます

接続完了したら、対話モードのようになるのでユーザー名とパスワードを入力してログインします
PAM認証を使用しているのでLinuxユーザー名とLinuxパスワードを入力してください

a login ユーザー名 パスワード

成功すると以下のようにログインできます

a OK Logged in

ログ確認(エラー時にチェック)

sudo tail -f /var/log/mail.log

もしくは:

sudo journalctl -u dovecot -f

→ ログイン失敗や認証エラーなどはここに出ます


これでdovecotの初期設定までが完了です
受信サーバーとしてはまだ不十分ですが、IMAPの接続まで完了しました

次会以降でpostfixとの連携、SMTP認証の設定などの手順を解説したいと思います

コメント