Courier-IMAP
Install
例によってportsシステムからインストールします。
# cd /usr/ports/mail/courier-imap
# make install;make clean
設定
portsでインストールした場合、/usr/local/etc/courier-imap/以下に設定ファイルの雛形がインストールされます。hogehoge.distをhogehogeに変えておきましょう。
i.e.
# mv imapd.dist imapd
SSLを使わないのであれば、imapdを変更するだけで良いでしょう。
変更したのは、
ADDRESS
IMAPサーバを動かすIPアドレス
AUTHMODULES
認証方法。暗号化されたCRAM-MD5で認証したいので、"authcram"を設定。plain textで/etc/passwdを使った認証をするならばauthpwd、CRAM-MD5無しの暗号化された認証をするなら、authuserdbを指定します。並列に指定できます。失敗したら別の認証方法を試します。
IMAP_CAPABILITY
クライアントが接続したときにサーバから返す文字列になります。CRAM-MD5をサポートしているよ、ということを伝えるために、AUTH=CRAM-MD5を追加。
bell@mail# diff imapd imapd.dist
24c24
< ADDRESS=192.168.1.2
---
> ADDRESS=0
85c85
< AUTHMODULES="authcram"
---
> AUTHMODULES="authdaemon"
111c111
< IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REF
ERENCES SORT AUTH=CRAM-MD5"
---
> IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REF
ERENCES SORT"
続いて、CRAM-MD5方式で認証するためのデータベースを作成します。まず、userdbファイルを作成します。
# userdb bell set home=/home/bell mail=/home/bell/Maildir uid=1000 gid=1000
これで/usr/local/etc/userdbに
bell home=/home/bell|mail=/home/bell/Maildir|uid=1000|gid=1000
のように書き込まれます。続いてIMAPで使用するパスワードを設定します。
# userdbpw -hmac-md5 | userdb bell set hmac-md5pw
Password:
Reenter password:
/usr/local/etc/userdbの内容は以下のようになります。
bell home=/home/bell|uid=1000|hmac-md5pw=hogehogehogehogehoge|mail=/home/bell/Maildir|gid=1000
ちなみに、CRAM-MD5を使わない場合のuserdbを使った暗号化では以下のようになります。
# userdbpw | userdb bell set imappw
Password:
Reenter password:
この場合、/usr/local/etc/userdbは以下のようになります。
bell home=/home/bell|uid=1000|mail=/home/bell/Maildir|gid=1000|imappw=hogehoge
authuserdbとauthcramのパスワードは同時に指定できます。
最後にデータベースを作ります。
# makeuserdb
/usr/local/etcには以下のファイルが作られます。
bell@mail# ll user*
-rw------- 1 root wheel 84 6 28 14:11 userdb
-rw-r--r-- 1 root wheel 65536 6 28 14:13 userdb.dat
-rw-r--r-- 1 root wheel 0 6 28 14:13 userdb.lock
-rw------- 1 root wheel 65536 6 28 14:13 userdbshadow.dat
起動
/usr/local/etc/rc.d/には/usr/local/libexec/courier-imap/imap.rcとpop3d.rcへのシンボリックリンクがportsのインストール時に張られています。pop3dはいらないので、以下のようにします。
# cd /usr/local/etc/rc.d
# unlink courier-imap-imapd.sh.sample
# unlink courier-imap-pop3.sh.sample
# ln -s /usr/local/libexec/courier-imap/imap.rc imapd.sh
最後に起動をします。
# /usr/local/etc/rc.d/imapd.sh start
クライアントからの接続をしてみます。
>>> 2002/06/28 14:20:04 <<<
>>> Connecting to "mail.f-bell.net" [2002/06/28 14:20:05]
<<<
* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.
See COPYING for distribution information.
0048 CAPABILITY
* CAPABILITY IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES
SORT AUTH=CRAM-MD5 STARTTLS
0048 OK CAPABILITY completed
0049 AUTHENTICATE CRAM-MD5
0049 OK LOGIN Ok.
0050 NAMESPACE
* NAMESPACE (("INBOX." ".")) NIL (("shared."
"."))
0050 OK NAMESPACE completed.
0051 LIST "" "INBOX"
* LIST (\Unmarked \HasChildren) "." "INBOX"
0051 OK LIST completed.
0052 LIST "INBOX." *
* LIST (\HasNoChildren) "." "INBOX.For Bell"
------SNIP!!------
* LIST (\HasNoChildren) "." "INBOX.Trash"
0052 OK LIST completed.
0053 STATUS "INBOX" (MESSAGES UNSEEN UIDNEXT)
* STATUS "INBOX" (MESSAGES 748 UIDNEXT 1258 UNSEEN 0)
0053 OK STATUS Completed.
------SNIP!!------
0077 STATUS "INBOX.Yodobashi" (MESSAGES UNSEEN UIDNEXT)
* STATUS "INBOX.Yodobashi" (MESSAGES 44 UIDNEXT 45 UNSEEN
0)
0077 OK STATUS Completed.
以上で終わりです。
