majordomo install

(2001.09.30, 2002.02.16, 2006.12.09, 2007.2.24)

有名なメーリングリストmajordomoを使ってみたくなったが,インストールにてこずったので,majordomoのインストールから使いはじめまでをメモしておくことにした.また,これを機にホームページKilinにWindowsとLinuxのHOWTOシリーズを公開していくこととした.ただし,ここに書いたインストール方法が正しく安全かどうかは,よくわかりません.

(環境) Fedora Core 6, CentOS 5.2, majordomo 1.94.5

準備

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

rootになる.

$ su

パスワード(P):

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

# /usr/sbin/useradd -g mail mlist

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

# passwd mlist

ユーザーmlistに切り替える.以下では#はrootでの操作,$はmlistでの操作.

# su mlist

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

$ cd

$ cd ..

$ chmod 755 mlist

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

$ cd

$ mkdir lists

インストール

majordomo-1.94.5.tar.Zの展開

majordomo-1.94.5.tar.Z,(コピー)をmlistのホームディレクトリへコピー.

$ 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を確認.

$ exit

# /usr/sbin/vipw

mlist:x:502:12::/home/ml:/bin/bash

# su mlist

perlのpathを確認.

$ whereis perl

perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz

Makefileの修正

$ vi Makefile

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 = 12

W_PATHを修正.

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

majordomo.cfの作成

sample.cfをmajordomo.cfにコピー.

$ cp sample.cf majordomo.cf

majordomo.cfを修正.

$vi majordomo.cf

majordomoを動かすhost名

$whereami = "ws.u-shizuoka-ken.ac.jp";

mailing listを置く場所

$listdir = "/home/mlist/lists";

ログを置く場所

$log = "/home/mlist/Log";

sendmailの場所

$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で

$ make wrapper

rootで

$ exit

# make install

errorが出た場合は

# make clean

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

# make install.

rootで

# make install-wrapper

mlistに戻る.

# su mlist

/home/majordomo-1.94.5に移動.

$ cd /home/majordomo-1.94.5

sequencerをコピー.

$ cp Tools/sequencer .

installのテスト

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

$ ./wrapper config-test

このように表示されればOK.

sendmailの調整

Fedora Core 6付属のsendmailの標準設定ではローカルからのメールしか受信を受け付けないように設定されているので,外部からのメールも受け付けるようにsendmail.mcを変更し,sendmail.cfに反映する.

rootで設定ツールsendmail-cfをインストール.

$ exit

# yum install sendmail-cf

sendmail.mcを変更.

# cd /etc/mail

# vi sendmail.mc

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

「,Addr=127.0.0.1」をトル

local-host-namesファイルにドメインを追加.

# vi local-host-names

ws.u-shizuoka-ken.ac.jp

sendmail.cfを作成.

# mv sendmail.cf sendmail.cf.org

# m4 /etc/mail/sendmail.mc > sendmail.cf

sendmailを再起動.

# /etc/rc.d/init.d/sendmail restart

aliases

/etc/smrsh/ に,wrapper のシンボリックリンクを張る.

# ln -s /home/majordomo-1.94.5/wrapper /etc/smrsh/wrapper

aliasesファイルの末尾にmajordomoを追加.

# vi /etc/aliases

majordomo: "|wrapper majordomo"

majordomo-owner: mlist

owner-majordomo: mlist

aliasesの変更を有効にする.

# newaliases

動作テスト

以上でインストール終了。 majordomo@ws.u-shizuoka-ken.ac.jp宛てに本文がhelpのメールを出して動作を確認.

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

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

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

aliasesファイルを編集.

# vi /etc/aliases

test: "|wrapper resend -l test test-list"

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

owner-test: mlist

test-owner: mlist

test-request: mlist

aliasesの変更を有効にする.

# newaliases

rootをlistsへスイッチ.

# su mlist

$ cd

$ cd lists

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

$ ls -l test

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

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

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

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

  • 容量制限の緩和.

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

  • 件名がないメールへの対応

  • 返信時に[リスト名:連番]がいくつも重ならないようにする.

/etc/aliasesファイルをrootで編集.

# vi /etc/aliases

#test: "|wrapper resend -l test test-list"

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

aliasesの変更を有効にする.

# newaliases

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

# su mlist

$ vi test.config

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

subject_prefix = [test:$SEQNUM]

容量制限の緩和.

maxlength = 40000000

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

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

sequencerの書き換え.

# su mlist

$ cd /home/majordomo-1.94.5/

$ vi sequencer

#198行目をコメントアウトして,書き換え.

# $subject = $foo . "Message for " . $opt_l;

$subject = "Subject: " . $foo . "Message for " . $opt_l;


#155行目 while (<STDIN>) { と 156行目 print IN $_; の間に以下を挿入

if (/^Subject:/) {

s/R[eE]\:.*[\(\[].*\d+[\)\]]/Re\:/;

s/R[eE]\:\s+R[eE]\:/Re\:/g;

}

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

参考

  1. Majordomoのホームページ (http://www.greatcircle.com/majordomo/)2002.2現在

  2. How to use majordomo (http://www.y-min.or.jp/~nob/ML/)2002.2現在

  3. Majordomo+Distribute のインストール(http://www.ipc.hiroshima-u.ac.jp/hinet/admin/6.3.html)2002.2現在

  4. Majordomo Install(http://www.islab.is.tsukuba.ac.jp/~koni/Koni/majordomo.html)2002.2現在

  5. 東葛パソコン研究会Linux 研究室(http://www.big.or.jp/~junji/)2002.2現在

  6. Sendmailによるセキュアメールサーバ構築(http://www.stackasterisk.jp/tech/systemConstruction/sendmailSec01_01.jsp) 2006.12現在

  7. MailingListサーバ Majordomo(http://www.unix-power.jp/linux/redhat/majordomo.html) 2006.12現在