tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

POPFileのインストール

Modified: 18 August 2004


必要環境のチェック

インストール時の注意

FedoraCore2のインストール時には、「Perlの開発環境」はインストールが必要です。


Perlのチェック

POPFileは、"perl 5.7.3" 以降のバージョンが必須だそうです。

以下のように、"perl -v" で確認してください。

# perl -v

This is perl, v5.8.3 built for i386-linux-thread-multi

Copyright 1987-2003, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

#


ダウンロード

以下からダウンロードします。Linux版は、「POPFile Cross Platform」をダウンロードします。

http://sourceforge.net/projects/popfile

2004年8月19日時点で、"popfile-0.21.2.zip" がダウンロードできました。

さらに、日本語パッチをダウンロードします。

http://sourceforge.jp/projects/popfile/files

2004年8月19日時点で、"popfile_jpn.zip" がダウンロードできました。
必ず、リリースノートを読んで、POPFileのバージョンに対応したものをダウンロードします。


Perlの確認

以下の5つのモジュール

のインストールを確認します。

$ perl -MMIME::Base64 -e 'print $MIME::Base64::VERSION'
2.21
$ perl -MMIME::QuotedPrint -e 'print $MIME::QuotedPrint::VERSION'
2.21
$ perl -MText::Kakasi -e 'print $Text::Kakasi::VERSION'
1.05
$ perl -MEncode -e 'print $Encode::VERSION'
1.99
$ perl -MBerkeleyDB -e 'print $BerkeleyDB::VERSION'
Can't locate BerkeleyDB.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .).
BEGIN failed--compilation aborted.

"BerkeleyDB"のインストール

私の環境下では、"BerkeleyDB" がインストールされていないようです。インストールされていない場合、以下からダウンロードできます。"BerkeleyDB"で検索して探します。
http://search.cpan.org

以下、"BerkeleyDB" の説明をしますが、他のモジュールが足らない場合も同様の手順で可能です。

 "BerkeleyDB"のダウンロード

"BerkeleyDB"を検索してみると、2004年8月18日時点で、"BerkeleyDB-0.25" がダウンロードできました。


 
"BerkeleyDB"のインストール

# tar zxvf BerkeleyDB-0.25.tar.gz

         :

# cd BerkeleyDB-0.25
# perl Makefile.PL
Parsing config.in...
Looks Good.
Checking if your kit is complete...
Looks good
Writing Makefile for BerkeleyDB
# make
cp BerkeleyDB.pm blib/lib/BerkeleyDB.pm
AutoSplitting blib/lib/BerkeleyDB.pm (blib/lib/auto/BerkeleyDB)
cp BerkeleyDB.pod blib/lib/BerkeleyDB.pod
cp BerkeleyDB/Btree.pm blib/lib/BerkeleyDB/Btree.pm
cp BerkeleyDB/Hash.pm blib/lib/BerkeleyDB/Hash.pm
/usr/bin/perl /usr/lib/perl5/5.8.1/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.1/ExtUtils/typemap -typemap typemap  BerkeleyDB.xs > BerkeleyDB.xsc && mv BerkeleyDB.xsc BerkeleyDB.c
gcc -c  -I./libraries/4.2.41/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686   -DVERSION=\"0.25\" -DXS_VERSION=\"0.25\" -fPIC "-I/usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE"   BerkeleyDB.c
Running Mkbootstrap for BerkeleyDB ()
chmod 644 BerkeleyDB.bs
rm -f blib/arch/auto/BerkeleyDB/BerkeleyDB.so
LD_RUN_PATH="/usr/lib" gcc  -shared -L/usr/local/lib BerkeleyDB.o  -o blib/arch/auto/BerkeleyDB/BerkeleyDB.so   -ldb
chmod 755 blib/arch/auto/BerkeleyDB/BerkeleyDB.so
cp BerkeleyDB.bs blib/arch/auto/BerkeleyDB/BerkeleyDB.bs
chmod 644 blib/arch/auto/BerkeleyDB/BerkeleyDB.bs
Manifying blib/man3/BerkeleyDB.3pm
# LANG=C
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/btree........ok
t/db-3.0.......ok
t/db-3.1.......ok
t/db-3.2.......ok
t/db-3.3.......ok
t/destroy......ok
t/encrypt......ok
t/env..........ok
t/examples.....ok
t/examples3....ok
t/filter.......ok
t/hash.........ok
t/join.........ok
t/mldbm........skipped
        all skipped: MLDBM is not installed on this system.
t/queue........ok
t/recno........ok
t/strict.......ok
t/subdb........ok
t/txn..........ok
t/unknown......ok
All tests successful, 1 test skipped.
Files=20, Tests=1414, 25 wallclock secs (14.38 cusr +  3.10 csys = 17.48 CPU)
# make install
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/BerkeleyDB/BerkeleyDB.so
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/BerkeleyDB/BerkeleyDB.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/BerkeleyDB.pm
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/BerkeleyDB.pod
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/BerkeleyDB/autosplit.ix
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/BerkeleyDB/Btree.pm
Installing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/BerkeleyDB/Hash.pm
Installing /usr/share/man/man3/BerkeleyDB.3pm
Writing /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/BerkeleyDB/.packlist
Appending installation info to /usr/lib/perl5/5.8.1/i386-linux-thread-multi/perllocal.pod
#


モジュール(
"BerkeleyDB" )のインストールを確認します。

