BBRK 07-04-07
# 非スクールネタですいません(苦笑)
この BBRK を置いている www.unknown24.net というサーバは、Inetd というレンタルサーバ会社の「Lightプラン」を利用して運営しているわけですが、Inetd ではメーリングリストエンジンとして有名な fml をユーザ(レンタルを利用しているひと)のディレクトリにインストールして動かすことが出来る!! ということを最近知りまして、無料のメーリングリスト・サービスを利用していた内輪MLを自分のサーバ(と言ってもレンタルですけど(笑))で動かそうと一念発起しちゃったんですな。
で、幸いにも大したトラブルもなく稼働させることが出来ましたので、その手順を自分の備忘録として記録しておきます。
Inetd でホスティングしているひとにとっては、即 fml 設置マニュアルになると思います。
もちろん、これと全く同じ設定でなくても動きますが、ややこしかったり問題が起きやすかったり…ということを考慮してこのようなセッティングにしてみました。
ちなみに、fml 3.0 を使ったのは Web上に情報が多かったから…というだけの理由です(苦笑)
■参考にしたサイト
・FML のインストール(東葛パソコン研究会☆Linux研究室☆)
+ + + + +
■設定例
運用ドメイン名 | unknown24.net |
Inetd のアカウント名 | abc1101 |
ML名 | bbrk-ml |
投稿用アドレス | bbrk-ml@unknown24.net |
管理者アドレス | bbrk-ml-admin@unknown24.net |
コントロール用アドレス | bbrk-ml-ctl@unknown24.net |
インストール先 | /home/11/abc1101/fml |
管理者メンバー | pete@unknown24.net |
ML用のメールを扱う UNIXアカウントは ML専用とし、Inetd から 5コもらえるアカウントのうち、2番目のアカウントに設定。
管理者が二つあるが、
・bbrk-ml-admin@unknown24.net: ML参加者や fml からの連絡やエラー通知をするのに使用するアドレス
・pete@unknown24.net: 管理者コマンドを送ることができるメンバー
となっている。
+ + + + +
以下、太字 はキー入力する部分を示す。
■手順1 - アカウント abc1101 に、MLで使用するメールアドレスを設定する。
次の 3つのメールアドレス、
・bbrk-ml@unknown24.net
・bbrk-ml-admin@unknown24.net
・bbrk-ml-ctl@unknown24.net
を Inetd が提供するコントロールパネルを使って設定する。
アカウント abc1101 に UNIXパスワードを設定する。設定済ならそのまま。
メールアドレスを設定したら、これらのアドレス宛に適当なメールを送って、アカウント abc1101 で受信できることを確認しておく。
ちなみに、MLを稼働させると、MLメンバーからの管理者宛メールや fml からのエラー通知メールは bbrk-ml-admin@unknown24.net に送られてくる。
■手順2 - fml をインストール
アカウント abc1101 でサーバにログインする。
ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/archives/3.0/ から fml-3.0pl32.tar.gz を WindowsPC のデスクトップにでもダウンロードし、次に FTPソフトでバイナリモードにて abc1101 のホームディレクトリ(/home/11/abc1101/)に転送する。
wgetコマンドで直接 abc1101 のホームディレクトリに取得してももちろんOK。
# WindowsPC上で解凍してから転送…ということはしない方が無難。
ホームディレクトリをカレントとして
bash-2.05$ tar xvfz fml-3.0pl32.tar.gz x fml-3.0pl32/ x fml-3.0pl32/src/ x fml-3.0pl32/src/fml.pl x fml-3.0pl32/src/libtraffic.pl x fml-3.0pl32/src/mimew.pl x fml-3.0pl32/src/mimer.pl (中略) x fml-3.0pl32/Makefile x fml-3.0pl32/makefml x fml-3.0pl32/README.jp x fml-3.0pl32/README.en x fml-3.0pl32/INSTALL.jp x fml-3.0pl32/INSTALL.en bash-2.05$ cd fml-3.0pl32 bash-2.05$ perl makefml install ---NOT USING configuration file (for the first time) THIS HOST (www3.inetd.co.jp) IS [i386-unknown-freebsd6.2] ---Please Define Your Fml System Configurations Personal Use or ML-Admin-Group-Shared or fmlserv you use? Personal, Group, Fmlserv (personal/group/fmlserv) [personal] personal DOMAIN NAME [inetd.co.jp] unknown24.net FQDN [www3.inetd.co.jp] www.unknown24.net EXEC FILES DIRECTORY [/usr/local/fml] /home/11/abc1101/fml TOP LEVEL ML DIRECTORY [/var/spool/ml] /home/11/abc1101/fml Language (Japanese or English) [Japanese] Japanese TimeZone (TZ: e.g. +0900, -0300) [+0900] +0900 --- summary --- DOMAIN: unknown24.net FQDN: www.unknown24.net EXEC_DIR: /home/11/abc1101/fml ML_DIR: /home/11/abc1101/fml Language: Japanese TimeZone: +0900 mkdir(/home/11/abc1101/fml, 0755); 07/04/07 01:10:23 makefml::mkdir /home/11/abc1101/fml (abc1101) mkdir(/home/11/abc1101/fml/.fml, 0755); 07/04/07 01:10:23 makefml::mkdir /home/11/abc1101/fml/.fml (abc1101) The Current Config is saved in /home/11/abc1101/fml/.fml/system ---Install the Fml system to /home/11/abc1101/fml. (y/n) [n] y Installing fml system to /home/11/abc1101/fml Fixing Path: src .. libexec ..... sbin . cf . bin .................. Done. 07/04/07 01:10:37 makefml::mkdir /home/11/abc1101/fml/etc (abc1101) Generating nroff manuals: doc/man/fml.8 doc/man/makefml.1 Installing bin ... Installing sbin ... Installing libexec ... Installing cf ... Installing etc ... Installing sys ... Installing src ... Installing drafts ... Installing messages ... Installing doc ... -- Enjoy Internetworking! |
■手順3 - fml の設定コマンド makefml を使って設定を行う
・手順3-1 - bbrk-ml を新規作成する
bash-2.05$ cd /home/11/abc1101/fml bash-2.05$ ./makefml newml bbrk-ml ---Loading the configuration file /home/11/abc1101/fml/.fml/system THIS HOST (www3.inetd.co.jp) IS [i386-unknown-freebsd6.2] (cached) ---Creating bbrk-ml mailing list ---Make Directory (/home/11/abc1101/fml/bbrk-ml) (UID=2965) ---Make Directory (/home/11/abc1101/fml/bbrk-ml/spool) (UID=2965) ---Generting configuration examples. /home/11/abc1101/fml/bbrk-ml/cf --- OUTPUT CF LOCAL CONFIG /home/11/abc1101/fml/bbrk-ml/include /home/11/abc1101/fml/bbrk-ml/include-ctl /home/11/abc1101/fml/bbrk-ml/include-mead /home/11/abc1101/fml/bbrk-ml/aliases /home/11/abc1101/fml/bbrk-ml/Makefile /home/11/abc1101/fml/bbrk-ml/crontab /home/11/abc1101/fml/bbrk-ml/fml.c /home/11/abc1101/fml/bbrk-ml/config.h /home/11/abc1101/fml/etc/qmail/alias/.qmail-bbrk-ml /home/11/abc1101/fml/etc/qmail/alias/.qmail-bbrk-ml-ctl /home/11/abc1101/fml/etc/qmail/alias/.qmail-bbrk-ml-default /home/11/abc1101/fml/etc/qmail/alias/.qmail-bbrk-ml-admin /home/11/abc1101/fml/etc/qmail/alias/.qmail-bbrk-ml-request /home/11/abc1101/fml/etc/qmail/users/assign crontab: example for all abc1101's ML's is saved in /home/11/abc1101/fml/etc/crontab/abc1101 /home/11/abc1101/fml/etc/crontab/abc1101.master config.ph(/home/11/abc1101/fml/bbrk-ml/config.ph): /home/11/abc1101/fml/bbrk-ml/cf -> config.ph ... Done. create template files for help,guide ... (config.ph; $CFVersion 5.0) /home/11/abc1101/fml/bbrk-ml/help /home/11/abc1101/fml/bbrk-ml/help-admin /home/11/abc1101/fml/bbrk-ml/deny /home/11/abc1101/fml/bbrk-ml/guide /home/11/abc1101/fml/bbrk-ml/welcome /home/11/abc1101/fml/bbrk-ml/confirm /home/11/abc1101/fml/bbrk-ml/objective ------------------------------------------------------------ *** Please see several examples in directory '/home/11/abc1101/fml/bbrk-ml' # from '#' to the end of this line is a comment. # ---------- /etc/aliases example ---------- bbrk-ml: :include:/home/11/abc1101/fml/bbrk-ml/include bbrk-ml-ctl: :include:/home/11/abc1101/fml/bbrk-ml/include-ctl bbrk-ml-request: bbrk-ml-admin bbrk-ml-admin: abc1101 owner-bbrk-ml: abc1101 owner-bbrk-ml-ctl: abc1101 # Mail Error Analyzer Daemon # If you use mead.pl, comment out bbrk-ml-admin: line and UNCOMMNET OUT here. #bbrk-ml-admin: abc1101, :include:/home/11/abc1101/fml/bbrk-ml/include-mead # ---------- /etc/aliases example ends ---------- |
・手順3-2 - bbrk-ml をコンフィグする
[1] リモート管理が出来るように設定
bash-2.05$ ./makefml config bbrk-ml |
4 [RETURN] → 1 [RETURN] → y [RETURN] → 0 [RETURN] → 0 [RETURN] と操作する。
[2] pete@unknown24.net を管理者メンバーに追加
bash-2.05$ ./makefml addadmin bbrk-ml pete@unknown24.net ---Loading the configuration file /home/11/abc1101/fml/.fml/system THIS HOST (www3.inetd.co.jp) IS [i386-unknown-freebsd6.2] (cached) ---Locking bbrk-ml ML Locked. Go ahead! ---Adding pete@unknown24.net to bbrk-ml mailing list ---UnLocking bbrk-ml ML Done. |
[3] 管理用パスワードを設定
bash-2.05$ ./makefml passwd bbrk-ml ---Loading the configuration file /home/11/abc1101/fml/.fml/system THIS HOST (www3.inetd.co.jp) IS [i386-unknown-freebsd6.2] (cached) ---Locking bbrk-ml ML Locked. Go ahead! ---Changing Passwd of Admin in bbrk-ml mailing list ---Make Directory (/home/11/abc1101/fml/bbrk-ml/etc) (UID=2965) Address: pete@unknown24.net Password: (パスワードを入力) Retype Password: (パスワードを入力) Passwd Changed (/home/11/abc1101/fml/bbrk-ml/etc/passwd). ---UnLocking bbrk-ml ML Done. |
[4] pete@unknown24.net を通常メンバーに追加
これをしておかないと、MLの管理は出来ても、MLにポストされたメールが配信されない。
bash-2.05$ ./makefml add bbrk-ml pete@unknown24.net ---Loading the configuration file /home/11/abc1101/fml/.fml/system THIS HOST (www3.inetd.co.jp) IS [i386-unknown-freebsd6.2] (cached) ---Locking bbrk-ml ML Locked. Go ahead! ---Adding pete@unknown24.net to bbrk-ml mailing list ---UnLocking bbrk-ml ML Done. |
■手順4 - ホームディレクトリにファイルを作成する
・手順4-1 - ~/.procmailrc の作成
ホームディレクトリに次の内容の .procmailrc を作成する。
# ログファイルを保存 #LOGFILE=$HOME/log # MLの投稿用メールアドレス :0 * ^To:.*bbrk-ml@unknown24.net |$HOME/fml/fml.pl $HOME/fml/bbrk-ml # MLの制御用メールアドレス :0 * ^To:.*bbrk-ml-ctl@unknown24.net |$HOME/fml/fml.pl $HOME/fml/bbrk-ml --ctladdr # ML関係でないメールはファイルへ保存 :0 mailbox |
・手順4-2 - ~/.forward の作成
ホームディレクトリに次の内容の .forward を作成する。
"| IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #abc1101" |
■手順5 - MLのカスタマイズ
fml の設定コマンド makefml を使ってカスタマイズを行う。
fml インストールディレクトリをカレントにして、
bash-2.05$ ./makefml config bbrk-ml |
と入力するとメニューが表示されるので、それらを選択して行う。
例えば、メールの Subjectを
[bbrk-ml:0001] タイトル
としたい場合は、
bash-2.05$ ./makefml config bbrk-ml |
と入力した後、
5 [RETURN] → 1 [RETURN] → 3 [RETURN] → 0 [RETURN] → 0 [RETURN] → 0 [RETURN] と操作する。
■手順6 - bbrk-mlをテストする
MLのシーケンス番号はいつでも自由な番号に設定できるので、納得いくまでテストする。
・投稿用アドレス bbrk-ml@unknown24.net にポストして配信されるか。
・コントロール用アドレス bbrk-ml-ctl@unknown24.net にコマンドを送って処理されるか。
・管理者アドレス bbrk-ml-admin@unknown24.net にメールを送ると MLに流れずにメールボックスに送られ、abc1101 のパスワードでメールを取り出せるかどうか。
テストするコマンドとしては、一般用ヘルプの取得、ML参加者リストの取得、管理者ヘルプの取得など。これらがうまくいけば、まぁ大丈夫でしょう。
■手順7 - MLの稼働開始
[1] MLのカウンタ(シーケンス番号)を 0に設定する
メールの Subject に使われるシーケンス番号は、
(fmlインストールディレクトリ)/bbrk-ml/seq
に保存されている。
次に配信されるメールのシーケンス番号は、ここにある数字 + 1 となっている。
このファイルを編集すれば、好きな番号に変更することができる。
なお、ファイルの編集によってシーケンス番号を変えたら spoolディレクトリ内のファイルを消しておく。
配信されたメールと同じ番号のメールが spoolされていると、そのメールはスプールされずに、
(fmlインストールディレクトリ)/bbrk-ml/var/log/
に保存されてしまうので注意。
[2] 管理者コマンド(admin add address)で、ML参加者を一気に追加する。
[3] MLに最初のメール(ごあいさつ)をポストする。
+ + + + +
以上で終わり。手順書にすると長いっすね(苦笑)