FreeBSDへインストール(任意)

FreeBSDへインストール(任意) — FreeBSDへのmilter manager関連ソフトウェアのインストール方法

このドキュメントについて

FreeBSDに特化したmilter manager関連ソフトウェアのインストール 方法について説明します。milter manager本体のインストール情報 は FreeBSDへインストール 、 FreeBSDに依存しない一般的なインストール情報は インストール を見てください。

milter-manager-log-analyzerのインストール

パッケージのインストール

WebサーバとしてApacheを使います。ここでは、Apache 2.2系列 (www/apache22)をインストールします。

% sudo /usr/local/sbin/portupgrade -NRr www/apache22

グラフを生成するためにRRDtoolを使います。RRDtoolのRubyインター フェイスもインストールします。

% sudo /usr/local/sbin/portupgrade -NRr -M'WITH_RUBY_MODULE=yes' rrdtool

milter-manager-log-analyzerの設定

グラフはインストール時に作成したmilter-managerユーザのホーム ディレクトリ以下に出力し、 http://localhost/~milter-manager/log/で閲覧できるようにします。

% sudo -u milter-manager mkdir -p ~milter-manager/public_html/log

Apacheで各ユーザ毎にファイルを公開できるようにします。 /usr/local/etc/apache22/httpd.confを以下のように編集します。

編集前:

# User home directories
#Include etc/apache22/extra/httpd-userdir.conf

編集後:

# User home directories
Include etc/apache22/extra/httpd-userdir.conf

設定を再読み込みします。

% sudo /usr/local/etc/rc.d/apache22 reload

次に、milter-managerユーザのcronの設定をします。定期的に milter-manager-log-analyzerがログからmilter-managerの情報を抜 きだし、グラフを生成します。

% sudo -u milter-manager -H crontab /usr/local/etc/milter-manager/cron.d/freebsd/milter-manager-log

milter-manager-log-analyzerは5分おきに実行されます。 /var/log/cronで実行されたかどうかを確認することができます。

milter manager adminのインストール

パッケージのインストール

以下のパッケージをインストールすることにより、関連するパッケー ジもインストールされます。

% sudo /usr/local/sbin/portupgrade -NRr rubygem-sqlite3

gemのインストール

% sudo gem install rails -v '2.2.2'
% sudo gem install passenger

Passengerのインストール

以下のコマンドを実行し、Passengerをビルドします。

% (echo 1; echo) | sudo passenger-install-apache2-module

以下の内容の/usr/local/etc/apache22/Includes/passenger.conf を作成します。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/local/bin/ruby18

RailsBaseURI /milter-manager

設定ファイルを再読み込みします。

% sudo /usr/local/etc/rc.d/apache22 reload

milter manager adminはパスワード認証がついていますが、可能で あれば信頼できるホストからのみ接続を受け付ける方がセキュリティ 上は好ましいです。例えば、ローカルホストのみ信頼できるのであ れば、以下の設定を /usr/local/etc/apache22/Includes/passenger.conf に追記してく ださい。

<Location /milter-manager>
  Allow from 127.0.0.1
  Deny from ALL
</Location>

追記した場合は設定ファイルを再読み込みするのを忘れないでくだ さい。

% sudo /usr/local/etc/rc.d/apache22 reload

milter manager adminの設定

milter manager adminは/usr/local/share/milter-manager/admin/ 以下にインストールされています。これをmilter-managerユーザ権 限で動かし、http://localhost/milter-manager/でアクセスできる ようにします。

% tar cf - -C /usr/local/share/milter-manager admin | sudo -u milter-manager -H tar xf - -C ~milter-manager
% sudo ln -s ~milter-manager/admin/public /usr/local/www/apache22/data/milter-manager
% cd ~milter-manager/admin
% sudo -u milter-manager -H rake gems:install
% sudo -u milter-manager -H rake RAILS_ENV=production db:migrate

最後に以下の内容の ~milter-manager/admin/config/initializers/relative_url_root.rb を作成します。

~milter-manager/admin/config/initializers/relative_url_root.rb

ActionController::Base.relative_url_root = "/milter-manager"

http://localhost/milter-manager/にアクセスしてユーザを登録し てください。ユーザを登録したら、milter-managerと接続するため の情報を設定するページへ移動します。milter-managerがどこで接 続を受け付けているかは以下で確認可能です。

% sudo -u milter-manager -H /usr/local/sbin/milter-manager --show-config | grep controller.connection_spec
controller.connection_spec = "unix:/var/run/milter-manager/milter-manager-controller.sock"

確認した値をブラウザから登録してください。上記の場合だと、 まず、「種類」から「unix」を選びます。これで編集フォームに 「パス」がでてきます。「パス」には 「/var/run/milter-manager/milter-manager-controller.sock」を 指定してください。

登録すると、milter-managerに登録されている子milterやその設定 状況をブラウザから確認することができます。

まとめ

milter-manager-log-analyzerを利用することによりmilterを導入し た効果を視覚的に確認することができます。MTAとしてPostfixを使 用しているのであれば、 Mailgraph のグラフと 見くらべてmilter導入の効果を確認することができます。milterを 試験的に導入している場合などに有効に活用できます。

milter manager adminを利用することで設定ファイルを変更せずに 運用できる領域が広がり、メールシステムの管理コストを下げるこ とができます。

また、Webブラウザからmilterの有効・無効を切り替えることもでき るため、milterの効果を試行錯誤する場合に便利です。 milter-manager-log-analyzerのグラフとあわせて、それぞれのメー ルシステムに適した迷惑メール対策の適用を支援します。