# -*- rd -*-

= 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"

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

  * ((<セキュリティ関連|.#security>))
  * ((<ログ関連|.#log>))
  * ((<milter関連|.#milter>))
  * ((<データベース関連|.#database>))

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

== [security] セキュリティ関連

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

: security.effective_user
   ((<security.effective_user|configuration.rd.ja#security.effective_user>))と同じ。

: security.effective_group
   ((<security.effective_group|configuration.rd.ja#security.effective_group>))と同じ。

== [log] ログ関連

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

: log.level

   ((<log.level|configuration.rd.ja#log.level>))と同じ。

: log.path

   ((<log.path|configuration.rd.ja#log.path>))と同じ。

: log.use_syslog

   ((<log.use_syslog|configuration.rd.ja#log.use_syslog>))と
   同じ。

: log.syslog_facility

   ((<log.syslog_facility|configuration.rd.ja#log.syslog_facility>))
   と同じ。

== [milter] milter関連

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

: milter.connection_spec
   ((<manager.connection_spec|configuration.rd.ja#manager.connection_spec>))と同じ。

: milter.unix_socket_mode
   ((<manager.unix_socket_mode|configuration.rd.ja#manager.unix_socket_mode>))と同じ。

: milter.unix_socket_group
   ((<manager.unix_socket_group|configuration.rd.ja#manager.unix_socket_group>))と同じ。

: milter.remove_unix_socket_on_create
   ((<manager.remove_unix_socket_on_create|configuration.rd.ja#manager.remove_unix_socket_on_create>))と同じ。

: milter.remove_unix_socket_on_close
   ((<manager.remove_unix_socket_on_close|configuration.rd.ja#manager.remove_unix_socket_on_close>))と同じ。

: milter.daemon
   ((<manager.daemon|configuration.rd.ja#manager.daemon>))と同じ。

: milter.pid_file
   ((<manager.pid_file|configuration.rd.ja#manager.pid_file>))と同じ。

: milter.maintenance_interval
   ((<manager.maintenance_interval|configuration.rd.ja#manager.maintenance_interval>))と同じ。

: milter.suspend_time_on_unacceptable
   ((<manager.suspend_time_on_unacceptable|configuration.rd.ja#manager.suspend_time_on_unacceptable>))と同じ。

: milter.max_connections
   ((<manager.max_connections|configuration.rd.ja#manager.max_connections>))と同じ。

: milter.max_file_descriptors
   ((<manager.max_file_descriptors|configuration.rd.ja#manager.max_file_descriptors>))と同じ。

: milter.fallback_status
   ((<manager.fallback_status|configuration.rd.ja#manager.fallback_status>))と同じ。

: milter.event_loop_backend
   ((<manager.event_loop_backend|configuration.rd.ja#manager.event_loop_backend>))と同じ。

: milter.n_workers
   ((<manager.n_workers|configuration.rd.ja#manager.n_workers>))と同じ。

: milter.packet_buffer_size
   ((<manager.packet_buffer_size|configuration.rd.ja#manager.packet_buffer_size>))と同じ。

: milter.max_pending_finished_sessions
   ((<manager.max_pending_finished_sessions|configuration.rd.ja#manager.max_pending_finished_sessions>))と同じ。

: milter.maintained
   ((<manager.maintained|configuration.rd.ja#manager.maintained>))と同じ。

: milter.event_loop_created
   ((<manager.event_loop_created|configuration.rd.ja#manager.event_loop_created>))と同じ。

: milter.name
   子milterの名前を取得します。1.8.1から利用可能。

== [database] データベース関連

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

: database.type
   ((<database.type|configuration.rd.ja#database.type>))と同じ。

: database.name
   ((<database.name|configuration.rd.ja#database.name>))と同じ。

: database.host
   ((<database.host|configuration.rd.ja#database.host>))と同じ。

: database.port
   ((<database.port|configuration.rd.ja#database.port>))と同じ。

: database.path
   ((<database.path|configuration.rd.ja#database.path>))と同じ。

: database.user
   ((<database.user|configuration.rd.ja#database.user>))と同じ。

: database.password
   ((<database.password|configuration.rd.ja#database.password>))と同じ。

: database.setup
   ((<database.setup|configuration.rd.ja#database.setup>))と同じ。

: database.load_models(path)
   ((<database.load_models|configuration.rd.ja#database.load_models>))と同じ。
