最新更新日 2001.06.16.
更新項目  majordomo-1.94.5 に付いてほんの少しだけ書き加えました。


majordomo で ML 管理。
 ML の運営でもしてみますか? 自分の好きな趣味に付いてお話しする仲間を求めてコミュニュケーションの場を作る。等と思った場合、ML が一番てっとりはやいですね。ふみふみ。と、言う事で今回は、ML を設定しましょう。majordomo を使います。そして、sendmail 版の設定と、qmail 版の両方の設定に付いてもチャレンジしてみましょう。

 では、早速 FTP サイトから、majordomo-1.94.4.tgz を持って来る事にしましょう。

ftp://ftp.win.or.jp/pub/network/mail/majordomo/1.94.4/majordomo-1.94.4.tgz

 持って来たらまずは展開です。はい。展開後、Makefile を自分の環境に合わせて修正します。

----------------
# cd /usr/local/src
# tar xvzfp majordomo-1.94.4.tgz
# cd majordomo-1.94.4
# mule Makefile
----------------

--- Makefile ---
PERL = /usr/bin/perl
CC = gcc
W_HOME = /usr/local/majordomo-$(VERSION)
W_USER = 901
W_GROUP = 901
----------------
 こんな感じで良いでしょうか。Makefile に指定した、UID、GID で /etc/passwd と、/etc/group にユーザとグループを作成します。
--- /etc/passwd
majordom:*:901:901::0:0:majordomo:/usr/local/majordomo:/bin/sh
---
--- /etc/group
majordom:*:901:
---
 準備が出来たら make します。以下の手順で行いましょう。そして環境を整えます。
----------------
# make wrapper
# make install
# make install-wrapper

# cd /usr/local/
# ln -s /usr/local/majordomo-1.94.4 /usr/local/majordomo
# cd /usr/local/majordomo
#
----------------
 この後、majordomo.cf を自分のシステム、ネットワークの環境に合わせて編集します。私の場合は、以下の様にしました。
----------------
$whereami = "ml.running-dog.net";

if ( defined $ENV{"HOME"}) {
     $homedir = "/usr/local/majordomo";
} else {
     $homedir = "/usr/local/majordomo";
}

$digest_work_dir = "/usr/local/majordomo/digest";

$filedir = "$homedir/archive";
----------------
 ドメイン名は、ml.running-dog.net" にしました。これにより、コマンドを投げる宛先は、majordomo@ml.running-dog.net になりました。

 アーカイブ用のディレクトリを用意します。"/usr/local/majordomo/archive" にしました。この中に更に、ML 名のディレクトリを掘る事になります。そーすると、ML に届いたメール一個に付き一ファイルとして格納する様になります。

 これで一応インストールはおしまいです。ただ、これだけだと、Subject: にシーケンス番号が付かない ML しか構築出来ないのでちとまずです。そー言う事の為に sequencer と、言うのがあります。これを使いましょう。

----------------
# cd /usr/local/majordomo
# cp /usr/local/src/majordomo-1.94.4/contrib/sequencer ./
# chown majordom.majordom sequencer
# chmod 755 sequencer
#
----------------
 ただ、sequencer は結構ダサダサなプログラムなのでちっとばかし修正して上げます。差分のパッチを添付しておきます。どの辺りがダサダサなのかは、オリジナルの sequencer を使ってみた時に解るので、最初はオリリジナルを使ってみた方が良いかもしれないですね;-)。   →   sequencer.diff


 これで一応環境は整いました。続いて、いよいよ、メールの設定に移りましょう。まず、なんと言っても、majordomo の作成です;-)。普通、majordomo@ml.running-dog.net 宛にメールを送信すると、ML に参加出来たり脱退出来たりしますが、それかをコントロールするアドレスの登録です。

 この辺りから、senamil 編と、qmail 編に分かれて行きます;-)。

・sendmail の場合
 senamil の場合は、/etc/aliases と言う所に登録します。owner-majordomo、majordomo-owner は必須で ML の管理者のアドレスを書きます。以下の行を追加した後、newaliases 等とコマンドを叩いてください。その後、majordomo 宛に本文無しのカラメールの送信等を行いテストを行います。

----------------
majordomo:              "|/usr/local/majordomo/wrapper majordomo"
owner-majordomo:        takachan@running-dog.net
majordomo-owner:        takachan@running-dog.net
----------------
・qmail の場合
 qmail の場合は、/var/qmail/alias と、言うディレクトリにファイルを作成する必要があります。".qmail-" で始まるファイルで、その後はアドレスになります。以下の様な感じになります。

 qmail の場合、/var/qmail/alias のディレクトリ内を変更した場合、 qmil-send を再起動しないと新しい情報が反映されない事になっています。一 旦 TERM シグナルで終了して、再起動して上げてください。

----------------
# cd /var/qmail/alias
# echo "| /usr/local/majordomo/wrapper majordomo" > .qmail-majordomo
# echo "&takachan@running-dog.net" > .qmail-majordomo-owner
# echo "&takachan@running-dog.net" > .qmail-owner-majordomo
# 
----------------
 ここまでで、majordomo はちゃんとお返事を返してくれましたか?ここまでがまずは第一段階です。はい。もしメールがどっか行ったりエラーで戻って来たり、メーラデーモンに怒られる様ならもう一度環境を見直してみてください。

 さて、次はいよいよ ML を作ってみましょう。


 まずは設定に必要なファイルを用意します。 ML 名はぁぁ。そーですね、今回は、焚火の周りで口から火を吹く人々が集う、fire と、言う ML を作ってみましょうか。fire@ml.running-dog.net ですね。
