milterを使った効果的な迷惑メール対策 - milter manager

2009|04|05|06|07|08|09|10|11|
2010|03|05|08|
2011|01|06|11|
2012|05|11|12|
2013|03|06|07|
2014|01|08|12|
2015|11|
2016|06|11|
2017|06|
2019|09|
2021|06|

RPMパッケージ作成

milter managerをUbuntuにインストールするのは簡単です。Ubuntu Japanese Team小林さんさんが、milter managerのパッケージを作成してくれているからです。(milter managerのUbuntuパッケージ

今回、CentOSでも簡単にインストールできるように、RPMパッケージを作成しました。以下では、milter managerのRPMパッケージのインストール方法を説明します。

注意

  • 今回作成したRPMパッケージは現時点でのスナップショットで作成しているため、バージョンは0.9.1になっています。
  • まもなく最初の安定バージョン1.0.0がリリースされますが、0.9.1は1.0.0とほとんど同じ内容になるはずなので、0.9.1も安心して利用できるバージョンできます。
  • CentOS標準のRPMパッケージ以外にも依存しているので、少し面倒かもしれません。

RPMforgeからruby-rrdtoolをインストール

milter managerはログをグラフ化する機能を含んでいて、グラフを生成するためにRRDtoolを利用しています。

RRDtoolとそのRubyバインディングのRPMパッケージはRPMforgeで配布されているのでそれを利用します。

余段ですが、多くのmilterはCentOS標準パッケージには含まれておらず、RPMforgeでは配布されています。CentOS上でmilter managerを使う場合はRPMforgeを利用してmilterをインストールすることになると思います。

それでは、まず、RPMforgeをyumのリポジトリに登録します。

32bit環境の場合は以下のようにRPMforgeを登録します。

% wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
% sudo rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm

64bit環境の場合は以下のようにRPMforgeを登録します。

% wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
% sudo rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

RPMforgeを登録したらRRDtoolのRubyバインディングをインストールします。

% sudo yum install -y ruby-rrdtool

電脳RubyプロジェクトからRuby/GLib2をインストール

milter managerのベース部分はC言語で実装されており、C言語のユーティリティライブラリとしてGLibを利用しています。

milter managerの適用条件判断部分や設定関連部分など柔軟さが必要とされる部分はRubyで実装されており、ベース部分で使用しているGLibをRubyからも利用するためにRuby/GLib2を利用しています。

Ruby/GLib2は標準パッケージにもRPMforgeにもRPMが登録されていません。milter managerのRPMパッケージを作成するにあたっての一番の障壁がここでした。FedoraにはRuby/GLib2のパッケージがあるので、それをCentOSにバックポートすることはできますが、そこそこ大変です。

ありがたいことに、電脳RubyプロジェクトがRuby/GLib2のRPMパッケージを配布しているので、milter managerのRPMパッケージは電脳RubyプロジェクトのRuby/GLib2パッケージに依存する形で作成しました。

ということで、milter managerのパッケージをインストールする前に、電脳RubyプロジェクトのRuby/GLib2パッケージをインストールします。

32bit環境の場合:

% wget http://dennou-k.kugi.kyoto-u.ac.jp/arch/ruby/products/rpm/RPMS/CentOS/5/i386/ruby-glib2-0.16.0-1dc.i386.rpm
% sudo rpm -Uvh ruby-glib2-0.16.0-1dc.i386.rpm

64bit環境の場合:

% wget http://dennou-k.kugi.kyoto-u.ac.jp/arch/ruby/products/rpm/RPMS/CentOS/5/x86_64/ruby-glib2-0.16.0-1dc.x86_64.rpm
% sudo rpm -Uvh ruby-glib2-0.16.0-1dc.x86_64.rpm

milter managerのインストール

いよいよ、milter managerのインストールです。今回のパッケージはスナップショットから作成しているということもあり、正式なパッケージという扱いではないのでSorceForge上のダウンロードページには置かず、Webサイトの方に置いてあります。

32bit環境の場合:

% wget http://milter-manager.sourceforge.net/rpm/milter-manager-0.9.1-0.i386.rpm
% sudo rpm -Uvh milter-manager-0.9.1-0.i386.rpm

64bit環境の場合:

% wget http://milter-manager.sourceforge.net/rpm/milter-manager-0.9.1-0.x86_64.rpm
% sudo rpm -Uvh milter-manager-0.9.1-0.x86_64.rpm

インストール後の設定例はCentOSへのインストールマニュアルを参考にしてください。

まとめ

Ubuntuと同じようにCentOS上でも簡単にmilter managrをインストールできるようにRPMパッケージを作成しました。依存関係の問題でUbuntuほど簡単にはインストールできないのですが、自分でビルドする手間がなくなるだけでもだいぶ簡単になったと思います。

また、パッケージ化されていることにより、アップデートも簡単になります。パッケージでインストールしてあれば、まもなくリリースされる安定版1.0.0へのアップデートもrpm -Uvhだけですみます。

2009-04-11

2009|04|05|06|07|08|09|10|11|
2010|03|05|08|
2011|01|06|11|
2012|05|11|12|
2013|03|06|07|
2014|01|08|12|
2015|11|
2016|06|11|
2017|06|
2019|09|
2021|06|