POP3/IMAPサーバ over SSL(Courier-IMAP)の構築(SuSE編)


SuSE には Courie-IMAP の RPM が用意されているので、いとも簡単に POP3/IMAP over SSL の環境が構築できます。但し、日本語でのメッセージの検索やソート機能を使用する場合は、RPM の再構築が必要です。

■RPM の再構築とインストール

 日本語でのメッセージの検索やソート機能を使用する場合は、RPM の再構築が必要なので以下で作業してください。本機能が不要なら、YaST でインストールするだけです。

◆Courier-IMAP のダウンロードとインストール

ここでは、Courie-IMAP の SRPM をダウンロードし、日本語でのメッセージの検索やソート機能対応を折り込んだ RPM を作成してインストールします。

  1. Courie-IMAP の SRPM を、/usr/src/packages/SOURCES 配下に KDDI の FTPサイトからダウンロードし、展開する。おやじがダウンロードしてきたのは、courier-imap-2.1.1-37.src.rpm である。KDDI のサイトは非常に込み繋がらないことがあるので他のサイトでも構わないが、残念ながら Novell のサイトには SRPM は置いていない。最近は置いてあります。

    # cd /usr/src/packages/SOURCES
    # wget ftp://ftp.kddlabs.co.jp/Linux/packages/SuSE/suse/i386/9.0/suse/src/courier-imap-2.1.1-37.src.rpm
    # rpm -Uvh courier-imap-2.1.1-37.src.rpm


  2. /usr/src/packages/SPECS 配下に展開された courier-imap.spec を、日本語でのメッセージの検索やソート機能対応に変更してコンパイルしなおす。(赤字:追加 )
    このとき、依存関係でいろいろモジュール(xxx-devel等)が必要と要求されますが、YaST で検索すれば簡単に見つかるので、インストールする。

    # cd /usr/src/packages/SPECS
    # vi courier-imap.spec

     (snip)

    %build
    (cd authlib; autoreconf)
    export CFLAGS=$RPM_OPT_FLAGS
    ./configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir} \
    --datadir=%{_datadir}/courier-imap \
    --libdir=%{_libdir} --libexecdir=%{_prefix}/lib/courier-imap \
    --localstatedir=%{_localstatedir} \
    --sharedstatedir=%{_sharedstatedir}/courier-imap --mandir=%{_mandir} \
    --infodir=%{_infodir} --with-piddir=/var/run \
    --disable-root-check \
    --enable-unicode
    =iso-2022-jp,iso-8859-1,utf-8 \
    --with-authdaemonvar=%{authdaemondir} \
    --enable-workarounds-for-imap-client-bugs \
    --host=%{_host} --build=%{_build} --target=%{_target_platform}

     (snip)

    「Esc」、「:」、「w」、「q」で保存。

    # rpmbuild -ba courier-imap.spec


  3. 上記で、日本語対応版の RPM が /usr/src/packages/RPMS/i586 配下に基本パッケージとldapパッケージが作成されるので確認し、特に必要がなければ基本パッケージのみをインストールする。

    # cd /usr/src/packages/RPMS/i586
    # ls
    courier-imap-2.1.1-37.i586.rpm
    courier-imap-ldap-2.1.1-37.i586.rpm
    # rpm -Uvh courier-imap-2.1.1-37.i586.rpm


    注: 手動で RPM をインストールすると、YaST 上は「保護されている−変更しない」パッケージとして扱われ、自動アップデートされなくなる。当然、書き換えられては困るので非常にうまくできているが、自己管理になるので注意が必要である。

◆YaST でのインストール

SuSE 標準のままなら、YaST でインストールするだけです。インストールについては、改めて書くほどのこともありません。

  1. YaST コントロールセンタを起動し、「ソフトウェア」の「ソフトウェアのインストール/削除」を起動する。

  2. 「フィルタ」 を 「検索」 とし検索欄に 「courier」 と入力し 「検索」 ボタンを押す。

  3. 右側に該当するパッケージが出てくるが、その中の「courier-imap」にチェックマークを入れて 「了解」 を押しておしまい。

■Courier-IMAP の設定

Corier-IMAP を rpm からインストールすると、デフォルトで POP3/POP3 over SSL/IMAP/IMAP over SSL の4つのモード用の設定ファイルが /etc/courier/ 配下にインストールされます。 SSL 系を使用しないのであれば、特に設定は不要です。 SSL 系を使用する場合は、証明書関係のパスの変更のみを行えばおしまいです。以下に、修正内容を示します。(青字は削除、赤字は追加、緑字は変更したものです。)
なお、SSL 証明書については、サーバ証明書の作成を参照して作成してください。

◆pop3d-ssl ファイルの編集

SSL用証明書のパスを下記により変更します。

#TLS_CERTFILE=/usr/share/courier-imap/pop3d.pem
TLS_CERTFILE=/usr/local/certs/mail.pem

◆imapd-sslファイルの編集

SSL用証明書のパスを下記により変更します。

#TLS_CERTFILE=/usr/share/courier-imap/imapd.pem
TLS_CERTFILE=/usr/local/certs/mail.pem

■メール Box の作成と Postfix の設定

Corier-IMAP のメール Box は Maildir 形式なので、各ユーザのホームディレクトリに Maildir を作成するとともに、Postfix の Maildir 形式対応にします。

◆メールBox の作成

メール Box を作成するには、各ユーザのホームディレクトリで下記のようにコマンドを入力します。
$ cd ~
$ maildirmake Maildir 

 新規ユーザ作成時に自動的にユーザホームディレクトリに Maildir が作られるようにするには、root で「/etc/skel」にも作成しておきます。

# maildirmake /etc/skel/Maildir 


◆Postfix の設定

Postfix を Maildir 形式対応にするには、/etc/postfix/main.cf を編集してhome_mailbox での Maildir の指定を行います。(青字は削除、赤字は追加、緑字は変更したものです。)
 下記以外は、Postfix のページを参考にしてください。

■Courier-IMAP の自動起動の設定

rpmからインストールすると、デフォルトで POP3/POP3 over SSL/IMAP/IMAP over SSL の4つのモード用の起動スクリプトと、Courier-IMAP の認証を司る authdaemon 用の起動スクリプトがインストールされます。これを、YaST で設定するだけです。

  1. YaST コントロールセンタを起動し、「システム」の「ランレベル・エディタ」を起動する。

  2. Courier-IMAP 関係として、「courier-authdaemon」、「courier-imap」、「courier-imap-ssl」、「courier-pop3」、「courier-pop3-ssl」の5つのサービスが登録されているので、「courier-authdaemon」(必須)と使用するサービスを、それぞれのサービスを選択して「有効にする」ボタンを押していく。
    「courier-authdaemon」を一番最初に有効にしないとエラーがでる。設定が終わったら「完了」ボタンを押す。