ここでは、majordomoを利用したメーリングリストの作成と運用について解説します。 majordomoを使うことで、サブジェクトに特定の文字列を追加したり、返信先を指定したりできます。
majordomoを入手し、インストールします。
majordomo-1.94.4(2000/1/10)
ftp://ftp.greatcircle.com/pub/majordomo/
majordomoの運用のために、majordomというユーザを作成します。(8文字に収めるために最後のoを省いてあります) UIDは5004、GIDは5000、envグループとします。
Linux# adduser |
入手したソースを展開します。
Linux# cd /usr/local/src/ Linux# zcat ../pub/majordomo-1.94.4.tar.gz | tar -xvf - Linux# cd majordomo-1.94.4/ |
入手したソースを展開します。
Linux# vi Makefile |
Makefileの修正点は以下の個所です。環境に合わせて設定して下さい。 W_USER、W_GROUPは作成したmajordomのユーザIDとグループIDです。
PERL = /usr/local/bin/perl W_HOME = /usr/local/majordomo W_USER = 5004 W_GROUP = 5000 W_PATH = /bin:/usr/bin:/usr/local/bin |
設定ファイル、majordomo.cfを編集します。 なお、majordomo.cfは、Makefileで指定したW_HOMEディレクトリにコピーされ、インストール後でも修正可能です。
Linux# cp sample.cf majordomo.cf Linux# vi majordomo.cf |
majordomo.cfの修正点は以下の個所です。環境、運用方針に合わせて設定して下さい。
$whereami = "ash.jp"; $homedir = "/usr/local/majordomo"; $digest_work_dir = "$homedir/digest"; $sendmail_command = "/usr/sbin/sendmail"; |
設定ファイルの編集が終わったら、makeします。
Linux# make install Linux# make install-wrapper Linux# cd /usr/local/majordomo Linux# mkdir lists Linux# chown majordom.env lists |
コンフィグのテストもします。
Linux# cd /usr/local/majordomo Linux# ./wrapper config-test |
aliasesに、majordomoを動作させるための設定を追加します。 なお、newaliasesコマンドを使わないと変更が反映されませんので注意してください。
Linux# vi /etc/aliases Linux# newaliases |
aliasesの修正点は以下の個所です。 ownerには、管理者のメールアドレスを書いて下さい。
majordomo: "|/usr/local/majordomo/wrapper majordomo" owner-majordomo: sys majordomo-owner: sys |
majordomoはメールの到着をキーにして動作するので、特別な設定は不要です。
majordomoで動作するメーリングリストを作ります。 今回はtestmlという名前のメーリングリストを作るとして解説します。
メールを配送するリストを作成します、最初は自分のメールアドレスだけ書いておけばいいでしょう。
なお、リストは小文字で登録するべきです。大文字のアドレス(ここではTESTML@ash.jp)でも配送されます。
Linux# cd /usr/local/majordomo/lists/ Linux# vi testml |
rootなどで作業していた場合は、リストのオーナーを変更する必要があります。
Linux# chown majordom.env testml |
MLの説明(testml.info)と登録者に送られる説明メールの内容(testml.intro)を作る。 (別になくてもかまいません)
Linux# vi testml.info Linux# vi testml.intro |
aliasesに、メーリングリスト用の設定を追加します。 なお、newaliasesコマンドを使わないと変更が反映されませんので注意してください。
Linux# vi /etc/aliases Linux# newaliases |
aliasesの修正点は以下の個所です。 ownerには、管理者のメールアドレスを書いて下さい。
#Mailing List (testml) testml:"|/usr/local/majordomo/wrapper resend -l testml testml-list" testml-list::include:/usr/local/majordomo/lists/testml testml-request:owner-testml testml-owner:owner-testml owner-testml:xxxxxx |
testmlあてにメールを出してみます。そのメールが自分に返ってくればとりあえずOKです。
メーリングリストの運用方法に合わせて、設定を変更します。 testmlの設定を変更する場合の例です。
最初にメールを出したとき、/usr/local/majordomo/lists/下に、testml.configが作成されているはずですので、それを修正します。
Linux# cd /usr/local/majordomo/lists/ Linux# vi testml.config |
以下に、configファイルの設定例を示します。
reply_to = testml@ash.jp Reply-To: address というheaderを付けます。 subject_prefix = [testml] サブジェクトに、指定の文字列を追加する処理です。 restrict_post = ファイル名 そのMLへメールを出すことができるアドレスを指定します。 ファイルに書かれたアドレスからしかpostができなくなります。 ここへML本体を指定すると、参加者しかメールを出せません。 maxlength = byte数 MLに流せるmailの大きさを設定します。defaultは40000。 |
メーリングリストに連番をつける方法です。majordomoに付属しているsequencerというプログラムを利用します。 少し設定が複雑になります。
majordomoのhome(ここでは/usr/local/majordomo)下の、Toolsというディレクトリにあるsequencerをmajordomoのhomeにコピーします。 ファイルの実行権を確認しておきましょう。
Linux# cd /usr/local/majordomo/Tools/ Linux# cp sequencer ../. |
testml.seqというファイルを作り、1とだけ書いておきます。 このファイルを編集すれば、数値を初期化することも可能です。
Linux# cd /usr/local/majordomo/lists/ Linux# vi testml.seq |
rootなどで作業していた場合は、ファイルのオーナーを変更する必要があります。
Linux# chown majordom.env testml.seq |
連番をsubjectに記入するようにconfigファイルを設定します。
Linux# vi testml.config |
以下が、configファイルの修正点です。 [testml 1]というかたちで連番がつきます。
subject_prefix = [testml $SEQNUM] |
sequencerを使うように、aliasesの設定を変更します。 なお、newaliasesコマンドを使わないと変更が反映されませんので注意してください。
Linux# vi /etc/aliases Linux# newaliases |
aliasesの修正点は以下の個所です。
testml:"|/usr/local/majordomo/wrapper resend -l testml testml-list" この行を、下記のように書き換えます。 testml:"|/usr/local/majordomo/wrapper sequencer -l testml -n -h ash.jp testml-list" |