CentOS5で運用しているsendmailサーバーにspamassassinを入れる。
もともとOSをインストールした時点でspamassassinは導入されているようであるが、http://www.emaillab.org/spamassassin/にある情報によると日本語検出が完全ではないとのこと。そこで、 http://spamassassin.jp/download/sa3.2/spamassassin-3.2.4-ja-test1.txtに従ってインストールと設定を行う。
まず、インストールから
1.Perlモジュール
Encode::Detect
をインストールする。そのためには、以下のモジュールが必要になるらしい。
- Module::Build
- ExtUtils::ParseXS
- ExtUtils::CBuilder
- Test::More
- Data::Dump
cpan2rpm(cpan2rpmのインストールはココを参考にした) を使ってインストールする。 Test::Moreは、Test-Simpleに同梱とのことである。Test-Simpleは、うまくコンパイルできなかったが、perl本体のrpmとコンフリクトするとの情報もあり、とりあえず入れない。
モジュールによっては、version情報がない とか author 情報がないといってくるので、--version --author オプションを使う。(大体セットで要求される) バージョン情報、作者については、ファイル名とCPANの格納先から判断できる。
2.形態素解析エンジンMeCabをインストールする。
インストールするものは全てRPMで管理しておきたいので、http://d.hatena.ne.jp/yoshifumi1975/20070901/p1を参考にインストールした。
#wget ftp://194.199.20.114/linux/fedora/development/source/SRPMS/mecab-0.97-3.fc10.src.rpm
(2008年6月17日時点)
#wget ftp://194.199.20.114/linux/fedora/development/source/SRPMS/mecab-ipadic-2.7.0.20070801-1.fc8.src.rpm
(2008年6月17日時点)
#rpm -i mecab-0.97-3.fc10.src.rpm
#rpm -i mecab-ipadic-2.7.0.20070801-1.fc8.src.rpm
MeCabの本家にて最新版を確認し、ダウンロード。/usr/src/redhat/SOURCES/ に置く。
今回は、先にダウンロードしてきたソースに含まれているものが最新版だったため、本家からのダウンロードはしていない。
/usr/src/redhat/SPECS/mecab.spec
を編集し、configure オプションに--with-charset=utf8 をつける。
(%configure の行を探し、オプションを追加する。)
※ mecabのバージョンを確認し、specファイルと合っているか確認する。
#rpmbuild -ba mecab.spec
インストール(ipadicのコンパイルにmecabのdevelが必要)
rpm -i /usr/src/redhat/RPMS/i386/mecab-0.97-3.i386.rpm /usr/src/redhat/RPMS/i386/mecab-devel-0.97-3.i386.rpm
#rpmbuild -ba mecab-ipadic.spec
インストール
#rpm -i /usr/src/redhat/RPMS/i386/mecab-ipadic-2.7.0.20070801-1.i386.rpm
3.perlモジュール Text::MeCabのインストール
cpan2rpmを使ってインストールしようとすると以下の2つのモジュールが必要といわれた。
この2つもcpan2rpmを使ってインストール。
Path::Class >= 0
Class::Accessor::Fast >= 0
#cpan2rpm Path::Class
#cpan2rpm Class:Accessor
#rpm -i /usr/src/redhat/RPMS/noarch/perl-Path-Class-0.16-1.noarch.rpm
#rpm -i /usr/src/redhat/RPMS/noarch/perl-Class-Accessor-0.31-1.noarch.rpm
#cpan2rpm Text::MeCab
インストール中に2点ほど聞かれるがデフォルトのまま。(エンターをそのまま押す)
できたらインストールする。
#rpm -i /usr/src/redhat/RPMS/i386/perl-Text-MeCab-0.20007-1.i386.rpm
4.spamassassinのインストール
OSをインストールした時点では、バージョン3.1が入っているが、3.2からutf8対応になっているということなので、3.2系をインストールする。(どちらにしろパッチを当てる必要があるので、ソースを持ってくる。)
ここにソースがあった。(2008年6月17日時点では、3.2.4-1)
#rpm -i spamassassin-3.2.4-1.rf.src.rpm
パッチをダウンロード
#wget http://spamassassin.jp/download/sa3.2/spamassassin-3.2.4-ja-test1.patch
ダウンロードしたパッチは、SOURCE ディレクトリに置く。
specファイルを編集し、今ダウンロードしたパッチが当るようにする。
Source: ・・・・・
・
・
Sourcexx: ・・・・
Patch0: spamassassin-3.2.4-ja-test1.patch <= 挿入
・
・
%prep
%setup ・・・・
%patch0 -p1 -b .test1 <= 挿入
#rpmbuild -ba spamassassin.spec
#rpm -i /usr/src/redhat/RPMS/i386/spamassassin-3.2.4-1.rf.i386.rpm
5.spamass-milterのインストール
http://good-stream.com/goodstream/mailservice/spamassassin/spamass-centos5.htmlを参考にしてrpmforgeをyumのレポジトリに追加する。
#wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
#rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm
/etc/yum.repos.d/rpmforge.repo を編集して disableにする。
#yum -y --enablerepo=rpmforge install spamass-milter
でインストールする。
以下設定は、http://centossrv.com/sendmail-clamav-spamassassin.shtmlこちらを参考にした。