2003-09-19(金) 晴 この日を編集
_ courier-imap インストールの予行演習
まずは Makefile を覗いてみました。
Makefile の中身の一部
# WITHOUT_OPENSSL: Don't build in TLS support # WITHOUT_PAM: Don't build in PAM support # WITHOUT_AUTHDAEMON Don't build the authdaemon # WITH_CRAM: Build in CRAM-MD5 authentication upport # WITH_VPOPMAIL: Build in vpopmail support # WITH_MYSQL: Build in mysql support # WITH_POSTGRESQL: Build in postgresql support # WITH_LDAP: Build in ldap support with openldap 2.1 # WITH_LDAP21: Build in ldap support with openldap 2.1 # WITH_LDAP20: Build in ldap support with openldap 2.0 # WITH_LDAP1: Build in ldap support with openldap 1.x # WITH_FAM: Build in fam support for IDLE command
先日調査した結果と mobileimap のことを考えて、WITH_CRAM を有効にするだけで良いでしょう。/usr/local/etc/pkgtools.conf の MAKE_ARGSに
'mail/courier-imap' => 'WITH_CRAM=yes',
を追加して、
# make WITH_CRAM=yes install
これが終わると
You will have to run /usr/local/share/courier-imap/mkimapdcert to create a self-signed certificate if you want to use imapd-ssl. And you will have to copy and edit the *.dist files to * in /usr/local/etc/courier-imap.
と出るので、やってみます。
root# rehash root# /usr/local/share/courier-imap/mkimapdcert error on line -1 of /usr/local/etc/courier-imap/imapd.cnf 13643:error:02001002:system library:fopen:No such file or directory:/usr/src/crypto/openssl/crypto/bio/bss_file. c:104:fopen('/usr/local/etc/courier-imap/imapd.cnf','rb') 13643:error:2006D080:BIO routines:BIO_new_file:no such file:/usr/src/crypto/openssl/crypto/bio/bss_file.c:107: 13643:error:0E064072:configuration file routines:CONF_load:no such file:/usr/src/crypto/openssl/crypto/conf/conf_def.c:197:
怒られたので
# cd /usr/local/etc/courier-imap # cp imapd.cnf.dist imapd.cnf
そして中身を確認します。
# less imapd.cnf
RANDFILE = /usr/local/share/courier-imap/imapd.rand [ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no [ req_dn ] C=US ST=NY L=New York O=Courier Mail Server OU=Automatically-generated IMAP SSL key CN=localhost emailAddress=postmaster@example.com [ cert_type ] nsCertType = server
いろいろ書き換えなければならないのですが、global IP address を振れるマシンではないのでどんどん進めてしまいました。
# /usr/local/share/courier-imap/mkimapdcert Generating a 1024 bit RSA private key ..................++++++ ..............................................++++++ writing new private key to '/usr/local/share/courier-imap/imapd.pem' ----- 1024 semi-random bytes loaded Generating DH parameters, 512 bit long safe prime, generator 2 This is going to take a long time ....+............................................+.......................+.............+...........+............ .................................+.+...........+...+.........+.................................................. .+..............+...........+......+...........................................+......................+........+ .....................+..+................+..........+.......................+.......+........................... +...........................+..............................................................+..+....+.........+.. ............+............+............................+.......................++*++*++*++*++*++* subject= /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=localhost/email Address=postmaster@example.com notBefore=Sep 19 00:43:38 2003 GMT notAfter=Sep 18 00:43:38 2004 GMT MD5 Fingerprint=1D:AF:EB:E0:82:0F:B9:DB:76:50:E5:01:BD:F5:9A:A1
鍵が生成された感じです。その他の *.dist ファイルも面倒なので何も考えずにコピーしておきます。
# cp authdaemonrc.dist authdaemonrc # cp imapd-ssl.dist imapd-ssl # cp imapd.dist imapd
が POP3 は使う予定はないのでコピーしません。imapd を編集します。quotawarnmsg.example は
X-Comment: Rename/Copy this file to quotawarnmsg, and make appropriate changes X-Comment: See deliverquota man page for more information From: Mail Delivery SystemReply-To: support@example.com To: Valued Customer:; Subject: Mail quota warning Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit Your mailbox on the server is now more than 90% full. So that you can continue to receive mail you need to remove some messages from your mailbox.
となっていて warning メールの内容を書いておくようです(# cp quotawarnmsg.example quotawarnmsg としておけば良いのかなぁ)。これで設定は終わりです(いい加減すぎです。)。早速起動しましょう。
# cd /usr/local/etc/rc.d # ls | grep courier courier-imap-imapd-ssl.sh.sample courier-imap-imapd.sh.sample courier-imap-pop3d-ssl.sh.sample courier-imap-pop3d.sh.sample
目的は imapd-ssl なので該当するファイルを調べます。
# ls -l courier-imap-imapd-ssl.sh.sample lrwxr-xr-x 1 root wheel 44 Sep 19 09:23 courier-imap-imapd-ssl.sh.sample@ -> /usr/local/libexec/courier-imap/imapd-ssl.rc
取り敢えず start してみます。
# /usr/local/libexec/courier-imap/imapd-ssl.rc start root# netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 *.imaps *.* LISTEN tcp6 0 0 *.imaps *.* LISTEN (snip)
忘れないうちにシンボリックリンクを作っておきます。
# ln -s /usr/local/libexec/courier-imap/imapd-ssl.rc /usr/local/etc/rc.d/courier-imap-imapd-ssl.sh
疑問
mobileimap は imaps クライアントとして動くのだろうかという疑問が湧き起こりました。試してみればよいのですが、今日は気力がなくなってきました。
参考サイト
私のやりたいことは fetchmail + IMAP (+ SMTP)なんですが、SMTP サーバは契約している ISP のものを利用したいと思っています。ですが local に SMTP サーバを立てておいて From によって対応した ISP の SMTP サーバに転送するように設定すると美しいのでしょうかねぇ。以下のサイトで勉強しておきます。mobileimap の動作確認よりも今のメール環境をまずは作らねば。
2006-09-19(火) 晴のち曇 安静時心拍数 65 この日を編集
_ 注文
また大量注文しました。まともな本に出会いたい。
- C++言語入門 (Ascii software science―Language)(Stephen C.Dewhurst/Kathy T.Stark/小山 裕司)
- 組み込みソフトウェア開発スタートアップ―ITエンジニアのための組み込み技術入門 (デザインウェーブムック)(デザインウェーブマガジン編集部)
- パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法(ジョシュア・ケリーエブスキー/小黒 直樹/村上 歴/高橋 一成/越智 典子)
- C++ プライマー 第4版 IT Architect’ Archive クラシックモダン・コンピューティング (IT Architects’ Archive―CLASSIC MODERN COMPUTING)(スタンリー・B・リップマン/ジョゼ・ラジョワ/バーバラ・E・ムー/玉井 浩)
- 組込みソフトエンジニアを極める(酒井 由夫)
- デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)(アラン・シャロウェイ/ジェームズ・R・トロット/村上 雅章)
_ メール処理
溜まっていたメールの返信をひたすら書きました。返事を待っていた方、ごめんなさいね。
_ TrackBack [http://rtfm.jp/~tota/diary/20070112.html#p01 tota diary オ..]