$ perl -MBerkeleyDB -e 'print $BerkeleyDB::VERSION'
0.25


 "DBD/SQLite"のインストール

以下からダウンロードして、インストールします。

http://search.cpan.org/dist/DBD-SQLite/

# tar zxvf DBD-SQLite-1.03.tar.gz
    :
# cd DBD-SQLite-1.03
# perl Makefile.PL
Checking if your kit is complete...
Looks good
Using DBI 1.40 (for perl 5.008003 on i386-linux-thread-multi) installed in /usr/
lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/auto/DBI
Writing Makefile for DBD::SQLite
# make
    :
# make test
    :
# make install
    :
#
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/00basic...............ok
t/01logon...............ok
t/02cr_table............ok
t/03insert..............NOK 6# Failed test 6 in t/03insert.t at line 15
#  t/03insert.t line 15 is:   ok($dbh->last_insert_id(undef, undef, undef, undef
));
t/03insert..............FAILED test 6
        Failed 1/10 tests, 90.00% okay
t/04select..............ok
t/05tran................ok
t/06error...............ok
t/08create_function.....ok
t/09create_aggregate....ok
t/10dsnlist.............ok
t/20createdrop..........ok
t/30insertfetch.........ok
t/40bindparam...........ok
t/40blobs...............ok
t/40listfields..........ok
t/40nulls...............ok
t/40numrows.............ok
t/50chopblanks..........ok
t/50commit..............ok
t/60metadata............ok
t/90cppcomments.........ok
t/99cleanup.............ok
t/ak-dbd................ok
t/dbdadmin..............ok
Failed Test  Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/03insert.t               10    1  10.00%  6
Failed 1/24 test scripts, 95.83% okay. 1/362 subtests failed, 99.72% okay.
make: *** [test_dynamic] Error 255
[root@fc2-sdev DBD-SQLite-1.03]# make install
Installing /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/DBD/SQLit
e/SQLite.bs
Installing /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/DBD/SQLit
e/SQLite.so
Files found in blib/arch: installing files in blib/lib into architecture depende
nt library tree
Installing /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/DBD/getsqlite.
pl
Installing /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/DBD/SQLite.pm
Installing /usr/share/man/man3/DBD::SQLite.3pm
Writing /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/DBD/SQLite/.
packlist
Appending installation info to /usr/lib/perl5/5.8.3/i386-linux-thread-multi/perl
local.pod
[root@fc2-sdev DBD-SQLite-1.03]# cd /var/www/popfile/
[root@fc2-sdev popfile]#


POPFileのインストール

インストール先のディレクトリを指定して解凍します。

# unzip popfile-0.21.2.zip -d /var/www/popfile
Archive:  popfile-0.20.1.zip
  inflating: /var/www/popfile/popfile.pl
  inflating: /var/www/popfile/otto.gif
  inflating: /var/www/popfile/pix.gif
       :
  inflating: /var/www/popfile/skins/sleetImages/top.gif
  inflating: /var/www/popfile/skins/sleetImages/topLeft.gif
  inflating: /var/www/popfile/skins/sleetImages/topRight.gif
#

日本語モジュールを、解凍して上書きします。

# unzip popfile_jpn.zip
Archive:  popfile_jpn.zip
  inflating: 0_20_1_1/license
   creating: 0_20_1_1/POPFile/
   creating: 0_20_1_1/POPFile/0.20.0/
       :
  inflating: 0_20_1_1/popfile_jpn.nsi
  inflating: 0_20_1_1/README_euc
  inflating: 0_20_1_1/README_sjis
# cd 0_21_2_1/POPFile/Classifier/
# cp Bayes.pm /var/www/popfile/Classifier
cp: overwrite `/var/www/popfile/Classifier/Bayes.pm'? y
#

"popfile.pl" に実行属性を設定します。

# cd /var/www/popfile
# chmod ug+x popfile.pl

POPFileの起動

# perl popfile.pl

POPFile Engine loading

    Loading...
         {core: config logger mq}
         {classifier: bayes}
         {interface: html}
         {proxy: pop3}

POPFile Engine v0.20.1 starting

    Initializing...
         {proxy: pop3}
         {interface: html}
         {core: logger mq config}
         {classifier: bayes}

    Starting...
         {proxy: pop3}
         {interface: html}
         {core: logger mq config}
         {classifier: bayes}

POPFile Engine v0.20.1 running

上記のような表示になれば起動が成功です。


管理ツールの基本動作のチェック

デフォルトでは、インストールしたマシンからしか管理画面が開けないので、LAN上の別のPCから開くために、"/var/www/popfile/popfile.cfg"を、以下のように変更します。

    :

html_local 0

    :

設定がうまくできていたら、同じサーバーから、"http://192.168.0.100:8080" を指定すれば、以下のような画面が表示されます。

 

POPFile の設定は、上記の管理画面で行います。


バケツの作成

POPFileでは、受け取ったメールは、一時的に保管するそうです。その保管場所を、「バケツ」というそうです。

「バケツ」のタブを選択し、「バケツ作成」のところに、バケツ名を入力し、「作成」ボタンをクリックします。

私は、スパムを保管する"spam"という名前のバケツと、それ以外のメールを保管する"others"という名前のバケツを作りました。特に決まりは内容ですので、好きなように作ればいいようです。

作成すると、以下のような表示になります。


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)