Courier-imap4 and pop3 over SSL on Ubuntu 12.04 TLS
Ubuntu 12.04 TLSに、SSL対応した imap がほしい。ついでにpop3も。
というとこで、courier imapを採用。理由は、移行前もcourierを使っていたので、同じほうが楽だと勘違いしてから。。。
apt-get できても、courier はやっぱりしんどい。
1.devecot のuninstall
ubuntu server distribution には、imapサービスとしてdevecotがinstallされる。 まずは、これを削っておかないとcourier imap & pop3 と競合してしまう。% sudo dpkg --remove dovecot-imapd dovecot-pop3d
2. courie-imap install
ubuntuなので、apt-get でOK。% sudo apt-get install courier-imap courier-imap-ssl courier-authdaemon
3. courie-imap の設定
/etc/courier/authdaemonrc で、unixアカウントのパスワード認証に設定。authmodulelist="authpam"
/etc/courier/imapd で、最大接続数を80に、1IP当たりの同時最大接続数数を16に増やす。こうしないと、imap folder がたくさんある人が初期にたくさん接続すると、すぐにセッションが埋まってしまう。
サーバ起動時にサービス起動できるようにする。
認証は平文対応もするけど、その場合は imap4 over SSL の利用を推奨。
MAXDAEMONS=80 MAXPERIP=16 IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=LOGIN AUTH=PLAIN" IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE AUTH=LOGIN AUTH=PLAIN" IMAPDSTART=YES
/etc/courier/imapd も同様。
IMAPDSSLSTART=YES IMAPDSTARTTLS=YES
4. courie-imap のテスト
通常の IMAP4(port:143)は、telnet でテストする。% telnet mai.foobar.com 143 Trying XXX.XXX.XXX.XXX... Connected to mail.foorbar.com. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=LOGIN AUTH=PLAIN ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc. See COPYING for distribution information. a CAPABILITY * CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=LOGIN AUTH=PLAIN ACL ACL2=UNION STARTTLS a OK CAPABILITY completed b LOGIN ユーザ名 パスワード b OK LOGIN Ok. c. LOGOUT closed
ここで、「OK LOGIN Ok」ではなく、以下のようにエラーになることがある。
BYE Clock skew detected. Check the clock on the file server closed
Maildir のあるユーザの$HOMEが、NFSの場合、 NFSサーバとimap4サーバの日付がずれていると、このエラーが発生する。100秒くらいずれてたよ。。。
しかも、courier-pop3 だとこのエラーは発生しない。。。
Over SSLの IMAP4(port:993)は、openssl でテストする。
% openssl s_client -connect mail.foorbar.com:993 ...たくさんのダンプ
あとは、上記のtelnet と同じ。