![]() |
![]() |
![]() |
![]() |
Ubuntu Linux 、 CentOS 、 FreeBSD 以外のプラットフォーム にmilter managerをインストールときのヒントを示します。プラッ トフォームに依存しない一般的なインストール情報は インストー ル を見てください。
milter-managerはシステムにインストールされているmilterを自動 検出します。どのように検出するかはconfigure時に判断します。 configureの最後に出力される"Package Platform"が判断した検出 方法です。
% ./configure ... Configure Result: Package Platform : debian Package Options : ...
この例だと"debian"系のプラットフォーム用の検出方法を用います。
"unknown"となっている場合は、configureが判断に失敗したか、 milter-managerがサポートしていないプラットフォームかのどちら かです。
もし、configureが判断に失敗しているのであれば、明示的に "--with-package-platform"を指定することができます。
% ./configure --with-package-platform=freebsd ... Configure Result: Package Platform : freebsd Package Options : ...
また、--with-package-optionsを指定することで、付加情報を指定 することができます。付加情報は「名前1=値1,名前2=値2,...」と いうように指定します。例えば、pkgsrcプラットフォームで起動ス クリプトを/usr/pkg/etc/rc.d/以下ではなく、/etc/rc.d/以下にイ ンストールしている場合は以下のようになります。
% ./configure --with-package-platform=pkgsrc --with-package-options=prefix=/etc ... Configure Result: Package Platform : pkgsrc Package Options : prefix=/etc ...
pkgsrcのために、特別に--with-rcddirオプションが用意してありま す。このオプションを使うと、上述の設定は以下のようなオプショ ンになります。
% ./configure --with-package-platform=pkgsrc --with-rcddir=/etc/rc.d ... Configure Result: Package Platform : pkgsrc Package Options : rcddir=/etc/rc.d ...
現在サポートしているプラットフォームはdebian, redhat, freebsd(, pkgsrc)ですが、独自のプラットフォームを指定するこ ともできます。
例えば、新しくsuseプラットフォームに対応するとします。
% ./configure --with-package-platform=suse ... Configure Result: Package Platform : suse Package Options : ...
これでsuseプラットフォームを使用することになりました。後は、 suseプラットフォーム用のmilter自動検出スクリプトをRubyで書く だけです。スクリプトは $prefix/etc/milter-manager/defaults/以下に"#{プラットフォー ム名}.conf"という名前で作成します。今の例でいうと"suse.conf" になります。
$prefix/etc/milter-manager/defaults/suse.confの中では、 milterを検出し、define_milterで検出したmilterを登録します。 milterの登録方法の詳細は 設定 を見て ください。
また、インストール後に現在のプラットフォームを確認する場合は、 以下のようにします。
% /usr/local/sbin/milter-manager --show-config ... package.platform = "debian" package.options = nil ...
この場合は、プラットフォームはdebianで、付加情報は指定されて いないということになります。