POPFile - POPFile で SPAM 撃退

Last modified: Sat Jan 8 19:49:12 JST 2005

目次

POPFile で SPAM 撃退

最近 SPAM が多くなってきたのでサクっと振り分けるために POPFile を Plamo Linux 4.0rc1 にをインストールしてみました。

POPFile 公式サイト

POPFile の入手はこちらからどうぞ。

http://popfile.sourceforge.net/cgi-bin/wiki.pl

POPFile って何?

ベイジアン型 SPAM フィルタです。

SPAM のタイプを覚えていって振り分けてくれるというナイスな奴で、怪しいメールの怪しいファイルを添付ファイルに変換して包んでくれる機能もあるのでウイルスの実行を防げます。

Perl のバージョン

Plamo Linux 4.0rc1 の Perl は 5.8.4 なのでモジュールを追加してやれば簡単に動きます。

必要なモジュールのインストール

Perl 関連で色々いるみたいなのでインストール。 以下のサイトから必要なモジュールを探して入れるだけ。

http://search.cpan.org/

モジュールのインストール方法は以下の通りです。

Perl のシェルを使う方法

JP HowTos/AllPlatformsRequirePerlを参照のこと。

手動でやる場合(checkinstallでパッケージ作りができて便利)

 $ perl Makefile.PL
 $ make 
 # make install (checkinstall という手もあります)

インストールしたモジュールは以下の通り。

POPFile のインストール

ディレクトリを作って単にアーカイブを展開するだけなので楽。

 # make /usr/local/popfile
 # unzip popfile-0.22.0.zip -d /usr/local/popfile

あと実行可能にしとく必要があったっけ。

 # chmod +x /usr/local/popfile/popfile.pl

起動スクリプトの作成

以下のようなスクリプトを作って /etc/rc.d/init.d に popfile という名前で置く。

 #!/bin/bash
 
 # Sample init.d/script to show how to start popfile
 # automatically during regular Redhat Linux 7.3 boot
 # Should also work for other versions of Linux
 
 # Change the line below to reflect the location of
 # popfile.pl on your system
 
 popfilelocation=/usr/local/popfile/popfile.pl
 
 # You may want to do a "ls -l /bin/basename" and
 # a "ls -l /usr/bin/dirname" to confirm that you
 # have the two utilities on your linux system
 
 prog=`/usr/bin/basename $popfilelocation`
 dir=`/usr/bin/dirname $popfilelocation`
 
 case "$1" in
     start)
 	echo "Starting POPFile service."
 	cd $dir
 	./$prog >> /dev/null 2>&1 &
 	;;
     stop)
 	echo "Shutting down POPFile service."
 	pid=`ps -ef | grep "perl \./popfile\.pl" | gawk '{print $2}'`
 	kill $pid
 	;;
     *)
 	echo $"Usage: $0 {start|stop}"
 	exit 1
 	;;
 esac
 
 exit 0

当然ながら chmod で実行可能の状態にしておく。

 # chmod +x popfile

スクリプトの内容は http://www.dslreports.com/forum/remark,9584163~mode=flat を使わせてもらいました。

メールクライアントの設定

Sylpeed を使ってますが他のクライアントも設定を変更する点は同じです。

受信サーバの設定を 127.0.0.1 に変更します。

そしてユーザ名は本来使うメールサーバ:ユーザ名にします。

http://popfile.sourceforge.net/manual/jp/email.html

POPFile の起動

作成した起動スクリプトから起動します。

 # /etc/rc.d/init.d/popfile start

POPFile の起動確認

Web ブラウザから http://127.0.0.1:8080/ にアクセスします。

POPFile の設定ページが表示されたら起動成功です。

バケツの設定

ここら辺は Web 上に沢山情報があるので割愛。

トラブルシューティング

メールクライアントの設定をしっかりしているのにメールが受信できない場合は Perl のモジュールが足りないのかも。

上記のスクリプトからではなくて端末エミュレータ(xterm,kterm,rxvt,etc...) から POPFile を起動して、受信作業時に表示されるエラーメッセージを確かめて足りないモジュールを CPAN からもらってきてインストールしましょう。

参考サイト