#(筆者注)こんな ML は存在しません。あしからず御了承ください。

----------------
# mkdir /usr/local/majordomo/archive/fire
# chown majordom.majordom /usr/local/majordomo/archive/fire
# 
# cd /usr/local/majordomo/lists/
# echo "takachan@running-dog.net" > fire
# cp /dev/null fire.info
# cp /dev/null fire.intro
# echo "takano" > fire.passwd
# echo "1" >  fire.seq
# 
# chown majordom.majordom fire*
#
----------------
 一番最初にアーカスイブ用のディレクトリを作成しています。ここに 1mail が 1file として格納されて行きます。その後の作業で必要なファイルを整えます。ちょっと説明してみましょうか。
----------------
fire:        メンバが登録されるファイル
fire.info:   インフォメーションが書かれているファイル
fire.intro:  イントロダクションが書かれているファイル
fire.passwd  管理人がメンテする時に必要なパスワードが格納されるファイル
fire.seq:    sequencer が付ける番号が格納されるファイル
----------------
 この他に、特定の人しか ML に投稿出来ない様にする仕掛けの fire.poster なんてファイルが必要な場合もあります。config ファイルでいろいろ設定する事になります。

 ここまでは準備出来ましたか?ML に第一通目が通ると、fire.config と言うファイルが出来ます。これは、ML の環境設定等を設定するファイルです。これを変更する事により、ML のポリシ等を変更出来ます。ここではそれに付いては書かないので、config ファイルを見て、自分の好きな様に変更してください。

 config ファイルの日本語に訳したモノを用意したので良かったら参考にしてみてください。  →  majordomo config file

 さて、ここまでの作業は majordomo の設定部分なので MTA には影響が出ませんでしたが、ここから先はまたまた、sendmail 編と、 qmail 編に分かれての設定となります。

・sendmail の場合
 引続き /etc/aliases に登録します。以下の設定が必要です。終ったら例の如く、newaliases します。

----------------
# fire
fire:              "|/usr/local/majordomo/wrapper sequencer -N -l fire -h ml.running-dog.net fire-list"
fire-list:         :include:/usr/local/majordomo/lists/fire
owner-fire:        takachan@running-dog.net
fire-owner:        takachan@running-dog.net
fire-approval:     takachan@running-dog.net
----------------
----------------
fire:              ML のアドレスなる設定
fire-list:         ML のメンバが書かれているリストを incluse する設定
owner-fire:        ML のオーナの設定
fire-owner:        ML のオーナの設定
fire-approval:     ML 宛コマンド、majordomo からの通知が届くアドレスの設定
----------------
・qmail の場合
 こちらも 引続き /var/qmail/alias と、言うディレクトリにファイルを作成します。作成後は、qmil-send を再起動してくださいね。
----------------
# cd /var/qmail/alias
# echo "|/usr/local/majordomo/wrapper sequencer -N -l fire -h ml.running-dog.net fire-list" > .qmail-fire
# ln -s /usr/local/majordomo/lists/fire .qmail-fire-list
# echo "&takachan@running-dog.net" > .qmail-owner-fire
# echo "&takachan@running-dog.net" > .qmail-fire-owner
# echo "&takachan@running-dog.net" > .qmail-fire-approval
# 
----------------
 うーーん。結局は、sendmail と、qmail では、設定方法が違うだけで、設定する内容は一緒ですね。ふふふふ。と、言う事で結構仕掛けは簡単だったりしたかな。

 それにしても majordomo-1.94.5 は majordomo-1.94.4 に比べて随分とディレクトリやファイルのバーミッションが厳密に指定されています。ちょっとでも違うとまともに動かないですね。いやぁまいった・・。テストする時には気をつけてください。

 ML 作成後のテストに付いてですが、普通は ML 宛にメールを送信してテストなどを行いますがそれでも原因が特定できない場合はコマンドラインから実行してしまいましょう。一番簡単な方法は以下になります。

% cat file |/usr/local/majordomo/wrapper sequencer -N -l fire -h ml.running-dog.net fire-lis

 コマンドラインから aliases に指定した内容を実行するとエラーが表示されたりするので、ある程度その原因が解る気がします。

 後、sequencer のバグと言うか問題点も結構多いです。majordomo.cf に sendmail のパスを指定したのに sequencer 内部で /usr/lib/sendmail などと書かれている所があったりするので注意してください。FreeBSD の場合は、/usr/sbin/sendmail ですからね・・。


 と、言う事で設定は終りました。後は、いろいろ ML に投げて ML の設定を config を変更する事により変えて見てください;-)。

 さて、ML を使う上で、majordomo の場合は、

・一般のメンバの為のコマンド
・ML の管理者の為のコマンド

 二つが用意されています。上の方は皆さんも良く使う、subscribe/unsubscribe 等を行う時に利用していますよるね。それとは別に下のコマンドは、info/intro の文章を変える為とか、config の内容を変更するだとか、初期の段階で設定した passwd を利用して変更を行うコマンドです。

 ここではこれらのコマンドに付いては記述しません。他の web サイトでご確認ください。まぁ、この URL は結構参考になるのではないでしょうか。こう言う所で調べてみてください;-)。http://www.infoscience.co.jp/technical/majordomo/index.html

 ふぅぅ・・。と、言う事で majordomo のインストール、設定が完了しました。ふぅぅ。さて、後はガンガン利用する事にしましょう。ふふふふふ。


Copyright (c) 1997-2004 akachan@running-dog.net All Rights Reserved.