fml~メーリングリストサーバ

fmlのstable版 fml-4.0-stable-20040215.tar.gz を使用してインストール場合を説明します。
まず、fml専用ユーザを作成し、必要なディレクトリを作成します。fmlの各種作業は基本的にはfmlユーザで行うことになります。インストール後、各種作業がしやすいようにfmlユーザのホームディレクトリをfmlのスクリプトがインストールされるディレクトリとします。作成したディレクトリは、オーナーをfmlユーザに変更します。
なお、fmlユーザでログインせずに、rootユーザからsuで移行して運用する場合は、下記のパスワード変更は必要ありません。

# useradd fml -d /usr/local/fml
# passwd fml #(fmlでログインしない場合はパスワード設定は必要なし)
# mkdir /usr/local/fml /var/spool/ml
# chown fml:fml /usr/local/fml /var/spool/ml

fmlユーザに移行し、ソースファイルを展開し、インストールします。

# su – fml
$ tar xvfz fml-4.0-stable-20040215.tar.gz
$ cd fml-4.0-stable-20040215
$ make install
perl ./makefml install
unshift(@INC, /usr/local/src/fml-4.0-stable-20040215/src)
—NOT USING configuration file (for the first time)
THIS HOST (char.ipap2.blade-server.jp) IS [i686-pc-linux-gnu]
—Please Define Your Fml System Configurations
Personal Use or ML-Admin-Group-Shared or fmlserv you use?
Personal, Group, Fmlserv (personal/group/fmlserv) [personal] # [fmlユーザだけの使用であればそのままリターン]
DOMAIN NAME [sensaba.net] # [ドメイン名を入力]
FQDN [mail.sensaba.net] # [サーバのFQDNを入力]
EXEC FILES DIRECTORY [/usr/local/fml] # [そのままリターン]
TOP LEVEL ML DIRECTORY [/var/spool/ml] # [そのままリターン]
Language (Japanese or English) [Japanese] # [そのままリターン]
TimeZone (TZ: e.g. +0900, -0300) [+0900] # [そのままリターン]
— summary —
DOMAIN: sensaba.net
FQDN: mail.sensaba.net
EXEC_DIR: /usr/local/fml
ML_DIR: /var/spool/ml
Language: Japanese
TimeZone: +0900
The current configuration is saved in /usr/local/fml/.fml/system
—Install the Fml system to /usr/local/fml. (y/n) [n] y
Installing fml system to /usr/local/fml
Fixing Path: src …………………………………………………………………. libexec ….. sbin . cf .
bin ……………….. www/cgi-bin ……… www/lib … sys ……… module ..
Done.
Generate nroff manuals:
Installing bin …
Installing sbin .
Installing libexec .
Installing cf .
Installing etc ….
Installing sys ..
Installing src …….
Installing drafts ..
Installing messages …..
Installing www ……
Installing module ……………………………..
Installing databases …
Installing doc ………………………………………………………………………….
Done.
Setup CGI examples ……..
CGI configuration is saved in /usr/local/fml/.fml/cgi.conf
— Enjoy Internetworking!

この後、MTAによっては追加で設定変更をします。
●sendmailの場合

sendmail.cfファイルの最後尾部分の二箇所を修正します。
“P=/usr/sbin/smrsh” -> “P=/bin/sh”
“A=smrsh -c $u” -> “sh -c $u”
▼/etc/mail/sendmail.cf


Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
T=X-Unix/X-Unix/X-Unix,
A=sh -c $u

設定を反映させます。

# service sendmail restart

●postfixの場合

デフォルトでは :include: が使えませんので、 /etc/postfix/main.cf の最後尾に次の行を追加すると、 :include: 命令が有効になります。
デフォルトでは fml から postfix への通信は loopback インターフェイスですので、mynetworks に、
127.0.0.1/8を追加します。
▼/etc/postfix/main.cf


mynetworks = 127.0.0.1/8

allow_mail_to_commands = alias,forward,include

設定を反映させます。

# service postfix reload

メーリングリストの各種作業はfmlユーザで行います。
新規にメーリングリストを作成します。makefmlで出来上がったaliasesを、メールサーバのエイリアスファイルに追加します(以下はsendmailの場合)。

$ su – fml
$ cd /usr/local/fml
$ ./makefml newml newml
$ su –
# cat /var/spool/ml/newml/aliases >> /etc/aliases
# newaliases

その他の使い方はfmlのサイトを参照してください。