- blogs:
- cles::blog

qmail+ vpopmail + dovecot




これまではCourier-IMAPを使っていたんですが、Dovecot乗り換えてみました。ちょっと調べただけでvpopmailに対応していることはすぐにわかったのですが、使っている人が少ないのかウェブサイト上にはほとんど情報がなかったのでちょっと苦戦してしまいました。
コンパイル済みのバイナリ*1はあるのでこれは楽チンとインストールしてみたんですが、僕の環境では要求されているlibmysqlclient.soのバージョンが違っていてdovecot-authが起動できなかったので、srpmを自前でrebuildしてインストールすることにしました。
† rpmの作成
rpmbuild --rebuildで一発かと思いきや、.specに使われているマクロが新しすぎてそのままでは動きませんでした。
仕方がないので%bcond_withoutに関連する部分をすべて自分で置き換えてリコンパイルしました。変更後のspecファイルについてはdiffをとっておきましたので、同じことをしたい場合には参考にしてみてください。
[dovecot.spec.diff][314clicks]
† /etc/dovecot.confの変更
出来上がったrpmをインストールしたら設定を行います。
ほとんどはデフォルトで大丈夫ですが、必ず変更が必要なのは下記の3箇所になります。
まず、以下の2箇所を変更し、vpopmailによる認証を有効にします。
さらに認証するUIDの最小値の設定のデフォルトが500になっているので、これを89*2に変更しておきます。
これを忘れるとログに「Logins with UID 89 (hoge@hoge.com) not permitted (see first_valid_uid in config file)」と吐いて認証してくれません。
最後にこれは必須ではないのですが、設定しておくと便利な部分が一箇所あります。
vpopmailを使っている場合にはバーチャルユーザーの認証に使うユーザー名が"user@example.com"か"user%example.com"のいずれかの形式になっているはずです。ところがDovecotはデフォルトでユーザー名に使える文字を"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@"のみに制限しているので、後者の形式のユーザー名を使っているとパスワードがあっていても必ず認証エラーになってしまいます。
ところが、上記の設定を行っておくと、%という文字を強制的に@に変換して認証させることができるようになるため、どちらの形式のユーザー名を使っていても認証ができるようになります。
これで快適なDovecotライフが送れそうです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/1726
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
お、これって速いんですか?
自分は IMAP サーバーの入れ替えより webmail (現在は squirrel)の入れ替えしたいです。遅くってかなわん...なんかお勧めのあります?
Courierと比べて速いかどうかといわれるとちょっと「?」ですね。
ベンチを取ったわけじゃないんですが、とりあえず互角くらいの性能は出てるんじゃないかなと思います。感覚的には、ヘッダの読み出しとかはCourierの方が速い感じがしますが、検索はDovecotの方が速いようです。
# 設定の簡便さから言えば断然Dovecotなので、僕はもう戻らないかなと思います。
僕もwebmailはsquirrel使ってるんですけど、さすがに遅いですよね。
今、ちょうど乗換候補を探してます。
いろいろ試してみる予定なんで、よさそうなのが見つかったら報告しますね。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112950)
3 . 年次の人間ドックへ(112376)
4 . 2023 年分の確定申告完了!(1つめ)(111945)
5 . 三菱鉛筆がラミーを買収(111819)