*SpamAssassin(スパム対策ソフト) [#aa24b114]

RIGHT:更新日 &lastmod();

SpamAssassin(スパムアサシン)はprocmailから起動して条件ごとに決められた ポイントを加算ししきい値を超えたらspamメールと判断するソフトで、Razorと いうデータベースとも連携することができ、spamメールを排除するperlスクリプト

**SpamAssassinのインストール [#s8a93702]
SpamAssassinを[[ここ:http://spamassassin.apache.org/downloads.cgi]]から Download

***モジュール事前インストール [#y7897d1b]
事前にHTML::Parser.pmとHTML::Tagset.pmのPerlモジュールをインストール [[ここ:http://search.cpan.org/]]からDownloadする。

Vine4.0 SpamAssassin-3.1.7ではDigest::SHA1をリクエストされたのでインストールした。それ以外もいくつかのオプション(optional module missing: Net::DNS)でワーニングが出たがとろあえず無視した。

 $ tar zxvf HTML-Tagset-3.03.tar.gz
 $ cd HTML-Tagset-3.03
 $ perl Makefile.PL
 Checking if your kit is complete...
 Looks good
 Writing Makefile for HTML::Tagset
 $ make
 cp Tagset.pm blib/lib/HTML/Tagset.pm
 Manifying blib/man3/HTML::Tagset.3pm
 $ make test
 PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 test.pl
 1..1
 ok 1
 $ su
 # make install
 # make install
 Installing /usr/share/man/man3/HTML::Tagset.3pm
 Writing /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/HTML/Tagset/.packlist
 Appending installation info to /usr/lib/perl5/5.6.1/i386-linux/perllocal.pod
 
 $ tar tar zxvf HTML-Parser-3.36.tar.gz
 $ cd HTML-Parser-3.36
 $ perl Makefile.PL
 Perl-5.8 provide core support for Unicode strings.  You can compile
 (略)
 Do you want decoding on unicode entities? [no] <--(Enterを入力)
 Writing Makefile for HTML::Parser
 
 $ make
 gcc -c  -fno-strict-aliasing -O2 -m486 -fno-strength-reduce   -DVERSION=\"3.36\" -DXS_VERSION=\"3.36\" -fPIC -I/usr/lib/perl5/5.6.1/i386-linux/CORE -DMARKED_SECTION Parser.c
 (略)
 Manifying blib/man3/HTML::Parser.3pm
 Manifying blib/man3/HTML::Entities.3pm
 Manifying blib/man3/HTML::TokeParser.3pm
 Manifying blib/man3/HTML::Filter.3pm
 $ make test
 PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 -e 'use Test::Harness qw(&runtests $verbose)
 ; $verbose=0; runtests @ARGV;' t/*.t
 t/api_version.......ok
 (略)
 t/uentities.........skipped: Unicode entities not selected
 t/unbroken-text.....ok
 t/xml-mode..........ok
 All tests successful, 3 tests skipped.
 Files=42, Tests=228, 13 wallclock secs ( 6.40 cusr +  2.69 csys =  9.09 CPU)
 $ su
 # make install

***SpamAssassinのインストール [#v8f5f9f6]

 $ tar zxvf Mail-SpamAssassin-2.63.tar.gz
 $ cd Mail-SpamAssassin-2.63
 $ perl Makefile.PL
 (個人インストールは perl Makefile.PL PREFIX=~/sausr SYSCONFDIR=~/saetc)
 
 What email address or URL should be used in the suspected-spam report
 text for users who want more information on your filter installation?
 (In particular, ISPs should change this to a local Postmaster contact)
 default text: [the administrator of that system]okada@localhost <--アドレスを入力
 
 Checking if your kit is complete...
 Looks good
 $ make
 $ make test
 $ su
 # make install

***起動 [#a69ad782]

 # /usr/bin/spamd &

''設定(個人)''

~/.forward
 "|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #okada"

~/.procmailrc
 :0fw: spamassassin.lock
 | /usr/bin/spamc
 :0:
 * ^X-Spam-Status: Yes
 Spammail/.
 (一行目2文字はゼロ)
 (個人インストールは2行目を/home/okada/sausr/bin/spamassasinにする)

''サーバとして設定''

サーバとして設定するにはメールボックスへの配信をpostfixからprocmailに変更する

/etc/postfix/main.cfの
 mailbox_command = /usr/bin/procmail
に変更。

サーバ全体のユーザに利用してもらうために個人設定と同じ内容(~/.procmailrc)を
 /etc/procmailrc
に記入し、postfixをreloadする。

***動作確認 [#r4cc891d]

''試験メール1(スパムでないメール)''

 From okada@abc.ac.jp  Fri Jul  2 09:13:31 2004
 Delivered-To: okada@[10.99.99.125]
 From: okada <okada@abc.ac.jp>
 To: okada@[10.99.99.125]
 Date: Fri, 2 Jul 2004 10:04:52 +0900
 Subject: TEST2
 MIME-Version: 1.0
 Content-Type: text/plain; charset="ISO-2022-JP"
 Content-Transfer-Encoding: 7bit
 X-Mailer: nPOPQ Ver 1.0.1d
 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on
         vvine26r3.abc.ac.jp
 X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=ham version=2.63  <--ここ
 X-Spam-Level:
 
 
 岡田です。
 
 TEST2

-------------------------------------

''試験メール2(スパムメール)''
本文はMail-SpamAssassin-2.63/sample-spam.txtを送る。

送り先と送り元を以下のように修正して
 From: Sender <okada@[10.99.99.125]>
 To: okada <okada@[10.99.99.125]>
 
 $ /usr/sbin/sendmail -oi -t < sample-spam.txt
 
 From okada@vvine26r3.abc.ac.jp  Fri Jul  2 15:16:47 2004
 Received: from localhost by vvine26r3.abc.ac.jp
         with SpamAssassin (2.63 2004-01-11);
         Fri, 02 Jul 2004 15:17:01 +0900
 From: Sender <okada@[10.99.99.125]>
 To: okada <okada@[10.99.99.125]>
 Subject: Test spam mail (GTUBE)
 Date: Wed, 23 Jul 2003 23:30:00 +0200
 Message-Id: <GTUBE1.1010101@example.net>
 X-Spam-Flag: YES
 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on
         vvine26r3.abc.ac.jp
 X-Spam-Status: Yes, hits=1007.7 required=12.0 tests=DATE_IN_PAST_96_XX,GTUBE,
         NO_DNS_FOR_FROM,RAZOR2_CF_RANGE_51_100,RAZOR2_CHECK autolearn=no
         version=2.63
 (ここに検査時にHitした項目が表示される)
 X-Spam-Level: **************************************************
 MIME-Version: 1.0
 Content-Type: multipart/mixed; boundary="----------=_40E4FDDD.AC6A48DB"
 
 This is a multi-part message in MIME format.
 
 ------------=_40E4FDDD.AC6A48DB
 Content-Type: text/plain
 Content-Disposition: inline
 Content-Transfer-Encoding: 8bit
 
 Spam detection software, running on the system "vvine26r3.abc.ac.jp", has
 identified this incoming email as possible spam.  The original message
 has been attached to this so you can view it (if it isn't spam) or block
 similar future email.  If you have any questions, see
 okada@localhost for details.
 
 Content preview:  This is the GTUBE, the Generic Test for Unsolicited
   Bulk Email If your spam filter supports it, the GTUBE provides a test
   by which you can verify that the filter is installed correctly and is
   detecting incoming spam. You can send yourself a test mail containing
   the following string of characters (in upper case and with no white
   spaces and line breaks): [...]
 
 Content analysis details:   (1007.7 points, 12.0 required) 
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1000 GTUBE                  BODY: Generic Test for Unsolicited Bulk Email
  1.5 RAZOR2_CF_RANGE_51_100 BODY: Razor2 gives confidence between 51 and 100
                            [cf: 100]
  1.5 RAZOR2_CHECK           Listed in Razor2 (http://razor.sf.net/)
  3.5 NO_DNS_FOR_FROM        Domain in From header has no MX or A DNS records
  1.2 DATE_IN_PAST_96_XX     Date: is 96 hours or more before Received: date
  
  
 
 ------------=_40E4FDDD.AC6A48DB
 Content-Type: message/rfc822; x-spam-type=original
 Content-Description: original message before SpamAssassin
 Content-Disposition: inline
 Content-Transfer-Encoding: 8bit
 
 Return-Path: <okada@vvine26r3.abc.ac.jp>
 Delivered-To: okada@[10.99.99.125]
 Received: by vvine26r3.abc.ac.jp (Postfix, from userid 500)
         id 140A4E133D; Fri,  2 Jul 2004 15:16:46 +0900 (JST)
 Subject: Test spam mail (GTUBE)
 Message-ID: <GTUBE1.1010101@example.net>
 Date: Wed, 23 Jul 2003 23:30:00 +0200
 From: Sender <okada@[10.99.99.125]>
 To: okada <okada@[10.99.99.125]>
 Precedence: junk
 MIME-Version: 1.0
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 This is the GTUBE, the
         Generic
         Test for
         Unsolicited
         Bulk
         Email
 
 If your spam filter supports it, the GTUBE provides a test by which you
 can verify that the filter is installed correctly and is detecting incoming
 spam. You can send yourself a test mail containing the following string of
 characters (in upper case and with no white spaces and line breaks):
 
 XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
 
 You should send this test mail from an account outside of your network.
 
 
 ------------=_40E4FDDD.AC6A48DB--

***捕らえたスパムメールを指定ディレクトリに取り込む [#ge431721]

~Maildir/Caughtspamというディレクトリを作成しておきそこに取り込む

.procmailrcに追加
 :0fw: spamassassin.lock
 | /usr/bin/spamc
 (以下の3行を追加)
 :0:
 * ^X-Spam-Status: Yes
 Caughtspam

''spamメールの捕らえたのを確認''
 $ cd Caughtspam
 $ ls -l
 合計 8
 -rw-------    1 okada    okada        3603 Jul  2 09:25 msg.MfKC
 -rw-------    1 okada    okada        3604 Jul  2 09:27 msg.SfKC

スパムも解析は

内容を表示すると

 Content analysis details:   (10.4 points, 7.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.1 ISO2022JP_CHARSET      ISO-2022-JP message
  0.1 X_MAILER_PRESENT       exists:X-Mailer
  5.4 INVALID_DATE           Invalid Date: header (not RFC 2822)
 -0.1 ISO2022JP_BODY         BODY: ISO-2022-JP message
  0.5 FAKEDWORD_ATMARK       BODY: ex. em@il (this rule is only for body)
  1.9 DATE_IN_FUTURE_06_12   Date: is 6 to 12 hours after Received: date
  2.7 FORGED_MUA_MOZILLA     Forged mail pretending to be from Mozilla


にある。この場10.4ポイントで7.0ポイント以上なのでスパムになった。

***チェックのパラメータの設定 [#dd997abf]
/etc/mail/spamassassin/local.cfの中の
しきい値は required_hits 7.0

各パラメータのしきい値は
 score INVALID_DATE 5.4
等を設定

以下設定例

 # 2バイトコードの判定をゆるやかにするために ポイントを0に変更
 score HEADER_8BITS              0
 score HTML_COMMENT_8BITS        0
 score SUBJ_FULL_OF_8BITS        0
 score UPPERCASE_25_50           0
 score UPPERCASE_50_75           0
 score UPPERCASE_75_100          0
 
 # SPAM判定した場合には subjetctタグの文字列を加える場合 1。
 # そのままにしておきたい場合には 0。
 rewrite_subject         1
 subject_tag             [SPAMASS]
 # X-Spam-Levelの*をヘッダーに加える場合 1
 spam_level_stars        1
 # SPAMの時だけヘッダーを出すようにするには 0。常に出すなら 1。
 always_add_headers      0
 # SPAM判定された場合にその判定理由を出す場合には 0。(デフォルト)
 # 出したくない場合には 1にしておく。
 always_add_report       1
 # 指定数値以上をSPAMと判定する デフォルトは5。
 required_hits           10
 # ある程度受け取る言語を限定する場合には指定。デフォルトは all。
 ok_languages ja en
 # HTMLフォームのメールなどで識別できる場合に指定すれば判定可能。
 # デフォルトは all。
 ok_locales ja en
 
 # ユーザのディレクトリでusers_prefsを使わせる場合には1を指定。
 # デフォルトは0で使わせないようになっているらしい。
 allow_user_rules        1
 # レポートと本文の表示のされ方
 # 0:本文は変更しない 1:オリジナルページは添付に変更 2:本文はその後に記述
 report_safe             0
 # 短めのメッセージにする場合には 1。長めにする場合は0。デフォルトは0
 use_terse_report        1
 # 自動的にホワイトリストに加えるリストを作成する場合には指定
 # ディレクトリとかは事前に作成の必要性がある
 # auto_whitelist_path /var/spool/spamassassin/auto-whitelist
 
 # ベイジアンにより学習させておく場合には指定すると良い
 # use_bayes 1
 # bayes_auto_learn 1
 # bayes_path /var/spool/spamassassin/bayes
 
 
 # 信頼し、判定から除外する場合には指定
 trusted_networks        10.99.99.
 
**スパムデータベース(Razor)の導入 [#o1fc27d5]
Razorを [[ここ:http://razor.sourceforge.net/]]からDownload

 $ tar zxvf razor-agents-2.40.tar.gz
 $ cd razor-agents-2.40
 $ perl Makefile.PL
 Checking if your kit is complete...
 Looks good
 Warning: prerequisite Net::DNS failed to load: Can't locate Net/DNS.pm in @INC 
 (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/p
 erl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/s
 ite_perl /usr/local/lib/site_perl/5.6.1/i386-linux /usr/local/lib/site_perl/5.6
 .1 /usr/local/lib/site_perl .) at (eval 8) line 3.
 Warning: prerequisite Time::HiRes failed to load: Can't locate Time/HiRes.pm in
 @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/
 lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/pe
 rl5/site_perl /usr/local/lib/site_perl/5.6.1/i386-linux /usr/local/lib/site_per
 l/5.6.1 /usr/local/lib/site_perl .) at (eval 10) line 3.
 Warning: prerequisite URI::Escape failed to load: Can't locate URI/Escape.pm in
 @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/
 lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/pe
 rl5/site_perl /usr/local/lib/site_perl/5.6.1/i386-linux /usr/local/lib/site_per
 l/5.6.1 /usr/local/lib/site_perl .) at (eval 11) line 3.
 Checking if your kit is complete...
 Looks good
 Writing Makefile for Razor2::Preproc::deHTMLxs
 Writing Makefile for razor-agents

これでNet::DNS、Time::HiRes、URI::Escapeが必要なことがわかる

**PerlモジュールをCAPNからNetworkインストール [#b11f6bad]

CAPNからDownLoadしてインストールしても良いが以下のようなインストール方法もある。

(初めての時は環境設定のためいろいろ聞かれる)
 $ su
 # perl -MCPAN -e shell (はじめての時は以下ようになるが、
 2回目からはcapan> プロンプトがすぐ出る)
 
 /usr/lib/perl5/5.6.1/CPAN/Config.pm initialized.
 (略)
 Are you ready for manual configuration? [yes] <--Enter入力
 (略)
 First of all, I'd like to create this directory. Where? 
 
 CPAN build and cache directory? [/root/.cpan] <--Enter入力
 (略)
 How big should the disk cache be for keeping the build directories
 with all the intermediate files?
 
 Cache size for build directory (in MB)? [10] <--Enter入力
 (略)
 Perform cache scanning (atstart or never)? [atstart] <--Enter入力
 (略)
 Cache metadata (yes/no)? [yes] <--Enter入力
 (略)
 Your terminal expects ISO-8859-1 (yes/no)? [yes] <--no入力
 
 (略)
 File to save your history? [/root/.cpan/histfile] <--Enter入力
 Number of lines to save? [100] <--Enter入力
 
 (略)
 Policy on building prerequisites (follow, ask or ignore)? [ask] <--Enter入力
 (略)
 (以下はパスを確認して)
 Where is your gzip program? [/bin/gzip] <--Enter入力
 Where is your tar program? [/bin/tar] <--Enter入力
 Where is your unzip program? [/usr/bin/unzip] <--Enter入力
 Where is your make program? [/usr/bin/make] <--Enter入力
 Warning: lynx not found in PATH
 Where is your lynx program? [] <--Enter入力
 Where is your wget program? [/usr/bin/wget] <--Enter入力
 Warning: ncftpget not found in PATH
 Where is your ncftpget program? [] <--Enter入力
 Warning: ncftp not found in PATH
 Where is your ncftp program? [] <--Enter入力
 Where is your ftp program? [/usr/bin/ftp] <--Enter入力
 Where is your gpg program? [/usr/bin/gpg] <--Enter入力
 What is your favorite pager program? [/usr/bin/less] <--Enter入力
 What is your favorite shell? [/bin/bash] <--Enter入力
 (略) 
 
 Parameters for the 'perl Makefile.PL' command?
 Typical frequently used settings:
 
     POLLUTE=1        increasing backwards compatibility
     LIB=~/perl       non-root users (please see manual for more hints) 
 
 Your choice:  [] <--Enter入力
 Parameters for the 'make' command?
 Typical frequently used setting:
 
     -j3              dual processor system
 
 Your choice:  [] <--Enter入力
 Parameters for the 'make install' command?
 Typical frequently used setting: 
 
    UNINST=1         to always uninstall potentially conflicting files
 
 Your choice:  [] <--Enter入力
 (略) 
 
 If you set this value to 0, these processes will wait forever. This is
 the default and recommended setting.
 
 Timeout for inactivity during Makefile.PL? [0] <--Enter入力
 
 Your ftp_proxy? <--Enter入力
 Your http_proxy? <--Enter入力
 Your no_proxy? <--Enter入力
 You have no /root/.cpan/sources/MIRRORED.BY
   I'm trying to fetch one
 LWP not available
 
   Please, install Net::FTP as soon as possible. CPAN.pm installs it for you
   if you just type
       install Bundle::libnet
 (略)
 Finally, you will be prompted for any extra URLs -- file:, ftp:, or
 http: -- that host a CPAN mirror.
 
 (1) Africa
 (2) Asia
 (3) Central America
 (4) Europe
 (5) North America
 (6) Oceania
 (7) South America
 Select your continent (or several nearby continents) [] <--2を入力 
 
 (1) China
 (2) Indonesia
 (3) Israel
 (4) Japan
 (5) Malaysia
 (6) Philippines
 (7) Republic of Korea
 (8) Russian Federation
 (9) Saudi Arabia
 (10) Singapore
 (11) Taiwan
 (12) Thailand
 Select your country (or several nearby countries) [] <--4を入力 
 
 (1) ftp://ftp.ayamura.org/pub/CPAN/
 (2) ftp://ftp.dti.ad.jp/pub/lang/CPAN/
 (3) ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
 (4) ftp://ftp.kddlabs.co.jp/CPAN/
 (5) ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
 (6) ftp://ftp.u-aizu.ac.jp/pub/CPAN
 (7) http://ftp.cpan.jp/
 Select as many URLs as you like,
 put them on one line, separated by blanks [] <-- 1 2を入力 
 
 Enter another URL or RETURN to quit: [] <--Enter入力
 New set of picks:
   ftp://ftp.ayamura.org/pub/CPAN/
   ftp://ftp.dti.ad.jp/pub/lang/CPAN/
 
 (略)
 Your favorite WAIT server?
    [wait://ls6.informatik.uni-dortmund.de:1404] <--Enter入力
 
 commit: wrote /usr/lib/perl5/5.6.1/CPAN/Config.pm 
 
 cpan shell -- CPAN exploration and modules installation (v1.59_54)
 ReadLine support available (try 'install Bundle::CPAN')
 cpan> install Net::DNS <--モジュール名を入力 
 
 (途中でDownloadシーケンスが止まった場合^Cで止めると2つ目の候補からDownloadする)
 
 (略)
 Net-DNS-0.47/TODO
 Net-DNS-0.47/README
 Net-DNS-0.47/META.yml
 Net-DNS-0.47/DNS.xs
 Net-DNS-0.47/Makefile.PL
 
   CPAN.pm: Going to build C/CR/CREIN/Net-DNS-0.47.tar.gz
 
 Testing if you have a C compiler and the needed header files....
 cc    -c -o compile.o compile.c
 You have a working compiler.
 
 You appear to be directly connected to the Internet.  I have some tests
 that try to query live nameservers.
 
 Do you want to enable these tests? [y] <--Enter入力
 
 Checking if your kit is complete...
 Looks good
 Warning: prerequisite Digest::MD5 2.12 not found at /usr/lib/perl5/5.6.1/ExtUti
 ls/MakeMaker.pm line 352.
 Warning: prerequisite MIME::Base64 failed to load: Can't locate MIME/Base64.pm 
 in @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /u
 sr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib
 /perl5/site_perl /usr/local/lib/site_perl/5.6.1/i386-linux /usr/local/lib/site_
 perl/5.6.1 /usr/local/lib/site_perl .) at (eval 17) line 3.
 Warning: prerequisite Test::More failed to load: Can't locate Test/More.pm in @
 INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/l
 ib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/per
 l5/site_perl /usr/local/lib/site_perl/5.6.1/i386-linux /usr/local/lib/site_perl
 /5.6.1 /usr/local/lib/site_perl .) at (eval 18) line 3.
 Writing Makefile for Net::DNS
 ---- Unsatisfied dependencies detected during [C/CR/CREIN/Net-DNS-0.47.tar.gz]  -----
     MIME::Base64
     Digest::MD5
     Test::More
 Shall I follow them and prepend them to the queue
 of modules we are processing right now? [yes] <--Enter入力
 (TESTを行うと足りないモジュールが指摘されるのでそのままインストールする 
 すると指摘されたモジュールもインストールされる)
 
 (略)
 Running install for module MIME::Base64
 Running make for G/GA/GAAS/MIME-Base64-3.01.tar.gz
 
 (略)
 
 ftp.ayamura.org をDNSに問いあわせています... 完了しました。
 ftp.ayamura.org[203.174.65.13]:21 に接続しています... 接続しました。
 anonymous としてログインしています... ログインしました!
 ==> SYST ... 完了しました。    ==> PWD ... 完了しました。
 ==> TYPE I ... 完了しました。  ==> CWD /pub/CPAN/authors/id/G/GA/GAAS ... 完 了しました。
 ==> PORT ... 完了しました。    ==> RETR MIME-Base64-3.01.tar.gz ... 完了しました。
 長さ: 14,514 (確証はありません)
 
 100%[====================================>] 14,514       383.08K/s    ETA 00:00
 
 10:01:34 (383.08 KB/s) - `-' を保存しました [14514]
 
 (略)
 
 MIME-Base64-3.01/Base64.pm
 MIME-Base64-3.01/Changes
 MIME-Base64-3.01/Makefile.PL
 MIME-Base64-3.01/decode-base64
 MIME-Base64-3.01/Base64.xs
 
   CPAN.pm: Going to build G/GA/GAAS/MIME-Base64-3.01.tar.gz
 
 (略)
 
 Running make test
 PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/ i3
 86-linux -I/usr/lib/perl5/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $v
 erbose=0; runtests @ARGV;' t/*.t
 t/bad-sv............skipped: Perl::API needed for this test
 t/base64............ok
 t/quoted-print......ok
 
 (略)
 
 Installing /usr/bin/encode-qp
 Installing /usr/bin/encode-base64
 Installing /usr/bin/decode-base64
 Installing /usr/bin/decode-qp
 Writing /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/MIME/Base64/.packlist
 Appending installation info to /usr/lib/perl5/5.6.1/i386-linux/perllocal.pod
   /usr/bin/make install  -- OK
 
 Installing /usr/share/man/man3/Net::DNS::RR::NULL.3pm
 Installing /usr/share/man/man3/Net::DNS::RR::RP.3pm
 Writing /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Net/DNS/.packlist
 Appending installation info to /usr/lib/perl5/5.6.1/i386-linux/perllocal.pod
   /usr/bin/make install  -- OK
 cpan> quit (終了コマンド)
 
 Lockfile removed.


/usr/lib/perl5/5.6.1/CPAN/Config.pm
に設定ファイルが作成される。

URLのLIST等はここにある

  'urllist' => [q[ftp://ftp.dti.ad.jp/pub/lang/CPAN/], q[ftp://ftp.ayamura.org/pub/CPAN/]],
2回目からは起動するとすぐインストール画面になる。

 # perl -MCPAN -e shell (2回目以降)
 
 cpan shell -- CPAN exploration and modules installation (v1.59_54)
 ReadLine support available (try 'install Bundle::CPAN')
 
 cpan>

となり、install Time::HiRes 等と入力すればよい

ただし、再度設定し直しは
/usr/lib/perl5/5.8.2/CPAN/Config.pmに
 1;
だけのファイルに変えるとOK
***Perl で @INC(perl検索パス) にパスを追加 [#vf20d64e]

 $ perl -I ~/perl/lib 

***Perl CAPNのインストール済モジュールの確認方法 [#q7d0e519]

次のコマンドで全てのモジュールが表示される
 $ find `perl -e 'print "@INC"'` -name '*.pm' -print

これでは多いのでモジュールを指定(存在するとき)
 $ find `perl -e 'print "@INC"'` -name 'Parser.pm' -print
 /usr/lib/perl5/5.8.6/Pod/Parser.pm
 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/XML/Parser.pm
 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/HTML/Parser.pm
 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/XML/Parser.pm
 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/HTML/Parser.pm
 find: /usr/lib/perl5/site_perl/5.8.2: そのようなファイルやディレクトリはありません
 find: /usr/lib/perl5/site_perl/5.8.2: そのようなファイルやディレクトリはありません
 (略)

存在しない場合
 $ find `perl -e 'print "@INC"'` -name 'Tagset.pm' -print
 /usr/lib/perl5/site_perl/5.8.6/HTML/Tagset.pm
 find: /usr/lib/perl5/site_perl/5.8.2: そのようなファイルやディレクトリはありません
 find: /usr/lib/perl5/site_perl/5.8.2: そのようなファイルやディレクトリはありません
 /usr/lib/perl5/site_perl/5.8.6/HTML/Tagset.pm
 find: /usr/lib/perl5/vendor_perl/5.8.2: そのようなファイルやディレクトリはありません
 find: /usr/lib/perl5/vendor_perl/5.8.2: そのようなファイルやディレクトリはありません
 find: /usr/local/lib/site_perl/i386-linux-thread-multi: そのようなファイルやディレクトリはありません
 find: /usr/local/lib/site_perl/5.8.2: そのようなファイルやディレクトリはありません
 find: /usr/local/lib/site_perl/5.8.2: そのようなファイルやディレクトリはありません


''Razorインストールの続き''

全てのモジュールをインストール後再度

 $ perl Makefile.PL
 $ make
 $ make test
 $ su
 # make install

***Razorの動作確認 [#w1c4cd96]

デバッグモードで

 $ cd ../Mail-SpamAssassin-2.63
 $ spamassassin -t -D < ./sample-spam.txt
 
 debug: Score set 0 chosen.
 debug: running in taint mode? yes
 debug: Running in taint mode, removing unsafe env vars, and resetting PATH
 debug: PATH included '/bin', keeping.
 debug: PATH included '/usr/bin', keeping.
 debug: PATH included '/usr/X11R6/bin', keeping.
 debug: Final PATH set to: /bin:/usr/bin:/usr/X11R6/bin
 
 (略)
 
 debug: is Net::DNS::Resolver available? yes
 debug: trying (3) yahoo.de...
 debug: looking up MX for 'yahoo.de'
 debug: MX for 'yahoo.de' exists? 1
 debug: MX lookup of yahoo.de succeeded => Dns available (set dns_available to hardcode)
 debug: is DNS available? 1
 debug: all '*From' addrs: sender@example.net
 debug: running header regexp tests; score so far=0
 debug: running body-text per-line regexp tests; score so far=0
 debug: Razor2 is available   <--この行で確認
 debug: entering helper-app run mode
  Razor-Log: Computed razorhome from env: /home/okada/.razor
  Razor-Log: No razorhome found, using all defaults
  Razor-Log: No razor-agent.conf found, using defaults.
  7月 02 10:33:51.794611 check[10300]: [ 2] [bootup] Logging initiated  LogDebugLe

設定ファイル 


システムの設定については
SpamAssassinについては/etc/mail/spamassassin/local.cf
個別は ~okada/.spamassassin/user_prefs
にある。

書式は同じなので、必要に応じて使い分ける。
[[TLEC:http://tlec.linux.or.jp/]]にある個人用設定ファイル が日本語もフィルタリングしてくれるそうなのでDownloadした。

user_prefsを/etc/mail/spamassassin/local.cfに置き換える。 
また、Mail-SpamAssassin-3.1.3では/etc/mail/spamassassin/v310.preを以下のように修正 

 # TextCat - language guesser
 #
 ##loadplugin Mail::SpamAssassin::Plugin::TextCat
 loadplugin Mail::SpamAssassin::Plugin::TextCat  <--コメントを削除

Razorは
 /usr/local/src/razor-agents-2.40/blib/script/razor-admin -create

を実行して~/.razorに設定ファイルができる。
Perlでのスクリプトについて

swatch等が動作しているとlogrotatでperlを一度終了するので再度起動する必要があるので以下のようにする。

/etc/logrotate.d/syslogを

 /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boo
 t.log /var/log/cron {
     sharedscripts
     postrotate
 
         /usr/bin/killall /usr/bin/perl
         /usr/bin/killall /usr/bin/tail
 
         /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
         /usr/bin/swatch -c /etc/.swatchrc -t /var/log/messages &
         /usr/bin/spamd &  <---追加
 
     endscript
 }

------------------------------------------------
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/linux/spamass.htm]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS