IMAPサーバー(courier-imap)の構築
IMAPサーバー(courier-imap)を構築する。
はじめに
PostfixのMaildir形式に対応したIMAPサーバー courier-imapを導入し、クライアントからメーラーを使用しメールを読めるようにする。その際、認証方法にはCRAM-MD5を使用し、暗号化する。
コンパイル&インストール
FreeBSDのportsシステムを使用してインストールする。– 2006/6/4 追加
# cd /usr/ports/mail/courier-imap
# make
以下を選択した。
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for courier-imap 4.1.1,1 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] OPENSSL Build with OpenSSL support x x
x x [ ] FAM Build in fam support for IDLE command x x
x x [X] TRASHQUOTA Include deleted mails in the quota x x
x x [ ] GDBM Use gdbm db instead of system bdb x x
x x [ ] IPV6 Build with IPv6 support x x
x x [ ] AUTH_LDAP LDAP support x x
x x [ ] AUTH_MYSQL MySQL support x x
x x [ ] AUTH_PGSQL PostgreSQL support x x
x x [X] AUTH_USERDB Userdb support x x
x x [ ] AUTH_VCHKPW Vpopmail/vchkpw support x x
x x x x
x x x x
x x x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
ソフトの設定は、以下同様に行う。
FreeBSDのportsシステムを使用してインストールする。
認証方法にCRAM-MD5を追加するため、“WITH_CRAM=yes"をmakeコマンドのコマンドラインに指定する。
# cd /usr/ports/mail/courier-imap
# make WITH_CRAM=yes
# make WITH_CRAM=yes install
# make clean
portupgrade用の設定
/usr/local/etc/pkgtools.confのMAKE_ARGS{ }に以下を追加する。
MAKE_ARGS = {
:
'mail/courier-imap' => 'WITH_CRAM=yes',
}
courier-imapの設定
設定ファイルのコピー
# cd /usr/local/etc/courier-imap
# cp authdaemonrc.dist authdaemonrc
# cp imapd.dist imapd
# cp imapd-ssl.dist imapd-ssl
# cp imapd.cnf.dist imapd.cnf
設定ファイルの編集
-
imapd
-
ADDRESSにはIMAPサーバーのIPアドレスを設定する
-
認証方法にCRAM-MD5を使用するため以下の変更を加える。
-
AUTHMODULESを"authdaemon"から"authcram"へ変更する
-
記載されているコメントに従い、IMAP_CAPABILITYに"AUTH=CRAM-MD5"を追加する。
diff -C0 imapd.dist imapd
*** imapd.dist Sat Jan 10 16:12:43 2004 — imapd Sat Jan 10 16:31:15 2004
*** 24 **** ! ADDRESS=0 — 24 —- ! ADDRESS=192.168.0.1
*** 85 **** ! AUTHMODULES=“authdaemon” — 85 —- ! AUTHMODULES=“authcram”
*** 111 **** ! # IMAP_CAPABILITY=“IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE” — 111 —- ! IMAP_CAPABILITY=“IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE”
*** 114 **** ! IMAP_CAPABILITY=“IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE” — 114 —- ! # IMAP_CAPABILITY=“IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE”
パスワードデータベースの作成
ユーザー"user1"がMaildir形式でメールを保存していることをIMAPサーバーへ教える。
#/usr/local/sbin/userdb "user1@mydomain.com" \
set home=/home/user1 mail=/home/user1/Maildir uid=1101 gid=1101
ユーザー"user1"のパスワードを設定する。
# /usr/local/sbin/userdbpw -hmac-md5 | \
/usr/local/sbin/userdb "user1@mydomain.com" set hmac-md5pw
Password:
Reenter password:
# /usr/local/sbin/makeuserdb
IMAPサーバーの起動
2004/11/24以降の設定
-
/etc/rc.confに設定する
# courier-imap courier_imap_imapd_enable=YES courier_imap_imapdssl_enable=NO courier_imap_pop3d_enable=YES courier_imap_pop3dssl_enable=NO
古い
起動スクリプトの作成
# cd /usr/local/etc/rc.d
# mv courier-imap-imapd.sh-sample courier-imap-imapd.sh
IMAPサーバー起動
# /usr/local/etc/rc.d/courier-imap-imapd.sh start