トップ «前の日記(2003-12-05(Fri)) 最新 次の日記(2003-12-07(Sun))» 編集

K2さんの雑記


2003-12-06(Sat) [長年日記]

POPFile

迷惑メール対策第2弾。今日はPOPFileのインストールを行った。

はじめ、ローカルマシンにWindows用インストールプログラムを使用して導入したが、これは簡単にできた。でも、うちにはクライアントマシンが2台あり、メールフォルダはサーバー上に置いてあるし、クライアントマシン2台からメールチェックを行う。よって、Linuxのサーバーに入れたくなるじゃない、やっぱり。

で、そこから格闘が始まった。参考にしたのはこの辺とか

CrossPlatform版をダウンロードして、Linux上で解凍(/usr/local下に入れた)し、とりあえず起動してみたが、まずBase64モジュールが無いと言われた。VinePlusからrpmを持ってきてインストール、これはOK。次にBerkeleyDB.pmが無いと言われる。どうやら、BerkeleyDBが必要なようだ。

BerkeleyDBをセットアップする。ダウンロードは、Sleepycat Softwareから。インストールは、以下のようにして行った。

% cd 解凍したフォルダ
% cd build_unix
% ../dist/configure
% make
# make install

perlモジュールは、CPANから持ってくる。

perl -MCPAN -e shell

で、cpanシェルを起動し、

install BerkeleyDB

で、インストールが開始するが、最後まできちんと終了しない。参考にしているページにもこの辺のことが書いてあるが、手順を引用しておく。

  • cpanシェルを終了
  • ~/.cpan/build/BerkeleyDB-.../に移動
  • make cleanで一旦生成されたファイルを削除する
  • config.inを開いてINCLUDE」と「LIB」の指定を修正する。どちらも、「/usr/local/BerkeleyDB/...」になっているので、これを/usr/local/BerkeleyDB.4.2/...」に変更する
  • その後、以下のコマンドで再インストールを行う
    perl Makefile.PL
    make
    make install
    

これで、BerkeleyDB.pmがインストールされる。

ここまで来て、Encodeモジュールが無いとだめだよというのをWeb記述で見つける。Encodeモジュールはperlの5.8系じゃないと使えないようだ。POPFileソース自体を書き換えるという方法もあるのだが、なるべくオリジナルソースをさわりたくないので、perlを5.8.2にアップデートすることにした... が、Linuxってよくわかってないから、全然自信ない。なんとかコンパイルしてインストールまで持って行った。(よくインストールできたもんだ...)

まず、perlのソースをwww.perl.comからダウンロード。それを適当なフォルダに解凍し、以下のようにした。

% cd perl-5.8.2
% ./Configure

ここで、いろいろ聞かれるのだが、コンパイラ(CC)をGCCに変えただけで、後は全部デフォルトでENTERキーをたたき続ける。(すごく不安)

% make
% make test

これで、コンパイルとテストが行われるが、時間がいっぱいかかる。

% su
# make install

これで終了。その後、/usr/binのperlが更新されていないので、これを/usr/local/binのもので上書き。一応動くようになったみたい。本当にこれでいいのかどうかは全然自信ないので、まねはしない方がいいと思う。別のところで調べてね。

その後、BerkeleyDB.pmをインストールし直し、やっとpopfile.plを起動するところまで来た。が、Port110がだぶっていて使えないというメッセージが出てだめ。

さっきのこのページの前の日の日記では、popfile.cfgを書き換えてポート番号を変更すればよいと書かれているが、そもそも一度も起動できないと、popfile.cfgは作成されないようだ。仕方がないので、grepで110と8080を探し、ソースを直接10110と18080に変更。やっと起動することができた。

インストールしたのはサーバーマシンであり、使用するのはクライアントから。http://[ServerIP]:18080/でアクセスできるはずなのだが、アクセスできない。おかしいなぁと、ローカルにインストールしたPOPFileを調べていると、設定に外部クライアントから接続できるかどうかという項目があることを発見。先ほども出てきたpopfile.cfgがこの時点ではできていたので、その中の該当する2項目を書き換え(書き換える前にPOPFileは終了させておくこと)、再起動すると、成功!

この後、メールクライアントからの受信も成功。やっと動き出したところなので、まだ振り分け機能は赤ん坊状態で、これから鍛えなければならない。SPAMは数限りなく来るから、簡単に学習させることはできるだろう。

今のところROOT権限で動作させている。ところで、Linuxって、起動時にプログラムを動作させるにはどうすればよいのかな。cronを使えば一定時間ごとの起動はできるのは知っている。が、起動時に一度だけ起動すればよいものは、どういう風に設定しておけばよいのかな。

本日のツッコミ(全3件) [ツッコミを入れる]
nao (2003-12-06(Sat) 22:58)

起動時スクリプト書くなら /etc/rc.local でええんじゃないですかね。

nao (2003-12-07(Sun) 01:11)

ln -s /usr/loca/bin/perl /usr/bin/perl の方が良かったかな(^^; 次perlをコンパイルし直してもコピーする必要無いしね。もしくは./Configure時にインストールパスを指定しちゃうか。

K2 (2003-12-08(Mon) 10:24)

情報ありがとうございます。<br>perlの方ですが、そうですね、リンク張っちゃった方がいいんでしょうね。やり方調べるの面倒だったのでコピーしちゃいました(^^;<br>起動時スクリプトの方は試してみます(が、サーバーの再起動、したくないな(^^; もう半年ほど起動しっぱなしです)


1965|09|
2002|09|10|11|12|
2003|01|02|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|03|04|05|08|
2014|01|02|03|04|05|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|11|
2017|01|03|05|06|07|08|10|11|12|
2018|01|02|03|04|05|08|09|10|12|
2020|01|07|




2003年
12月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
//
自己紹介
自己紹介
広告
計るだけダイエット
つっこみリスト
TrackBacks
日記仲間
/ / /
最近の日記