[apop用ソフトcheckpwのインストール]
popサーバーとしてはqmail付属のプログラムとして、qmail-pop3dが提供されています。
ですが、apop用サーバーはqmailには付属ではないので新たにインストールする必要があります。
/usr/local/src/以下にcheckpw-**.tar.gzがダウンロードされているものとします。
# /usr/local/src/
# tar zxvf checkpw-**.tar.gz
(順番に読んできていれば、qmailのインストール時点で展開されているかもしれません。)
# cd checkpw-**
# make setup check
以上でインストールが完了です。
[Redhat Linux 9の場合](※必要ない人は読み飛ばしてください)
Redhat Linux 9では、glibcのアップグレードに伴い、提供されているツール群はそのままではコンパイルできなくなっています。
解凍したcheckpw-***やこの後記述するcheckpassword-***ディレクトリ内のerror.hを開き、ファイル先頭の次の部分を表示してください。
/*---
#ifndef ERROR_H
#define ERROR_H
extern int errno;
(以下省略)
---*/
上記ファイル中
extern int errno
の部分のせいでエラーが起きています。
そこで、上記ファイルextern int errno;の部分を次のように書き換えてください
/*---
#ifndef ERROR_H
#define ERROR_H
#include <errno.h>
(以下省略)
---*/
以上の作業をすることにより、Redhat Linux9でもインストールが可能になります。
ここまでの作業で/bin以下にcheckapoppwとcheckpwというプログラムが
配置されているはずです。
ここでは、認証要求がAPOPであればAPOPで認証し、
そうでなければPOPで認証するように設定したいので、
以下のようなスクリプト/bin/check_apop_popを用意します。
#! /bin/sh
case "$AUTH" in
apop)
exec /bin/checkapoppw "$@"
;;
*)
exec /bin/checkpw "$@"
;;
esac
# chmod 700 /bin/check_apop_pop
とし、実行権限を変えておきましょう。
認証時のパスワードは、/home/(ユーザー名)/Maildir/.passwordというファイルを利用します。
従って、以下のようにしてパスワードを設定する必要があります。
# echo "(設定したいパスワード)" > ~/Maildir/.password
# chmod 600 ~/Maildir/.password
POPの場合は/etc/passwdや/etc/shadowに記述されているパスワードによる認証も可能です。
具体的には、checkpasswordというプログラムをインストールし、
上の/bin/check_apop_popで/bin/checkpwと記述されている部分を
/bin/checkpasswordに変更します。
インストール方法としては
# cd /usr/local/src
# tar zxvf checkpassword-**.tar.gz
# cd checkpassword-**
# make
# make setup check
上記のようにしてください。
そして先ほど書いたスクリプト/bin/check_apop_popを次のように変更します。
#! /bin/sh
case "$AUTH" in
apop)
exec /bin/checkapoppw "$@"
;;
*)
exec /bin/checkpassword "$@"
;;
esac
上記設定が終わったらtcpserver経由で、pop&apopserverを立ち上げます。
/usr/local/bin/tcpserver 0 pop-3 /var/qmail/bin/qmail-popup
(サーバのFQDN) /bin/check_apop_pop /var/qmail/bin/qmail-pop3d Maildir
&
これで、POPサーバーでの接続が可能になると思います。