< Cyrus SASL | メイン | vim とか Emacs とか >
2006年09月28日
今回はメール取り出し側の IMAP サーバについて。
最初は Cyrus IMAP を使おうと思ったのだけれど、 DarwinPorts が壊れてるっぽいのと、Maildir に 対応していないので断念。 Courier-IMAP を使うことにする。
1. インストール
sudo port install courier-imap
途中すっ飛ばして先に結論を言っておくと、どうしても authlib で authpwd や shadow 認証が使えない。 Mac OS X ではユーザデータベースを passwd ではなく NetInfo で管理しているから、当然といえば当然だが、 passwd と master.passwd を自分で作成しても、 依然として使えないのだ。何故…? (この事象の解決方法については11月11日分の日記を参照)
この際 authuserdb を使うことにしてしまえば、 MD5 認証も使えるし、そっちを利用することにした。 NetInfo と Cyrus SASL 以外に、3つ目のユーザデータベースを 管理しなくちゃならなくなるけど…。
2. courier-authlib の設定
authdaemonrc をテンプレからコピー。
cd /opt/local/etc/authlib sudo cp -p authdaemonrc.dist authdaemonrc
最初から authuserdb が最優先の設定なので、 編集する必要は無い。
次に userdb でユーザを登録する。
sudo userdb gema set home=/Users/gema mail=/Users/gema/Maildir uid=501 gid=501
ユーザが登録されたら、パスワードを設定する。
userdbpw | sudo userdb gema set imappw userdbpw -hmac-md5 | sudo userdb gema set hmac-md5pw
上は平文パスワードの設定、下は MD5 パスワードの設定。
最後に DB をハッシュデータベース化する。
sudo makeuserdb
/opt/local/etc/authlib/userdb がデータベースファイルとなるが、 一般ユーザから読み込めても困るので、root だけが読めるようにしておく。
sudo chmod 600 /opt/local/etc/authlib/userdb*
3. imap、imap-ssl の設定
/opt/local/etc/courier-imap の下の imapd、imapd-ssl を編集する。
cd /opt/local/etc/courier-imap vi imapd
MAXPERIP=4 を 20 に変更 (4は一人で利用するにも少なすぎ) IMAP_CAPABILITY の行を、AUTH=CRAM-MD5 を含む行に変更 (最初からコメントで入っているので、そちらを有効化) IMAPDSTART=NO を YES に変更 これで保存する。
imapd-ssl のほうは、
vi imapd-ssl IMAPDSSLSTART=NO を YES に変更
これだけ。 今回は pop3 を利用しないので、設定はしない。
4. 起動設定
/Library/LaunchDaemons/org.macports.courier-imap.plist から 呼び出される起動スクリプトの中に、imapd-ssl と authdaemond の 起動を行う記述が無いので、追加しておく。
vi /opt/local/etc/LaunchDaemons/org.macports.courier-imap/courier-imap.wrapper
Start のセクションの中に、
/opt/local/sbin/authdaemond start /opt/local/libexec/imapd-ssl.rc start
を追加、Stop のセクションの中に、
/opt/local/libexec/imapd-ssl.rc stop /opt/local/sbin/authdaemond stop
を追加したら、起動を行う。
sudo launchctl load -w /Library/LaunchDaemons/org.macports.courier-imap.plist
これで IMAP、IMAPS、MD5 認証をどのように組み合わせても うまく認証できている。 検証環境クライアントは Thunderbird 1.5.0.7 (Windows)。
あ、あと Maildir を使うことになるので、Postfix の設定で
home_mailbox = Maildir/
にしておくことを忘れずに。
トラックバック
このエントリーのトラックバックURL:
https://gema.luna2.org/cgi-bin/mt/mt-tb.cgi/20