home FreeBSD Bike Misc Memorandum About

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.

以上で終わりです。

説明

FreeBSD4.6-Release

qmailのMaildir形式に対応しているIMAPサーバのCourier-IMAPをインストールします。SSLやPAMなどにも対応しています。

2002/06/28

Creative Commons License
This work is licensed under a Creative Commons License.