したがって sendmail は postfix のものに置換されています参考にした文献:著者の方ありがとうございました _O_
http://www.kozupon.com/ml/fml.htmlupdate: 2005-1-28
http://astr-www.kj.yamagata-u.ac.jp/~sho/admin/fml-install.html
上を参考に postfix + MaOSX 10.3 で動くようにしたものです。
Postfixのセットアップは既にされている環境として説明する。
http://www.fml.org から download
fmlをセットアップするには、必ずfmlユーザ、fmlグループを最高権限とする。
MacOS X なので WorkGroupManager を使ってユーザ登録した。ユーザとグループを登録する。
user も group も fml という名前にする。
login できるよう HomeDirectory 作成し passwd 設定。
fmlのディレクトリとメーリングリストディレクトリを作成する。rootから
# mkdir /usr/local/fml /var/spool/ml
# chown fml.fml /usr/local/fml /var/spool/ml
# chmod 755 /usr/local/fml /var/spool/ml
# su fml
% cd
% ln -s /var/spool/ml /Users/fml/ml
最後のシンボリックは fml で作業するとき便利なので作成しておきます。
tarボールのソースを解凍してインストールする。
suでfmlに切り替えてから
# tar -zxf fml-4.0E-current-20020309.tar.gz -C /usr/local/src
# cd /usr/local/src/fml-4.0E-current-20020309
# env RECOMMEND=yes perl makefml install
...省略...
DOMAIN NAME [hogehoge.com] ocean.shinagawa.tokyo.jp リターン
FQDN [mail1.hogehoge.com] ocean.shinagawa.tokyo.jp リターン
EXEC FILES DIRECTORY [/usr/local/fml] /usr/local/fml リターン
TOP LEVEL ML CIRECTORY [/var/spool/ml] リターン
Language (Japanese or English) [English] Japanese リターン
TimeZone (TZ: e.g +900, -0300) [+900] リターン
--- summary ---
DOMAIN: ksirius.kj.yamagata-u.ac.jp
FQDN: ksirius.kj.yamagata-u.ac.jp
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" と答える
...省略...
Done.
-- Enjoy Internetworking!
エラーが無ければインストール完了。
デフォルトでは :include: が使えないので /etc/postfix/main.cf を次のように変更する。
これで :include: 命令が有効になる。main.cfへ一行定義を追加する。rootから
# cd /etc/postfix
# vi main.cf
...省略...
allow_mail_to_commands = alias,forward,include
main.cfの最後に、この記述を追加しないとPostfix環境でfmlは使えない。
fmlの本体及びライブラリを収容。
インストール時の基本設定が保存される。
メーリングリストのテスト用スクリプトを収容。
fmlのドキュメント関係収容。
メーリングリストを作成した時に自動的に作られる。
ドキュメントのひな型が収容されている。
各種ファイルのひな型が収容されている。
POP管理で使うスクリプト及び他のメーリングリストエンジンの互換用I/F収容。
エラー時に返す文字列の収容。
fmlインストール時に使われるスクリプトファイル収容。
OSに依存するファイルが、OS別に収容。
この中には、マシン共通のメーリングリスト設定ファイルが収容。
"$ login fml" のように fmlユーザとして login して行う。
"$ su fml" では fml の環境設定が働かないため、makefml コマンドを full path で入れなければ "command not found" と言われてしまう。$ whoami
fmlのaliasesの内容をPostfixのaliasesに登録する。rootから
# cat /var/spool/ml/test-ml/aliases
この内容を、/etc/postfix/aliasesに追記する。
# cp /etc/postfix/aliases /etc/postfix/aliases.bak一応、バックアップする。
# vi /etc/postfix/aliases内容を追記する。
# postalias hash:/etc/postfix/aliasesこれをやらないと aliasesの内容変更が反映されません。
登録する方法は幾つかありますが、ここでは makefml を利用する方法と 直接 ML ファイルを編集する方法を紹介します。 例として user1@ws.elsewhere.japan を登録してみましょう。
[makefml での登録]
$ whoami
fml
$ cd /usr/local/fml
$ makefml add test user1@ws.elsewhere.japan
で登録されます。
ユーザを削除する時は
$ makefml bye test user1@ws.elsewhere.japan
とします。さらに /var/spool/ml/test/log にこの作業の内容が記録されます。
/var/spool/ml/test にある members と actives というファイルに
user1@ws.elsewhere.japanを追加すれば完了です。
削除する時は members と actives というファイルから
user1@ws.elsewhere.japan という行を削除します。
ただし、この場合はログ (/var/spool/ml/test/log) に操作した内容は残りません。 メンバーの変更も記録に残るので makefml を使うほうが良いでしょう。
test ML を削除するときは
rm -rf /var/spool/ml/test
ML ディレクトリを削除。/etc/postfix/aliases から該当する (test ML に関係する)部分を消し
$ makefml config test-ml
header --> [:] type
reply --> test@ocean.shinagawa.tokyo.jp
のようにして、設定を変更できます。
あるいは /var/spool/ml/test-ml/config.ph を直接編集する方法もあります。
% login fml
passwd: ***
[fml] % makefml config test-ml
[6 OPTION] の [1 HTML_GENERATION] で AUTO_HTML_GEN
を選択するだけで、メールが投稿されるたびに
/var/spool/ml/test-ml/htdocs/ の下に html が生成される。
これを web site から見えるようにシンボリックリンク
[fml] % sudo su
passwd: ***
# cd /Library/WebServer/Documents/(ANY-DIRECTORY)/
# ln -s /var/spool/ml/test-ml/htdocs/ ./test-mail
このままでは permission の関係で web に表示されない可能性がある。
# cd /var/spool/ml/test-mail
# chmod +rx ./htdocs
以下のような permission になっていれば OK 。
# ls -al
...
drwxr-xr-x 10 fml fml 340 11 Aug 18:46 htdocs
...
これで test-mail/htdocs/index.html を指定すれば log が web で見えるようになる。
感想:通常は sendmail を使う方法が書かれているのですが、
うちでは postfix が sendmail を postfix 用のものに置換しているので、
いくつかの参考文献を元にして設定しました。
Subject に ML 名やシリアル番号が入る仕組みの設定が default
ではされていないので、これらの変更にちょっと試行錯誤しましたが、
インストールとしては perl で行われるので比較的簡単です。