qpopper

最終更新日時:2009-03-31 11:14:58
メール関連

qpopper とは


qpopper は POP3 サービスを提供するアプリケーションです。
認証情報を暗号化する APOP や OpenSSL を利用することにより全通信を暗号化する POP3S にも対応可能です。

インストール


qpopper4.0.9 の例です。

まず、Qpopper Home Page よりアーカイブを取得し、展開します。

 % gzip -dc qpopper-4.0.9.tar.gz | tar xvf -
 % cd qpopper-4.0.9


あとは、お決まりのパターンです。

 % ./configure
 % make
 % su
 # make install


設定


qpopper はデーモンとして常駐させる他にも inet サービスとして稼働させることも可能です。
どちらにするかはアクセス数等にもよるのですが、ここでは xinetd 経由で起動させることにします。
xinetd.conf に以下のような記述を追加します。

 service pop3
 {
    socket_type             = stream
    wait                    = no
    user                    = root
    server                  = /usr/local/sbin/popper
    log_on_failure += USERID
 }


上記で、server_args = :1110 を追加すると、POP3 サービスを行うポート番号を指定できます。(この場合、1110 番となる)

追加したら、設定を反映させるために xinetd に設定を再読み込みさせます。

 # /etc/init.d/xinetd reload


これで xinetd 経由で POP3 サービスが行われます。

APOP 対応


APOP 対応するには configure 時に以下のような指定を行います。

 % ./configure --enable-apop=/etc/pop.auth --with-popuid=apop


--enable-apop により APOP 機能を有効にし、APOP 認証で使用する認証ファイルを指定します。
また、--with-popuid=apop で認証ファイルのオーナーを指定します。
あとは、通常の qpopper のインストールと同様です。

ユーザー作成


qpopper の APOP 認証では独自の認証ファイルを使用するので、このファイルに対してユーザーを登録する必要があります。
ユーザーを登録するには root で以下のコマンドを実行します。

 # popauth -user username


もしくは、認証情報を登録したいユーザー自らが、

 % popauth


POP3S 対応


POP3S 対応を行うには、OpenSSL をインストールしておく必要があります。
その上で、configure 時に以下のようにオプションを指定します。

 % ./configure --with-openssl --without-pam


あとは、通常のインストールと同様ですが、POP3S を使用する場合には暗号化方式等 POP3S 特有の設定を行う必要があるので、設定ファイル(例えば /usr/local/etc/qpopper.conf とする)を以下のように作成します。

 set clear-text-password      = ssl                # 平文のパスワードを TLS/SSL 接続の際にのみ有効とする
 set tracefile                = /var/log/pop3s.log # POP3S のログファイル指定
 set tls-support              = alternate-port     # 代わりのポート(995)にて POP3S サービスを行う
 set tls-private-key-file     = /home/Project/CA/server.key # POP3S サービス用秘密鍵
 set tls-server-cert-file     = /home/Project/CA/server.crt # POP3S サービス用証明書


秘密鍵、および証明書の作成方法については、OpenSSLを参照。
また、xinetd.conf の設定は以下のようにします。

 service pop3s
 {
    socket_type             = stream
    wait                    = no
    user                    = root
    server                  = /usr/local/sbin/popper
    server_args                = -s -R -f /usr/local/etc/qpopper.conf
    log_on_failure += USERID

}

xinetd に再読み込みさせるとサービスが有効となります。

お問い合わせは 掲示板 にて。