11月2010

biffpopのインストール

自宅ではMyDNSを使用してダイナミックDNSを使っているため、
定期的に自宅のグローバルIPアドレスを通知する必要がある。
MyDNSではメール受信処理を自分のアカウントに行えば、
それでグローバルIPアドレスを更新してくれるため、今回は
メール受信を行ってくれる「biffpop」をインストールした。

1.biffpopをダウンロード

[root@developServer ~]# wget http://www.nakata-jp.org/computer/freesoft/biffpop.tgz
2.ダウンロードしたbiffpopを解凍

[root@developServer ~]#tar xvzf biffpop.tgz

3.biffpopをインストール

[root@developServer ~]# cd biffpop/src/

[root@developServer src]# make
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall biffpop.c -o biffpop.o
biffpop.c:35 から include されたファイル中:
biffpop.h:17:1: 警告: “TRUE” が再定義されました
/usr/include/krb5.h:7 から include されたファイル中,
/usr/include/openssl/kssl.h:72 から,
/usr/include/openssl/ssl.h:191 から,
biffpop.c:24 から:
/usr/include/krb5/krb5.h:184:1: 警告: ここが以前の宣言がある位置です
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall Pop3Client.c -o Pop3Client.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall ApopString.c -o ApopString.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall md5c.c -o md5c.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -o biffpop biffpop.o Pop3Client.o ApopString.o md5c.o  -lssl

※もしmakeコマンドでエラーが出るならコンパイラが必要かもしれません。

以下のコマンドでコンパイラをインストールしてください。

yum -y install gcc

yum -y install gcc-c++

[root@developServer src]# cp biffpop /usr/bin/

[root@developServer ~]# rm -rf biffpop
[root@developServer ~]# rm -rf biffpop.tgz

4.biffpopの設定ファイルの作成

一度biffpopコマンドを実行すると、root直下に.biffpoprcという設定ファイルが出力されます。

[root@developServer ~]# biffpop
-Config file does not exist : /root/.biffpoprc
+Trying to create new config file.
+New config file created : /root/.biffpoprc

  • ~/.biffpoprc must be configured before running biffpop.
    [root@developServer ~]#

5.設定ファイルの更新

vi .biffpoprc

Replace all < > with appropriate data

#
start          HIROROOM
popserver       メールサーバー名
port            110     # connection port
portv6          110     # connection port for IPv6
username        アカウント名
password        パスワード
mailcheckdelay  600     # default mail check time in seconds
viewallmessages 0       # 0 Shows both unread & total messages
inhibitAPOP     0       # 0 can use APOP
#                        and 1 never use APOP
end

6.メール受信テスト

[root@developServer ~]# biffpop
HIROROOM      mesg : unread 0 / total 0

※こんな感じで表示されればOK

7.biffpopの実行&ログ取得用バッチの作成

[root@developServer biffpop]# mkdir biffpop

[root@developServer biffpop]# cd biffpop/

[root@developServer biffpop]# vi  biffpopExec.sh

#!/bin/sh
#

メールチェックし、DNS更新

#
dateTime=date '+%Y%m%d%H%M%S'
HOME=/root

#

End configuration section

#
export LANG=ja_JP.UTF-8

echo “” >> /root/biffpop/biffpop.log
echo ${dateTime} >> /root/biffpop/biffpop.log
/usr/bin/biffpop >> /root/biffpop/biffpop.log 2>&1

8.CRONで定期的にバッチを実行させる

[root@developServer ~]# vi /etc/crontab

下記の1文を最終行に追加し、30分ごとにチェックするようにする

*/30 * * * * root /root/biffpop/biffpopExec.sh

9.30分ごとにログが出力され、ちゃんとメール受信できているか確認

[root@developServer ~]# less biffpop/biffpop.log

20101103180625
HIROROOM        mesg : unread 0 / total 0