fml-4.0.3 + vpopmail-5.4.0 + qmail-1.03 インストールメモ #--------------------------------------------------------------------------------------------- # 概要 #--------------------------------------------------------------------------------------------- fml は日本人が開発した高機能メーリングリストサーバーです。今回は、fml をqmail+vpopmail による仮想ドメイン環境にインストールします。 fml の基本構造は、次の2 つから成り立っています。 ・ fml 実行ファイル群を記憶するディレクトリ ・ fml 設定、スプールを記憶するディレクトリ 通常、1 ドメインに対して上記2 つのディレクトリが必要となってくるのですが、特に、仮想ドメインごとに「fml 実行ファイル群を記憶するディレクトリ」を持つことは非常に非効率です。 このため、fml を仮想ドメインごとインストールする際は、「fml 設定、スプールを記憶するディレクトリ」のみを仮想ドメインごとに設置することにします。 ※ vpopmail, qmail はインストール済みとします。 #--------------------------------------------------------------------------------------------- # fml のインストール、構築方法 #--------------------------------------------------------------------------------------------- fml-4.0.3 のソースをインターネットよりダウンロード後,ソースを解凍します。ここで、makefml install にて、fml をインストールする際、/usr/local/fml 以下ファイルを更新しますので、/usr/local/fml はvpopmail 権限に変更する必要があります。 # su root # cd /usr/local/src/ # wget fml-4.0.3.tar.gz # tar zxvf fml-4.0.3.tar.gz # cp -pr ./fml-4.0.3 /usr/local/fml # chown -R vpopmail:vchkpw /usr/local/fml fml-4.0.3 を解凍したら、fml 構築ファイル system を各仮想ドメイン管理ディレクトリ(vpopmail での仮想ドメインごとトップディレクトリ) に配置します。 # cd /usr/local/vpopmail/domains/[仮想ドメイン] # vi ./system ※ 注意 ) 仮想ドメインごとに、共通して「fml 実行ファイル」を利用するため、fml 構築ファイルは仮想ドメインごと管理する必要があります。fml 構築ファイルは通常、makefml install コマンドで対話式に作成しますが、今回の方法では、あらかじめ作成した後、makefml コマンドのオプションでfml 構築ファイルを指定します。 仮想ドメインごとのfml 構築ファイルを元に、fml スプールディレクトリを作成します。ここで、fml スプールディレクトリはqmail が更新しますので、fml スプールディレクトリはvpopmail 権限に変更する必要があります。 # cd /usr/local/vpopmail/domains/[仮想ドメイン] # mkdir ./ml ← 仮想ドメインごとのfml スプール記憶ディレクトリ # cd /usr/local/fml # perl -I ./src ./makefml -f /usr/local/vpopmail/domains/[仮想ドメイン]/system install # chown -R vpopmail:vchkpw ./ml 以上で仮想ドメイン共通で「fml 実行ファイル」を利用し、仮想ドメインごとに「fml スプール」を設置しました。 ・ fml 実行ファイル群を記憶するディレクトリ : /usr/local/fml ・ fml 設定、スプールを記憶するディレクトリ : /usr/local/vpopmail/domains/[仮想ドメイン]/ml #--------------------------------------------------------------------------------------------- # メーリングリスト作成方法 #--------------------------------------------------------------------------------------------- 次に、仮想ドメインごとにメーリングリストを構築します。 # su vpopmail # cd /usr/local/vpopmail/domains/[仮想ドメイン] # /usr/local/fml/makefml -f /usr/local/vpopmail/domains/[仮想ドメイン]/system newml [MLNAME] 上記コマンドで、[MLNAME] のメーリングリストが仮想ドメインのfml スプールディレクトリ配下 /usr/local/vpopmail/domains/[仮想ドメイン]/ml/[MLNAME] に作成されます。 メーリングリストの作成は完了しましたが、このままではfml 経由でメールを配送することはできません。メールを配送するには、qmail の拡張アドレス機構を利用して着信メールをfml プログラムに転送する必要があります。 幸いなことに、着信メールをfml プログラムに転送する記述は仮想ドメインごとに用意されていますので、これを所定の場所にコピーします。 # cd /usr/local/vpopmai/domains/[仮想ドメイン] # cp ./ml/etc/qmail/alias/.qmail* . #--------------------------------------------------------------------------------------------- # fml 配送の仕組み #--------------------------------------------------------------------------------------------- fml インストールサーバーにメーリングリスト宛メールが着信すると、fml は自身サーバーに対してSMTP 接続したのち、内部、もしくは外部へメール配送します。そのため、tcpserver などの設定で自身IP からの外部メール配送をディフォルトで可能と設定しなければ、 553 sorry, that domain isn't in my list of allowed rcpthosts エラーが出ます。