mini-HOWTO install Cyrus IMAP Server Kevin Mitchell, kevin@iserv.net v0.9, 21 Jan 1998 高橋 聡 hisai@din.or.jp xx Jul 1999 このドキュメントは Cyrus IMAP サーバを Linux にインストールする際の手 助けをする目的で書かれました。 ______________________________________________________________________ 目次 1. 序論 1.1 IMAP とは何物で、どうして使うべきなのか? 1.2 なぜ Cyrus サーバを使うのか? 2. システム環境について 3. Tcl のインストール 4. makedepend を使ったインストール 5. Cyrus のインストール 6. Sendmail の設定 7. メールボックスの設定 8. おことわり 9. ソース 10. 日本版謝辞 ______________________________________________________________________ 1. 序論 Bob Anderson (boba@iserv.net) と Jorge Paramo 両氏に感謝します。 Linux で色々なことに挑戦する時に、助けてくださいました。 1.1. IMAP とは何物で、どうして使うべきなのか? IMAP (Internet Message Access Protocol) はメール・サーバ上にある電子メ ールや掲示板のメッセージを取得するための手段です。IMAP は一般に POP (Post Office Protocol) に置き換わるものと考えられています。これを使う と、複数のコンピュータから、サーバ上の電子メールをダウンロードしなくと も、購読することができるようになります。またセキュリティも高まります し、エンド・ユーザにとっても多くのメリットがあります。 詳細はここを見てください: IMAP と POP の比較はここを見てください: 1.2. なぜ Cyrus サーバを使うのか? Cyrus は 一般ユーザの login を許可していないサーバ上で動くように設計さ れています。また Unix 上で動くポピュラーな IMAP サーバとして知られてい る 2 つの内の 1 つです。もう 1 つのサーバは The University of Washington IMAP Server です。このサーバはここから取ってこられます。 2. システム環境について 私が Cyrus のインストールに成功したマシンには、486DX66 と Pentium が搭 載されていて、そこではカーネル 2.1.79 と 2.0.33 がそれぞれ稼働していま す。これらのマシンは Slackware 3.4 をベースに構築されています。 3. Tcl のインストール Cyrus をインストールしようとする前に、すでに Tcl がインストールされて いる必要があります。Tcl がインストールされていないと、Cyrus の管理ツー ル(cyadm)が利用できません。 最新の Tcl のソースはここにあります。 インストールが終ったら、libtcl.a が /usr/local/lib ディレクトリにある ことを確認してください。Tcl 8.0 は、libtcl8.0.a という名前のライブラ リ・ファイルをつくりますので、次のコマンドを使ってシンボリック・リンク をはってください。 # ln -s libtcl8.0.a libtcl.a 4. makedepend を使ったインストール あなたのシステムに makedepend コマンドがあるかを確認してください。もし なくても、気にすることはありません。Cyrus のソースについてきます。 (Slackware 3.4 にはついてきませんでした。) makedepend をインストールしたら、Cyrus を展開して makedepend のある ディレクトリに移ってください。移ったら次のコマンドを実行してください。 ./configure make cp ./makedepend /usr/local/bin/makedepend 5. Cyrus のインストール Cyrus 付属のドキュメントをしっかり読んでインストールしてください。ド キュメントはオンラインで読むことができます: インストールする時に参考になる tips をあげておきます: もし Slackware 3.4 (シャドウ・パスワード使用)を使っているなら、このよ うに設定してください。 ./configure --with-login=unix_pwcheck make は 簡単にできます。 make depend make all CFLAGS=-O ステップ 1 : cyrus というユーザ・アカウントは、セキュリティ・ホールを できるだけ減らすために使用禁止にしました。 ステップ 3: cyrus 付属の syslog.conf をコピーせずに、既存のファイルを 修正しました。 ステップ 9: Linux では pwcheck を起動しておくことを忘れないでくださ い。さもないとサーバが動きません。 ______________________________________________________________________ umask 0;/usr/cyrus/bin/pwcheck & umask 022 ______________________________________________________________________ 起動時に実行するスクリプトに、こんな感じで追加してください。 ______________________________________________________________________ if [ -f /usr/cyrus/bin/pwcheck ]; then echo -n "Starting pwcheck for imap" umask 0;/usr/cyrus/bin/pwcheck & umask 022 fi ______________________________________________________________________ 私は /etc/rc.d/rc.local に記述して、うまく動作しています。 ステップ 12:/etc/inetd.conf を修正する時に、下記のように TCP Wrappers から起動するようにしてください。 ______________________________________________________________________ imap stream tcp nowait cyrus /usr/sbin/tcpd /usr/cyrus/bin/imapd imap ______________________________________________________________________ 修正が済んだら忘れずに 'kill -HUP' を実行して,inetd に HUP シグナルを 送ってください。 # ps ax | grep inetd 61 ? S 0:00 /usr/sbin/inetd # kill -HUP 61 6. Sendmail の設定 もし sendmail を持っていないなら、ソースをダウンロードしてください。 IMAP を動かす他にも、スパム対策の設定を行う、というような楽しい作業が 待っています。 下記が私の mc ファイルです。/etc/sendmail.cN ファイルにユーザ名がなく ても IMAP にメイルを配送できます。この設定で root のようなシステム用の アカウントに対してのメールをスプールに入れることができます。 IMAP はデフォルトで、アカウントがあるユーザは IMAPを利用するように設定 されています。下記のコードを Copy & Paste しないでください。sendmail はスペースではなく、タブを使用することになっていますから。 ______________________________________________________________________ divert(-1) # # (C) Copyright 1995 by Carnegie Mellon University # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of CMU not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR P ERFORMANCE OF THIS # SOFTWARE. # # Contributed to Berkeley by John Gardiner Myers . # # This sample mc file is for a site that uses the Cyrus IMAP server # exclusively for local mail. # divert(0)dnl VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc 8.3') OSTYPE(linux) define(`confBIND_OPTS',`-DNSRCH -DEFNAMES') FEATURE(nouucp) FEATURE(nocanonify) FEATURE(always_add_domain) MAILER(smtp) MAILER(local) MAILER(cyrus) define(`confLOCAL_MAILER',`cyrus') LOCAL_RULE_0 R$=N $: $#local $: $1 R$=N $: $#local $: $1 Rbb + $+ $#cyrusbb $: $1 LOCAL_CONFIG FN /etc/sendmail.cN # end of mc file ______________________________________________________________________ /etc/sendmail.cf ファイルを作ったら、 /etc/sendmail.cN ファイルを作っ て、IMAP を使用しない方がよいユーザのアカウントを加えましょう。 o root o majordom o stan o mothra 私は Sendmail 8.8.8 をインストールしたら、ローカルなメール配送をするた めに mail.local もインストールしました。mail.local を作るにはちょっと したコツが必要です。sendmail のソースの中の mail.local のディレクトリ に移り、次のようにしてください。 cp Makefile Makefile.orig cp Makefile.dist Makefile make cp mail.local /bin/mail.local chmod 4555 /bin/mail.local 全てやり終えたら、sendmail を再起動してください。Cyrus のインストール を終えているかを忘れずに確認してください。 7. メールボックスの設定 IMAP サーバ の動作確認をしてください。OK ならメールボックスの設定を 行ってください。 8. おことわり このドキュメントは、無保証かつ無償です。ご自分の責任においてご利用くだ さい。 9. ソース 必要なソフトウエア o Cyrus のホーム・ページは、 です。 o 最新版のダウンロードは下記から落してください。 o Tcl のホーム・ページは、 です。 o 最新版のダウンロードは下記から落してください。 o sendmail のホーム・ページは、 です。 o 最新版のダウンロードは下記から落してください。 10. 日本版謝辞 翻訳に当たって、下記の方にお世話になりました。ありがとうございました。 o 藤原輝嘉さん