パッケージ作成者へのガイドライン


このドキュメントの目的

このドキュメントには、内部利用のために独自の Postfix 配布物を管理 する人や、一般的な利用のために Postfix 配布物を管理する人のためのヒントや tips があります。

一般的な配布物: デフォルトが小さな main.cf ファイルを提供してください

インストールされる main.cf ファイルは小さくなければいけません。 main.cf ファイルに400以上ある全てのパラメータを列挙するという誘惑には 負けないように「してください」。Postfix は設定が簡単であると思われて います。400以上を全て main.cf に列挙してしまうと、この目的が果たせません。 何をやっているのか理解せずにランダムに変更を加えるのは趣味人への勧誘で あり、彼らを果てしなきトラブルに巻き込んでしまいます。

一般的な配布物: README または HTML ファイルを含めてください

適切な README または HTML ファイルを提供してください。これらは Postfix マニュアルページやその他のファイルに参照されています。README や HTML ファイルがないと、Postfix は設定が不可能ではないにせよ難しくなって しまいます。

Postfix インストールパラメータ

Postfix のインストールは10数個のインストールパラメータによって制御 されます。詳細は postfix-install および post-install ファイルを参照して ください。ほとんどのパラメータはINSTALL ファイルに書かれているように、コンパイル時に設定可能なシステム依存の デフォルト設定を持っています。

他のシステムに配布するためにビルド済みパッケージを準備する

Postfix がインストールされていないマシンで Postfix パッケージを作る ことができます。必要なのは Postfix ソースコードと目的のシステムと互換性の あるコンパイル環境だけです。

一般ユーザで構築済み Postfix パッケージを作ることができます。

まず Postfix をコンパイルします。コンパイルが成功したら以下を実行します:

 % make package 

バージョン2.2より前のPostfixでは、post-install スクリプトを直接呼ばなければ いけません (% sh post-install)。

インストールパラメータの入力が求められます。/ 以外の install_root を 指定してください。mail_owner および setgid_group インストールパラメータ設定は main.cf に記録されますが、パッケージが 解かれて目的のマシンにインストールされるまでは効果を持ちません。

このプロセスを完全に自動化したければ、コマンドラインで全てのデフォルト 以外のインストールパラメータを指定してください:

 % make non-interactive-package install_root=/some/where...

バージョン2.2より前のPostfixでは、post-install スクリプトを直接呼ばなければ いけません (% sh post-install -non-interactive install_root...)。

ここからセキュリティ警告

配布用のアーカイブを作る際には、ファイルとシンボリックリンク だけを含み、その親ディレクトリを含まないことを確認してください。そう しないと、ビルド済み Postfix パッケージを展開したときに / /etc /usr /usr/bin /var /var/spool などのようなシステムディレクトリの権限や所有者を 勝手に変えてしまうかもしれません。これは特に postfix-install (上記を参照) を一般ユーザで実行した場合に問題になります。

ここまでセキュリティ警告

従って、ビルド済みパッケージを tar で固めるには、次のステップを 踏んでください:

% cd INSTALL_ROOT
% rm -f SOMEWHERE/outputfile
% find . \! -type d -print | xargs tar cf SOMEWHERE/outputfile
% gzip SOMEWHERE/outputfile 

この方法であれば、展開時に問題になるようなディレクトリを含むことは ありません。

ビルド済み Postfix パッケージをインストールする