courier-imap 4.1.2 をインストールする
SERVER
courier-imap
courier-imap は、qmail の Maildir 形式に対応した IMAP サーバです。
これまでにも EZ-NET: courier-imap 0.32 のインストール や EZ-NET: courier-imap 1.2 へのアップグレード などでも触れたことがありましたけど、あれからだいぶ月日が経ったこともあり、また新たに courier-imap をインストールする機会があったので、今回はそのお話です。
courier-imap 4.1.2 のインストール
Courier Mail Server ( http://www.courier-mta.org/ ) から courier-imap-4.1.2.tar.bz2 をダウンロードしたら、次のようにして展開およびコンパイル作業を行ってみます。
コンパイル時には root 権限以外のアカウントで作業を行う必要があるので、ここでは build-user というアカウントが作成されているものとして、そのアカウントで読み書き可能なディレクトリ上でコンパイル作業を行います。
su build-user
tar xvjf courier-imap-4.1.2.tar.bz2
cd courier-imap-4.1.2/
./configure --enable-unicode=iso-2022-jp
まずは configure によってコンパイルに必要な情報を集めてみました。
引数に指定されている "--enable-unicode=iso-2022-jp" は、サーバ側でのソートなどで使用する言語コードを UNICODE と指定するためのもののようで、また、規定の言語を日本語と明示することによってメモリの使用量を節約する効果もあるようです。
ともあれこのような指定で configure を実行してみたところ、次のようなエラーが表示されました。
checking for courierauthconfig... no
configure: WARNING: === Courier authentication library not found.
configure: WARNING: === You need to download and install
configure: WARNING: === http://www.courier-mta.org/download.php#authlib first.
configure: WARNING: === If courier-authlib is installed in a non-default
configure: WARNING: === directory, set the COURIERAUTHCONFIG environment
configure: WARNING: === variable to the full path to the courierauthconfig
configure: WARNING: === binary and rerun this configure script.
configure: WARNING:
configure: error: courierauthconfig not found
どうやら courier-imap 4.1.2 を利用するためには courierauthconfig が必要のようです。
エラーメッセージの中にも記されているように、こちらも http://www.courier-mta.org/ にて提供されていますので、まずは courier-authlib-0.59.1.tar.bz2 を入手してインストールしておくことにしました。
こちらのインストールでは、root 権限でのインストールで良いようです。
tar xvjf courier-authlib-0.59.1.tar.bz2
cd courier-authlib-0.59.1/
./configure
make
make install
make install-configure
cp courier-authlib.sysvinit /etc/rc.d/rc.courierauthlib
chmod 755 /etc/rc.d/rc.courierauthlib
courier-auth 0.59.1 のインストールが終わったら、改めてもう一度 courier-imap 4.1.2 のインストールを再開します。
cd courier-imap-4.1.2/
su build-user
./configure --enable-unicode=iso-2022-jp
make
make check
こうしてみると、make まではなんとか上手く行ったのですけど、"make check" を実行した段階でエラーが発生してしまいました。
make[2]: *** [check-am] Error 1
make[2]: Leaving directory `/usr/local/src/courier-imap-4.1.2/imap`
make[1]: *** [check] Error 2
make[1]: Leaving directory `/usr/local/src/courier-imap-4.1.2/imap`
make: *** [check-recursive] Error 1
ただ、原因の方がよく判らないのと、インターネットで調べてみるとなにやら無視してもよさそうな感じでしたので、コンパイル自体のエラーは出ていないことだし、とりあえずそのまま進めてみることにします。
インストールは、root 権限に戻って業を行います。
su
make install-strip
make install-configure
とりあえずインストール作業の方は、問題なく完了したようでした。
起動スクリプトも併せてコピーしておきます。Slackware 10.2 では /etc/rc.d/ ディレクトリに起動スクリプトが集められていますので、そこへ courier-imap.svinit を rc.imapd としてコピーします。
cp courier-imap.sysvinit /etc/rc.d/rc.imapd
chmod 755 /etc/rc.d/rc.imapd
courier-imap 4.1.2 を起動する
courier-imap 4.1.2 は、courierauthlib と courier-imap の両方を起動させることで利用可能となるそうです。
起動は、インストールの時に /etc/rc.d/ ディレクトリにコピーしておいた rc.courierauthlib と rc.imapd スクリプトの引数に start を付加して実行すればいいだけなので簡単です。
/etc/rc.d/rc.courierauthlib start
/etc/rc.d/rc.imapd start
ただし、courier-imap 4.1.2 は imap の他にも imap-ssl, pop3d, pop3-ssl といったプロトコルも取り扱えるようになっていて、これらのどれを使用するかをあらかじめ指定しておく必要があります。
これは /usr/lib/courier-imap/etc/ ディレクトリ内のファイルを編集することで選択することができます。たとえば IMAP プロトコルを有効にしたい場合には、/usr/lib/courier-imap/etc/imapd ファイル内の IMAPDSTART の値を "YES" に設定しておきます。
IMAPDSTART=YES
Slackware 起動時に自動実行させたい場合には、/etc/rc.d/rc.local や、または /etc/rc.M と /etc/rc.6 の適切な箇所に、上記の起動スクリプト 2 つを記述しておけばいいでしょう。