今回のサーバー移行では最新のcourier-imapに移行。前回のサーバー構築時はcourier-imap 3.xの設定等がうまくいかず、2.xでIMAPサーバーを作ったので、リベンジをかねて、最新版を使うことにしました。
4.xから認証を担当する部分がcourier-authlibへ分離し、今まで、courier-imapのconfigure時に認証方法を指定していたのをこのcourier-authlibをビルドする際に指定する。courier-authlibのビルド方法は以下の通り。
% ./configure --prefix=/usr/local --with-authpwd --with-authshadow --without-authcustom --without-authcram % make % su -c "make install && make migrate && make install-configure"
/usr/local/etc/authlib/authdaemonrcのauthmodulelist行をauthmodulelist="authshadow"に変更します。変更前に""内にある認証方法が選択できる方法です。
/usr/local/libexec/courier-authlib/authdaemonが認証を司ります。起動時にこのデーモンをstartさせるバッチを別に書きます。デーモンを直接rc.dとかにリンクを張ると起動時に怒られます。
この後、courier-imapをビルドします。
% ./configure --prefix=/usr/local --without-ipv6 % make % su -c "make install && make install-configure" % su -c "ln -s /usr/local/libexec/imapd.rc /etc/rc.d/rc3.d/S51imapd"
/usr/local/etc/imapdのADDRESS行を編集し、ホストのIPアドレスを設定します。
authdaemonを起動させず、IMAPサービスを利用しようとすると、パスワードは聞いてきますが、その先の認証ができず、エラーが返ってきます。この時サーバーのログには「s_connect() faild: No such file or directory」とか、「Connection Refused」等のメッセージが記録されると思います。