## Debianへインストール（任意）

Debianへインストール（任意） — Debian GNU/Linuxへのmilter manager関連ソフトウェアのインストール方法

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

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

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

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

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

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

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

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

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

    % sudo aptitude -V -D -y install apache2

#### milter-manager-log-analyzerの設定

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

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

/etc/apache2/conf.d/milter-manager-log:

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

作成したら、再読み込みします。

    % sudo /etc/init.d/apache2 force-reload

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

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

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

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

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

    % sudo aptitude -V -D -y install 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 /usr/sbin/service munin-node restart

#### Muninサーバの設定

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

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

    monitoring-server% sudo aptitude -V -D -y install munin

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 aptitude -V -D -y install build-essential rdoc libopenssl-ruby apache2-threaded-dev libsqlite3-ruby milter-manager-admin

### RubyGemsのインストール

lenny標準のRubyGemsは古いので、Debian Backportsを使います。以下の内容の/etc/apt/sources.list.d/backports.listを作成します。

/etc/apt/sources.list.d/backports.list:

    deb http://www.jp.backports.org lenny-backports main contrib non-free
    deb-src http://www.jp.backports.org lenny-backports main contrib non-free

まず、backports用のGPG鍵を入手します。

    % sudo aptitude update
    % sudo aptitude -V -D install debian-backports-keyring

この時点ではまだbackports用の鍵がないので、debian-backports-keyringは信用されていないパッケージ扱いになります。そのため、以下のように本当にインストールするか確認されます。

    WARNING: untrusted versions of the following packages will be installed!

    Untrusted packages could compromise your system's security.
    You should only proceed with the installation if you are certain that
    this is what you want to do.

      debian-backports-keyring

    Do you want to ignore this warning and proceed anyway?
    To continue, enter "Yes"; to abort, enter "No":

信用できるのであれば「Yes」と入力してインストールしてください。

信用した場合はaptitudeでRubyGemsをインストールします。

    % sudo aptitude -V -D -y install -t lenny-backports rubygems

### gemのインストール

    % 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 /var/lib/gems/1.8/bin/passenger-install-apache2-module

以下の内容のpassenger.loadとpassenger.confを/etc/apache2/mods-available/に作成します。

/etc/apache2/mods-available/passenger.load:

    LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.conf:

    PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.15
    PassengerRuby /usr/bin/ruby1.8

    RailsBaseURI /milter-manager

設定を有効にして、再読み込みします。

    % sudo /usr/sbin/a2enmod passenger
    % sudo /etc/init.d/apache2 force-reload

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

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

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

    % sudo /etc/init.d/apache2 force-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/milter-manager
    % cd ~milter-manager/admin
    % sudo -u milter-manager -H /var/lib/gems/1.8/bin/rake gems:install
    % sudo -u milter-manager -H /var/lib/gems/1.8/bin/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のグラフとあわせて、それぞれのメールシステムに適した迷惑メール対策の適用を支援します。

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