このページは、最低限の Dovecot のインストールと起動をするための方法に ついて記述します。 たいてい、1つずつ動作させることは簡単ですが、 Dovecot/LDAP/Postfix/その他 の インストールがなぜ動作しないのか不思議に思う代わりに、 まず、個々のパッケージがスタンドアロンで動作するか確認して、 その後にのみ、それらを合わせて動作させてください。 そうすれば、何かがうまく動作しないとき、 LDAP 特有の問題か、 良くある Dovecot の問題なのか、疑問に感じる必要はありません。
dovecot は通常、スタンドアロンで実行します。 もし必要ならば、 inetd や xinetd から起動することもできます。 Dovecot は単純に dovecot バイナリを実行させることによって起動します。 dovecot のプロセスを kill することによって、それを止めることができます。 すでにある IMAP や POP3 のセッション(プロセス)は、 dovecot のプロセスを kill することによっては、止めることができないことに 注意してください。
もし Dovecot をソースからコンパイルした場合、 Dovecot は /usr/local/etc/dovecot-example.conf ファイルを インストールしていますので、 /usr/local/etc/dovecot.conf に 名前を変更する必要があります。 ビルド済みのパッケージは通常、 /etc/dovecot.conf に直接 インストールします。 ファイルの全てを読み通して、どんな設定に変更したいかを見ることは 良い考えです。
Dovecot は現在 maildir 形式と mbox 形式をサポートしています。 その2つは、最も一般的に使われているメールボックスの形式です。 どちらもその良い点があり、 この文書で 議論しています。 mbox 形式は時々、"伝統的な UNIX のメールボックス形式" とも呼ばれています。
もし、何を使い続けるのか悩んでいるのならば、 多分 mbox 形式でしょう。 maildir のメールは多くの場合、 ~/Maildir に保存され、 その中には cur/, new/, tmp のサブディレクトリが含まれています。 maildir のそれぞれのメールは、別々のファイルによって保存され、 mbox フォーマットでは、メールボックスの1つのファイルに 全てのメールが格納されます。 /var/mail にあるファイルは、ほとんどがそれぞれのユーザのための mbox ファイルです。
もしこれから何を使うべきなのか悩んでいるのならば、 maildir 形式を選択してください。 それはより拡張性があり、破壊を起こすことはないでしょう。
Dovecot にどこへメールを保存するか知らせる必要があります。 Dovecot はデフォルトでいくつかの自動検出をしようとしますが、 通常、ユーザが滅茶苦茶にしないことを確かにするため、 それを知らせる設定をする方が良いです。
maildir の設定でしたら、このような設定になるでしょう:
default_mail_env = maildir:~/Maildir |
mbox の設定でしたら、このような設定になるでしょう:
default_mail_env = mbox:~/mail:INBOX=/var/mail/%u |
上記は INBOX が /var/mail/<username> にあり、 残りのフォルダが ~/mail にある設定です。
これについて詳しくは仮想ユーザの文章を参照してください。
もし mbox を使用するならば、いくつかのことをチェックする必要があります。
mbox はロックを正しく取り扱うことに非常に影響しており、 もし正しくなければメールボックスを破壊することになるか、 デッドロックを起こすかもしれません。 mbox にアクセスする全てのソフトウェアは、互換性のあるロックを 使わなければなりません。 一般的に、これは Dovecot とローカルの配信エージェント(LDA) を含みます。 SMTP サーバは通常、いくつかの LDA を内蔵してますが、 例えば Procmail のように外部のものを使用するものがあります。
従来より、 mbox にアクセスする全てのソフトウェアは mbox を保護するために "dotlock" ファイルを作成します。 これは mailbox ファイルには mailbox.lock ファイルを 作成するようにして実現しています。 ファイルが存在する限り、誰も mbox に読み書きすることができません。 dotlock にはいくつかの問題があるため、他のロック機能も作成されました。
他のロックの機能は fcntl, flock, lockf と呼ばれています。 いくつかの OS では、全てのロックをサポートしていないです。
全てのソフトウェアが少なくとも1つの一般的なロック機構を使うことを 確認しなければならず、 そして、もし、複数の一般的なロック機能を使っているならば、 デッドロックを避けるため、それを同じ順番で指定して使ってください。 それがどんなロックを使用しているのか知るには、 他のソフトウェアの文書と設定ファイルをを参照してください。
dotlock は常に書き込みロックを含んでいなければならなく、 なぜならほとんど全てのソフトウェアが使用するからです。 それは mbox ファイルが決して誤って破壊されないことを確認します。 読み込みロックにそれを含ませることは、 許可された別の読み込みするものをブロックすることになりますので、 良い考えとは思いません。
Dovecot バージョン 1.0-tests では読み込みと書き込みするためロックの 別々の設定があります:mbox_read_locks と mbox_write_locks です。 バージョン 0.99 では mbox_locks と、dotlock が読み込みのとき 使用しなければならない場合に設定する mbox_read_dotlock があります。
MboxSoftwareLocks の文章では、 いくつかのソフトウェアと、 それがどのようにロックを使うかについて知る方法を、記述しています。
全てのユーザのメールがここに格納されるので、 ユーザに他人のメールファイルを削除できなくしなければなりません。 通常、これは、このディレクトリのファイルを作成したり削除したりするための 特別なグループによって行われています。 通常、このグループは mail と呼ばれています。
dotlock が使われるとき、 Dovecot はディレクトリに dotlock ファイルを 作成することができなければなりません。 通常、これは Dovecot が /var/mail ディレクトリを所有する 特別なグループでアクセスする必要があるということです。 これは、以下でようにすれば設定することができます:
mail_extra_groups = mail |
auth_userdb と auth_passdb の設定は どのように Dovecot がメールにアクセスできるユーザを探すかを指定します。 (バージョン 1.0-tests でこれは auth{ .. } の中の userdb と passdb に なりました)。
もし既に UNIX アクセス (例えば /etc/passwd に存在する) が できるユーザにのみアクセスを許す場合は、通常何も設定を行う必要が ありません。 デフォルトは passwd ファイルと ユーザ認証に PAM を使用しています。
もし仮想ユーザを使用するつもりか、ログインで問題があった場合は、 passwd-file が正しく動作するか、試してみてください。 最初の設定:
auth_userdb = passwd-file /etc/imap.passwd auth_passdb = passwd-file /etc/imap.passwd |
そして、 /etc/imap.passwd ファイルを作成します (/etc/passwd と同じフォーマットになります):
testuser:{plain}pass:65534:65534::/home/testuser |
この後に、 pass というパスワードを使って testuser でログインする ことができるはずです。 ホームディレクトリは /home/testuser になり、メールは /home/testuser/Maildir もしくは /home/testuser/mail の下に 保存されます。
/home/testuser はユーザ ID(UID) 65534 によって所有されることになります。 この値は好きなように変更できます。 最初の 65534 が UID で、次の 65534 が GID になります。
UID と GID の詳細については UserIds を参照してください。
SSL を使おうと思っているならば、set ssl_cert_file と ssl_key_file の 設定をしてください。もしくは、 ssl_disable = yes を設定してください。
Dovecot はデフォルトで、ユーザが暗号化されていないパスワードをサーバに 送信することを許していません。 通常 SSL が有効になっているならば、これを許さないのは良い考えです。 しかし、何らかの理由で SSL を提供してない場合は、 disable_plaintext_auth = no の設定をするでしょう。
Dovecot はデフォルトで syslog の mail facility でログ出力します。 多くの場合、これは /var/log/mail.log や /var/log/maillog や このような感じの似たようなファイルに記録されます。 もし Dovecot を起動したときに、"Dovecot starting up" メッセージが 見つからなければ、間違ったファイルを見ていることになります。
log_path と info_log_path の設定をすることで、 ログの出力先を指定することができます。 log_path はエラーメッセージに使われ、もう一方の info_log_path は インフォメッセージに使われます。 その2つは、同じファイルを設定することもできます。
最も重要なセッティングを理解したので、 Dovecot を起動することが できます。