「Dovecot」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(関連記事)
6行目: 6行目:
 
{{Related4|OpenSMTPD}}
 
{{Related4|OpenSMTPD}}
 
{{Related|Fail2ban}}
 
{{Related|Fail2ban}}
  +
{{Related|仮想ユーザーメールシステム}}
{{Related4|Virtual user mail system}}
 
 
{{Related articles end}}
 
{{Related articles end}}
 
この記事では個人やスモールオフィスでの利用に適したメールサーバーの設定方法について記述しています。
 
この記事では個人やスモールオフィスでの利用に適したメールサーバーの設定方法について記述しています。

2016年6月21日 (火) 21:21時点における版

関連記事

この記事では個人やスモールオフィスでの利用に適したメールサーバーの設定方法について記述しています。

Dovecot は Linux/Unix ライクなシステム向けのオープンソースの IMAPPOP3 サーバーで、セキュリティを主眼に置いて書かれています。Dovecot は Timo Sirainen によって開発され、2002年7月に初めてリリースされました。Dovecot は第一に軽量で高速、設定しやすいオープンソースのメールサーバーを目指しています。詳しい情報は、公式の Dovecot Wiki を見て下さい。

インストール

公式リポジトリからパッケージ dovecotpamインストールしてください。

設定

前提

  • Dovecot によるメールアカウントはそれぞれ、サーバーに定義するローカルのユーザーアカウントを持ちます。
  • サーバーはローカルのユーザーデータベース (/etc/passwd) ではなく PAM を使ってユーザーを認証します。
  • 認証パスワードの暗号化には SSL が使われます。
  • 一般的な Maildir フォーマットを使ってユーザーのホームディレクトリにメールを保存します。
  • MDA はあらかじめローカルユーザーにメールを配達するように設定されています。

SSL 証明書の作成

dovecot パッケージにはサーバーの SSL 証明書を生成するためのスクリプトが含まれています。

  • サンプルファイルから設定ファイルをコピーしてください: # cp /etc/ssl/dovecot-openssl.cnf{.sample,}
  • /etc/ssl/dovecot-openssl.cnf を編集して証明書を設定してください。
  • # /usr/lib/dovecot/mkcert.sh を実行すれば証明書が生成されます。

証明書・キーのペアは /etc/ssl/certs/dovecot.pem/etc/ssl/private/dovecot.pem として作成されます。

証明書を変更した時は cp /etc/ssl/certs/dovecot.pem /etc/ca-certificates/trust-source/anchors/dovecot.crt# trust extract-compat を実行してください。

PAM 認証

  • dovecot の PAM を設定するには、以下の内容で /etc/pam.d/dovecot を作成してください:
/etc/pam.d/dovecot
auth    required        pam_unix.so nullok
account required        pam_unix.so 

PAM 認証と LDAP

  • OpenLDAP サーバーを使って認証している場合、LDAP 認証に書かれているように先に LDAP ユーザーでログインできることを確認してください。それから、/etc/pam.d/dovecot に以下を記述します。エントリの順番には意味があるので注意してください:
/etc/pam.d/dovecot
auth    sufficient      pam_ldap.so
auth    required        pam_unix.so     nullok
account sufficient      pam_ldap.so
account required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel umask=0022
session sufficient      pam_ldap.so

上記の設定の場合 LDAP とシステムユーザーの両方がメールボックスを持つことになります。

  • /etc/dovecot/conf.d/auth-system.conf を編集して passdb ディレクティブを以下のように変更:
passdb {
  driver = pam
  args = session=yes dovecot
}

pam_mkhomedir.so モジュールを使用して passdb ディレクティブに session を追加することで、LDAP ユーザーが最初にログインしたときにホームディレクトリを自動的に作成します。

Dovecot の設定

  • /usr/share/doc/dovecot/example-config から /etc/dovecotdovecot.confconf.d/* 設定ファイルをコピーしてください:
# cp /usr/share/doc/dovecot/example-config/dovecot.conf /etc/dovecot
# cp -r /usr/share/doc/dovecot/example-config/conf.d /etc/dovecot

ほとんどのシステムではデフォルト設定で問題ありませんが、設定ファイルを読んで利用できるオプションを確認してください。詳しい説明は クイック設定ガイドdovecot configuration を見て下さい。

デフォルトで dovecot はシステムで使われているメールストレージシステムを検出しようとします。Maildir フォーマットを使うには /etc/dovecot/conf.d/10-mail.conf を編集して mail_location = maildir:~/Maildir を設定してください。

Sieve

Sieve はメールサーバーのメールのフィルターを作成するのに使うことができるプログラミング言語です。

  • pigeonhole をインストールしてください
  • dovecot.conf で "sieve" を "protocols" に追加してください
protocols = imap pop3 sieve
  • /etc/dovecot/conf.d/ に 80-sieve.conf を追加してください
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}

service managesieve {
}

protocol sieve {
}
  • /etc/dovecot/conf.d/15-lda.conf の "protocol lda" セクションの "mail_plugins" に "sieve" を追加してください
protocol lda {
  mail_plugins = sieve
}
  • /etc/dovecot/conf.d/90-plugin.conf の "plugin" セクションに sieve の保存場所を指定してください:
plugin {
  sieve=/var/mail/%u/dovecot.sieve
  sieve_dir=/var/mail/%u/sieve
}
ノート: 最近では LDA の代わりに LMTP を使うことが推奨されていますが、小さなメールサーバーに Dovecot LDA を使うことは依然として可能です。詳細は Dovecot Wiki にあります。
  • MTA が配送に dovecot を使うようにしてください。例えば: postfix の main.cf や dovecot-lda:
 mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"

サーバーを起動する

標準の systemd を使って dovecot.service デーモンを操作してください。

# systemctl start dovecot.service

ブート時に起動させるには

# systemctl enable dovecot.service

小技

デフォルトではないハッシュ関数を使ってハッシュを生成する。

doveadm pw -s SHA512-CRYPT -p "superpassword"

データベースのカラムが十分大きいことを確認してください (you might not get a warning..)

dovecot-sql.conf ファイルにパスワードの形式を設定します:

default_pass_scheme = SHA512-CRYPT