## Ruby製milterの設定

Ruby製milterの設定 — 設定ファイルの書き方

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

Rubyで作成したmilterはmilter-managerと同じ書式の設定ファイルをサポートしています。ただし、書式は同じですが設定項目は違います。この文書ではRubyで作成したmilterの設定ファイルの書き方と設定項目について説明します。

## 概要

設定ファイルは-cまたは--configurationオプションで指定します。例えば、milter-regexp.rbというmilterで/etc/milter-regexp.confという設定ファイルを読み込む場合は以下のように指定します。

    % ruby milter-regexp.rb -c /etc/milter-regexp.conf

設定ファイルは以下のような書式になります。

    グループ名.項目名 = 値

例えば、milterが接続を受け付けるソケットのアドレスをIPv4の12345番ポートに設定する場合は、以下のように「milter」グループの「connection_spec」項目の値を「"inet:12345"」にします。

    milter.connection_spec = "inet:12345"

設定項目は以下のように分類されています。

- セキュリティ関連

- ログ関連

- milter関連

- データベース関連

それでは、それぞれの分類毎に説明します。

## セキュリティ関連

セキュリティの設定はmilter-managerと同じ以下の項目が利用可能です。指定方法の説明はmilter-managerの説明ページを参照してください。

security.effective_user | security.effective_user と同じ。
security.effective_group | security.effective_group と同じ。

## ログ関連

ログの設定はmilter-managerと同じ以下の項目が利用可能です。指定方法の説明はmilter-managerの説明ページを参照してください。

log.level | log.level と同じ。
log.use_syslog | log.use_syslog と同じ。
log.syslog_facility | log.syslog_facility と同じ。

## milter関連

milterの設定もmilter-managerの「manager」グループの設定と同様です。

milter.connection_spec | manager.connection_spec と同じ。
milter.unix_socket_mode | manager.unix_socket_mode と同じ。
milter.unix_socket_group | manager.unix_socket_group と同じ。
milter.remove_unix_socket_on_create | manager.remove_unix_socket_on_create と同じ。
milter.remove_unix_socket_on_close | manager.remove_unix_socket_on_close と同じ。
milter.daemon | manager.daemon と同じ。
milter.pid_file | manager.pid_file と同じ。
milter.maintenance_interval | manager.maintenance_interval と同じ。
milter.suspend_time_on_unacceptable | manager.suspend_time_on_unacceptable と同じ。
milter.max_connections | manager.max_connections と同じ。
milter.max_file_descriptors | manager.max_file_descriptors と同じ。
milter.fallback_status | manager.fallback_status と同じ。
milter.event_loop_backend | manager.event_loop_backend と同じ。
milter.n_workers | manager.n_workers と同じ。
milter.packet_buffer_size | manager.packet_buffer_size と同じ。
milter.max_pending_finished_sessions | manager.max_pending_finished_sessions と同じ。
milter.maintained | manager.maintained と同じ。
milter.event_loop_created | manager.event_loop_created と同じ。
milter.name | 子milterの名前を取得します。1.8.1から利用可能。

## データベース関連

データベースの設定もmilter-managerの 「database」グループの設定 と同様です。セットアップ方法や簡単なチュートリアルはmilter-managerのドキュメントを参照してください。

database.type | database.type と同じ。
database.name | database.name と同じ。
database.host | database.host と同じ。
database.port | database.port と同じ。
database.path | database.path と同じ。
database.user | database.user と同じ。
database.password | database.password と同じ。
database.setup | database.setup と同じ。
database.load_models(path) | database.load_models と同じ。