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

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

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

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

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

milter-manager-log-analyzerはmilter-manager RPMパッケージに含 まれているので、すでにインストールされています。ここでは、 milter-manager-log-analyzerが出力するグラフを閲覧するための設 定を行います。

milter-manager-log-analyzerが出力するグラフは同じホストにWeb サーバを設置して閲覧する方法と Munin を利用して別ホス トで閲覧する方法があります。すでにMuninを導入していたり、メー ルサーバとは別にシステム監視用のサーバがある場合はMuninを利用 するとよいでしょう。そうでない場合は同じホストにWebサーバを設 置するのがよいでしょう [5]

まずは、同じホストにWebサーバを設置する方法を説明し、次に別 ホストにあるMuninから閲覧する方法を説明します。

同じホストにWebサーバを設置する場合

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

WebサーバとしてApacheを使いいます。

% sudo yum install -y httpd
% sudo /sbin/chkconfig httpd on

milter-manager-log-analyzerの設定

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

以下の内容の/etc/httpd/conf.d/milter-manager-log.confを作成 します。

/etc/httpd/conf.d/milter-manager-log.conf

Alias /milter-manager-log/ /var/lib/milter-manager/public_html/log/

変更後は、設定ファイルを再読み込みします。

% sudo /sbin/service httpd reload

これでhttp://localhost/milter-manager-log/でグラフを閲覧で きるようになります。


別ホストにあるMuninを利用する方法

次は、別ホストにあるMunin上でグラフを閲覧する方法です。

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

milter-manager-log-analyzerが収集した統計情報をMuninに提供す るmilter-manager-munin-pluginsパッケージをインストールします。

% sudo yum install -y milter-manager-munin-plugins

注: Muninに統計情報を提供する場合はmilter manager 1.5.0以 降のmilter-manager-log-analyzerが生成したデータベースを使う 必要があります。1.5.0より前のバージョンからアップデートして いる場合は~milter-manager/public_html/log/以下を削除してくだ さい。削除すると5分後に新しく統計情報データベースが作成され ます。

munin-nodeの設定

Muninサーバからの接続を許可します。Muninサーバが 192.168.1.254の場合は以下の行を/etc/munin/munin-node.confに 追加します。

/etc/munin/munin-node.conf:

allow ^192\.168\.1\.254$

munin-nodeを再起動し設定を反映させます。

% sudo /sbin/service munin-node restart

Muninサーバの設定

ここからは監視用サーバでの設定です。監視用サーバもCentOSで動 いているとします。

まず、muninとをインストールします。

monitoring-server% sudo yum install -y munin httpd

muninの監視対象にmunin-nodeが動いているメールサーバを追加しま す。メールサーバが以下の場合の/etc/munin/munin.confへ追加する 設定項目を示します。

ホスト名

mail.example.com

IPアドレス

192.168.1.2

このメールサーバを登録するには、以下の内容を /etc/munin/munin.confに追記します。

/etc/munin/munin.conf:

[mail.example.com]
    address 192.168.1.2
    use_node_name yes

5分後にはhttp://monitoring-server/munin/でグラフを閲覧できる ようになります。

milter manager adminのインストール

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

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

% sudo yum install -y ruby-rdoc gcc-c++ httpd-devel sqlite-devel

RubyGemsのインストール

% cd ~/src/
% wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
% tar xvzf rubygems-1.3.5.tgz
% cd rubygems-1.3.5
% sudo ruby setup.rb

gemのインストール

% sudo gem install sqlite3-ruby -v '1.2.1'
% sudo gem install rack -v '1.1.3'
% sudo gem install rails -v '2.3.14'
% sudo gem install passenger -v '2.2.15'

Passengerのインストール

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

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

PassengerをSELinux環境下で動かすことは困難です。ファイアウォー ルの初期設定(iptables -Lで確認可能)では外部からのHTTPがブロッ クされていて、それなりに安全であると言えるため、(非常に心苦 しいですが)ここではApacheのみSELinuxの制限を無効にします。今 後、それなりの手間でSELinux環境下で動作させる方法が確立できた 場合は、この箇所を更新することとします。

% sudo /usr/sbin/setsebool httpd_disable_trans true

以下の内容のmilter-manager.confを/etc/httpd/conf.d/に作成しま す。

/etc/httpd/conf.d/milter-manager.conf:

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

RailsBaseURI /milter-manager

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

% sudo /sbin/service httpd reload

milter manager adminの設定

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

% tar cf - -C /usr/share/milter-manager admin | sudo -u milter-manager -H tar xf - -C ~milter-manager
% sudo ln -s ~milter-manager/admin/public /var/www/html/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/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のグラフとあわせて、それぞれのメー ルシステムに適した迷惑メール対策の適用を支援します。



[5] 同じホストでMuninを動かす場合もWebサー バが必要になります。