![]() |
![]() |
![]() |
milter managerリファレンスマニュアル | ![]() |
---|
CentOSに特化したmilter manager関連ソフトウェアのインストール 方法について説明します。milter manager本体のインストール情報 は CentOSへインストール 、CentOS に依存しない一般的なインストール情報は インストール を見てください。
WebサーバとしてApacheを使いいます。
% sudo yum install -y httpd % sudo /sbin/chkconfig httpd on
グラフを生成するためにRRDtoolを使います。
% sudo yum install -y ruby-rrdtool
グラフはインストール時に作成したmilter-managerユーザのホーム ディレクトリ以下に出力し、 http://localhost/~milter-manager/log/で閲覧できるようにします。
% sudo -u milter-manager mkdir -p ~milter-manager/public_html/log
各ユーザ毎にファイルを公開できるように /etc/httpd/conf/httpd.confを編集します。
編集前:
UserDir disable
編集後:
# UserDir disable
変更後は、設定ファイルを再読み込みします。
% sudo /sbin/service httpd reload
/etc/cron.d/以下にcronファイルをコピーします。
% sudo cp /usr/local/etc/milter-manager/cron.d/redhat/milter-manager-log /etc/cron.d/ % sudo chmod 600 /etc/cron.d/milter-manager-log
CentOSではmilter-managerのログは/var/log/maillogに出力されま す。/var/log/maillogはroot以外は読むことができないので、cron ファイル内では、rootで読み込んだ/var/log/maillogをパイプで milter-manager-log-analyzerに渡します。 milter-manager-log-analyzerはrootではなく、インストール時に作 成したmilter-manager権限で実行します。
milter-manager-log-analyzerは5分おきに実行されます。 /var/log/cronで実行されたかどうかを確認することができます。
以下のパッケージをインストールすることにより、関連するパッケー ジもインストールされます。
% sudo yum install -y ruby-rdoc gcc-c++ httpd-devel sqlite-devel
% cd ~/src/ % wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz % tar xvzf rubygems-1.3.1.tgz % cd rubygems-1.3.1 % sudo ruby setup.rb
% sudo gem install sqlite3-ruby % sudo gem install rails -v '2.2.2' % sudo gem install passenger
以下のコマンドを実行し、Passengerをビルドします。
% (echo 1; echo) | sudo passenger-install-apache2-module
PassengerをSELinux環境下で動かすことは困難です。ファイアウォー ルの初期設定(iptables -Lで確認可能)では外部からのHTTPがブロッ クされていて、それなりに安全であると言えるため、(非常に心苦 しいですが)ここではApacheのみSELinuxの制限を無効にします。今 後、それなりの手間でSELinux環境下で動作させる方法が確立できた 場合は、この箇所を更新することとします。
% sudo 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.0.6/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6 PassengerRuby /usr/bin/ruby RailsBaseURI /milter-manager
設定ファイルを再読み込みします。
% sudo /sbin/service httpd reload
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 /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/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のグラフとあわせて、それぞれのメー ルシステムに適した迷惑メール対策の適用を支援します。