majordomo install

2001.9.30

メーリングリストとして有名なmajordomoをインストールして使ってみたくなったが、相当てこずったので、majordomoのインストールから使いはじめまで公開することとした。これを機に私のホームページKilinにWindowsとLinuxのHOWTOシリーズを公開していくこととした。

(環境)Turbo Linux 4.0, majordomo 1.94.5

majordomoを動かすためのユーザーの追加

  • rootになる。

$ su

Password:

  • majordomoを動かすためのuserをつくる。所属groupはdaemon。user名は何でも可。ここではmlistとする。

# useradd -g daemon mlist

  • ユーザーmlistのパスワードを設定。

# passwd mlist

  • ユーザーmlistでlogin。以下では#はrootでの操作、$はmlistでの操作。

# exit

$ su mlist

  • ホームディレクトリの属性を変更。

$ cd

$ cd ..

$ chmod 755 mlist

  • ホームディレクトリにlistsディレクトリを作る。

$ cd

$ mkdir lists

majordomo-1.94.5.tar.Zの展開

$ ftp greatcircle.com

Name (greatcircle.com:mlist): anonymous

Password:

ftp> cd pub/majordomo/1.94.5

ftp> binary

ftp> get majordomo-1.94.5.tar.Z

ftp> quit

  • majordomo-1.94.5.tar.Zを展開。

$ tar zxvf majordomo-1.94.5.tar.Z

  • 展開したディレクトリへ移動。

$ cd majordomo-1.94.5

Makefileの修正

  • rootになってvipwでmlistのuser idとgroup idを確認。

$ su

Password:

# vipw

ml:x:530:2::/home/mlist:/bin/bash

# exit

  • perlのpathを確認。

$ whereis perl

perl: /usr/bin/perl5.00503 /usr/bin/perl /usr/man/man1/perl.1

  • perlのpathを修正。

PERL = /usr/bin/perl

  • W_HOMEを修正。

W_HOME = /home/majordomo-$(VERSION)

  • manを修正。

MAN = /usr/man

  • W_USERとW_GROUPをmlistのuser id、group idに修正。

W_USER = 530

W_GROUP = 2

  • W_PATHを修正。

W_PATH = /bin:/usr/bin:/usr/local/bin

majordomo.cfの作成

  • sample.cfをmajordomo.cfにcp。

$ cp sample.cf majordomo.cf

  • majordomo.cfを修正。

$whereami = "ws.u-shizuoka-ken.ac.jp"; (majordomoを動かすhost名)

$listdir = "/home/mlist/lists"; (mailing listを置く場所)

$log = "/home/ml/Log"; (ログを置く場所)

$sendmail_command = "/usr/sbin/sendmail";

  • archiveする場所はdefaultでは/usr/local/mail/lists/(ML).archive。

  • archiveする場所をたとえば/usr/spool/archive/以下に変更するときは

$filedir = "/usr/spool/archive/";

$filedir_suffix = "";(sufixをつけない場合)

make & install

  • mlistで

$ install wrapper

  • rootで

$ su

Password:

# make install

  • errorが出た場合は

# make clean

してからMakefileを修正して、もう一度

# make install。

  • rootで

# make install-wrapper

  • mlistに戻る。

# exit

  • /home/majordomo-1.94.5に移動。

$ cd /home/majordomo-1.94.5

  • sequencerをコピー。

$ cp Tools/sequencer .

installのテスト

  • /home/majordomo-1.94.5でインストールのテスト。

$ ./wrapper config-test

sendmail用aliasesファイルの作成

  • ユーザーmlistのホームディレクトリへsendmail用aliasesファイルをコピー。

$ cd

$ cp majordomo-1.94.5.tar.Z/majordomo.aliases aliases

  • aliasesファイルを編集。

majordomo: "|/home/majordomo-1.94.5/wrapper majordomo"

majordomo-owner: mlist

owner-majordomo: mlist

  • rootでsymbolic linkを張る。

$ su

Password:

# rm /etc/mail/majordomo

# ln -s /home/mlist/aliases /etc/mail/majordomo

# exit

  • aliasesの変更を有効にする。

$ newaliases

sendmail.cfの調整

  • rootで/etc/sendmail.cfを修正。

# override file safeties - setting this option compromises system security

# need to set this now for the sake of class files

#O DontBlameSendmail=safe

O DontBlameSendmail=GroupWritableAliasFile

O DontBlameSendmail=IncludeFileInGroupWritableDirPath

動作テスト

  • 以上でインストール終了。もうrootになる必要はない。

  • majordomo@ws.u-shizuoka-ken.ac.jp宛てに本文がhelpのメールを出して動作を確認。

  • このようなメールが返ってくればOK。

メーリングリストのテスト

  • メーリングリストを作って動作を確認する。ここではtestという名前のメーリングリストを作る。

  • mlistのホームディレクトリへ移動。

$ cd

  • aliasesファイルを編集。

test: "|/usr/test/majordomo-1.94.5/wrapper resend -l test test-list"

test-list: :include:/home/mlist/lists/test

owner-test: mlist

test-owner: mlist

test-request: mlist

  • aliasesの変更を有効にする。

$ newaliases

  • listsへ移動。

$ cd lists

  • メーリングリストと同じ名前のファイルtestをlistsのなかにつくり、メーリングリストのメンバーのメールアドレスを改行で区切って書き並べる。パーミッションは以下のようであればよい。普通にviでつくれば(ftpで転送すれば)このようになる。

$ ls -l test

-rw-r--r-- 1 mlist daemon 0 Sep 30 10:40 test

  • test@ws.u-shizuoka-ken.ac.jp宛てにメールを出して動作を確認。

メーリングリストのカスタマイズ

  • メーリングリストの調整。

    • 件名に[リスト名:連番]をつける。

    • 容量制限の緩和。

    • 返信先をメーリングリストにする。

  • 以下の作業は全てユーザーmlistでやる。

  • ホームディレクトリにあるaliasesファイルを編集。

#test: "|/usr/test/majordomo-1.94.5/wrapper resend -l test test-list"

test: "|/home/majordomo-1.94.5/wrapper sequencer -l test -n -h ws.u-shizuoka-ken.ac.jp test-list"

  • aliasesの変更を有効にする。

$ newaliases

  • listsディレクトリにできたtest.configを編集。

    • 件名に[リスト名:連番]をつける。

subject_prefix = [TEST:$SEQNUM]

    • 容量制限の緩和。

maxlength = 40000000

    • 返信先をメーリングリストにする。

reply_to = test@ws.u-shizuoka-ken.ac.jp

  • test@ws.u-shizuoka-ken.ac.jp宛てにメールを出して動作を確認。

参考