Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □pop(qpopper (x)inetd)

□pop(qpopper (x)inetd)

□pop(qpopper (x)inetd)

参考URL:
http://qpopper.sourceforge.net/

tar xvzf package/qpopper4.0.16.tar.gz
cd qpopper4.0.16/
./configure \
–prefix=/usr \
–enable-specialauth \
–enable-servermode
make
install -s ./popper/popper /usr/sbin/popper_pop3

これでまず普通の popper_pop3 を作る

–enable-auto-delete というオプションを付けると、読出し後に自動削除。

次にAPOP用の popper_apop を作る。popauth もインストール。
そのまえに、/etc/passwd と /etc/shadow に、pop ユーザーを
追加するのを忘れない様に。

make realclean
./configure \
–prefix=/usr \
–enable-specialauth \
–enable-servermode \
–enable-apop=/etc/pop.auth \
–with-popuid=pop \
–enable-auto-delete
make
install -s ./popper/popper /usr/sbin/popper_apop

install -s ./popper/popauth /usr/bin/popauth
chown pop /usr/bin/popauth
chmod u+s /usr/bin/popauth
/usr/bin/popauth -init

でパスワードのユーザー任意の設定許可とデータベースの初期化

続いていろいろ書き直し。

まず /etc/services は、
> apop 112/tcp apop # APOP
> apop 112/udp apop

上記を追加します。(POP3とAPOPのポートを分けたいため)

続いて /etc/xinetd.conf で

> service pop3
> {
> flags = NAMEINARGS
> socket_type = stream
> protocol = tcp
> wait = no
> user = root
> server = /usr/sbin/tcpd
> server_args = ipop3d
> }

となっているところを

> service pop3
> {
> flags = NAMEINARGS
> socket_type = stream
> protocol = tcp
> wait = no
> user = root
> server = /usr/sbin/tcpd
> server_args = /usr/sbin/popper_pop3 -s -t /var/log/popper_pop3.log
> }
>
> service apop
> {
> flags = NAMEINARGS
> socket_type = stream
> protocol = tcp
> wait = no
> user = root
> server = /usr/sbin/tcpd
> server_args = /usr/sbin/popper_apop -s -t /var/log/popper_apop.log
> }

とする。hosts.allow への追記を忘れずに。

もし tcpwrapper によるフィルタリンクがうざい(負荷なども含めて)と
思うならば、下記のように xinetd から直接呼んでしまえば良い。

> service pop3
> {
> flags = REUSE NAMEINARGS
> socket_type = stream
> protocol = tcp
> wait = no
> user = root
> server = /usr/sbin/popper_pop3
> server_args = -s -t /var/log/popper_pop3.log -T 60 -R
> log_on_success -= HOST PID
> }
>
> service pop3
> {
> flags = REUSE NAMEINARGS
> socket_type = stream
> protocol = tcp
> wait = no
> user = root
> server = /usr/sbin/popper_apop
> server_args = -s -t /var/log/popper_apop.log -T 60 -R
> log_on_success -= HOST PID
> }

inetd(xinetd) を kill -HUP(kill) しておわり。

で、とりあえず自分でアクセスしてみて下記のようになればOK。

> # telnet localhost pop3
> Trying 127.0.0.1…
> Connected to localhost.
> Escape character is ‘^]’.
> +OK Qpopper (version 4.0.16) at yebisu.fwnet.or.jp starting.
> quit
> +OK Pop server at yebisu.fwnet.or.jp signing off.
> Connection closed by foreign host.

> # telnet localhost apop
> Trying 127.0.0.1…
> Connected to localhost.
> Escape character is ‘^]’.
> +OK Qpopper (version 4.0.16) at yebisu.fwnet.or.jp starting. <1245.1138588184@yebisu.fwnet.or.jp>
> quit
> +OK Pop server at yebisu.fwnet.or.jp signing off.
> Connection closed by foreign host.

補足:負荷軽減のパラメータ

server_args で qpopper のオプションとして下記のような物を付けると
アクセスがやたらと多いメールサーバーの負荷軽減に繋がったりする…
かも!?

-T xx : タイムアウト値(単位は秒)、よくこけるクライアント対策として
-R : ホスト名をDNSに問い合わせない(負荷が軽くなる)

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です