HAYAGUI

majordomo(インストール編)

このページ内で使用しているメールアドレスは架空のものです。

はじめに

メーリングリストの方法として、
  • /etc/aliases にメール転送先を設定する
  • メーリングリストサーバ(majordomo)を導入する
の二つがあります。このページでは、FreeBSD 4.4 にメーリングリストサーバ(majordomo 1.94.5)をインストールする方法を記します。

必要なもの

メーリングリストサーバであるmajordomoを動かすには、 の二つが必要です。

majordomoは、上記からgetして適当な場所に格納してください。私は、/usr/local/ の下に置きました。 その後以下のように解凍してください。

mico# tar zxvf majordomo-1.94.5.tar.Z
majordomo-1.94.5/
majordomo-1.94.5/Changelog
majordomo-1.94.5/Doc/
...
majordomo-1.94.5/sample.cf
majordomo-1.94.5/shlock.pl
majordomo-1.94.5/todo.local
majordomo-1.94.5/wrapper.c
majordomo-1.94.5/wrapper.sh
mico#
すると、majordomo-1.94.5 というディレクトリが作成されてファイルが解凍されます。

majordomoのグループ名、ユーザ名、ホームディレクトリを決める

majordomoが動作するグループ名とグループID、ユーザ名とユーザID、ホームディレクトリを決める必要があります。 以下のようにしました。
ユーザ名 majordom
ユーザID 100
グループ名 majordom
グループID 100
ホームディレクトリ /usr/home/majordom
グループ名とグループIDを作成
/etc/group ファイルをviで開いて以下のように追加してください。
majordom:*:100:majordom

ホームディレクトリを作成
mkdir /usr/home/majordom
あと、このディレクトリ内にlists ディレクトリを作成します。(majordomo.cf に書いてある)

ユーザ名とユーザIDを作成
登録方法は、adduserかvipwで登録します。私は、adduserで登録しました。ログインしないように、vipw で、パスワードを * にしてください。
majordom:*:100:100::0:0:Majordomo:/home/majordom:/bin/tcsh

Makefileの変更

majordomoのファイルが格納されているディレクトリ(/usr/local/majordomo-1.94.5)に cd してください。 そこのディレクトリ内に、Makefileがありますので編集します。
mico# pwd
/usr/local/majordomo-1.94.5
mico# ls -la Makefile
-rw-r--r--  1 3168  staff  7342 Jan 18  2000 Makefile
mico#
編集する前に cp Makefile Makefile.sampleとしてオリジナルを保存しておくのもいいと思います。 変更する所は次の通りです。
; perl のインストール先を設定する
PERL = /usr/bin/perl
; majordomo のインストール先を設定する
W_HOME = /usr/home/majordom
; majordomo のユーザ(majordom)の USER ID と GROUP ID を設定する。
W_USER = 100
W_GROUP = 100
perl のpath は、which で探すといいでしょう。
mico# which perl
/usr/bin/perl
mico#

majordomo.cfの編集

majordomoのファイルが格納されているディレクトリに、sample.cfというファイルがありますので、 そのファイルを majordomo.cfとしてコピーしてください。
mico# pwd
/usr/local/majordomo-1.94.5
mico# ls -la sample.cf
-rw-r--r--  1 3168  staff  10462 Aug 28  1997 sample.cf
mico# cp sample.cf majordomo.cf
mico#
変更する所は次の通りです。
$whereami = "mico.hayagui.com";

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

#if ( defined $ENV{"HOME"}) {
#     $homedir = $ENV{"HOME"};
#} else {
#     $homedir = "/usr/test/majordomo";
#}
$homedir = "/usr/home/majordom";

majordomoが動くホスト名と、sendmailのパスを変更します。sendmail の path は、which で探すといいでしょう。
mico# which sendmail
/usr/sbin/sendmail
mico#
あと、ホームディレクトリのパスをこのように変更しました。 最初の通りすると、make したユーザの環境変数HOMEが使用されるからです。

インストール

Makefileとmajordomo.cfが自分の環境にあうように変更したら、 そのディレクトリ(/usr/local/majordomo-1.94.5)でインストールしましょう。
mico# pwd
/usr/local/majordomo-1.94.5
mico#
mico# make install
.....
To finish the installation, 'su' to root and type:

            make install-wrapper

If not installing the wrapper, type

            cd /usr/home/majordom; ./wrapper config-test

(no 'su' necessary) to verify the installation.
mico#
とすると、いろいろ表示されます。もしエラーになったら、Makefileとmajordomo.cfを再確認後に make clean を実行し、make install してください。それがうまくいったら、
mico# make install-wrapper
./install.sh -o root -g 100  -m 4755 wrapper /usr/home/majordom/wrapper

To verify that all the permissions and etc are correct,
run the command

             cd /usr/home/majordom; ./wrapper config-test
mico#
としてください。画面には、『cd /usr/home/majordomo して、./wrapper config-test してみてね』と 表示されるので、その通りしてみてください。
mico# cd /usr/home/majordom
mico# ls -la wrapper
-rwsr-xr-x  1 root  majordom  7294 Jan 10 23:59 wrapper
mico# ./wrapper config-test
すると、メッセージが沢山表示されると思います。正しくインストールされた場合は、 最後に Enjoy! と表示されますが、誤りがあると、間違い数を教えてくれます。 間違いを修正して /usr/home/majordomo 内のファイルを削除してからやり直してください。 /usr/home/majordomo にファイルがあると更新されないようです。 エラー内容はファイルに落としてゆっくり見てもいいです。(mico# ./wrapper config-test > out.txt)

成功すると、こんな感じです。登録しない意味で「no」したら、Ooooh って言われちゃった。

Nothing bad found!  Majordomo _should_ work correctly.

If it doesn't, check your configuration file
        (/usr/home/majordom/majordomo.cf)
closely, and if it still looks okay, consider asking the majordomo-users
mailing list at "majordomo-users@greatcircle.com" for assistance.  Be sure
and fully specify what your problems are, and what type of machine (and
operating system) you are using.

Enjoy!

I see you haven't registered this version of Majordomo.
By registering, you will be notified of patches and further releases
of Majordomo.  Shall I send email to majordomo-registration@greatcircle.com
to register this version?  (I'll cc Majordomo-Owner@mico.hayagui.com)
[yes] n
Ooooh, like to live dangerously, eh?!

mico#

aliasesの変更

majordomoを動かすために、/etc/aliasesを変更します。変更内容は、解凍先に majordomo.aliases というファイルがありますので、参考にしてください。
# majordomo 2002/01/10
majordomo:      "|/usr/home/majordom/wrapper majordomo"
majordomo-owner: kenz
owner-majordomo: kenz

test:           "|/usr/home/majordom/wrapper resend -l test test-list"
test-list:      :include:/usr/home/majordom/lists/test
owner-test:     kenz
私(管理者)は kenz というメールアドレスなので、kenz としています。パスも、ホームディレクトリに変更します。 変更したら、newaliases を実行して更新させてください。
mico# newaliases
/etc/mail/aliases: 30 aliases, longest 54 bytes, 446 bytes total
mico#

動作確認

majordomo の確認の前に、サーバが mail できる設定になっているかを確認してください。 詳しくは、こちらを参照。

動作を確認するために、majordom ユーザになってホームディレクトリの下のlistsというディレクトリに test というファイルを作成してください。
mico# su majordom
%cd
%pwd
/usr/home/majordom
%touch test
%
その後、適当なユーザからmajordomo宛てにSubject無しで、本文は lists のみのメールを出してみてください。 うまく動いている場合は、
Return-Path: 
Received: (from majordom@localhost)
	by mico.hayagui.com (8.11.6/8.11.6) id g0B9BlO02476;
	Fri, 11 Jan 2002 18:11:47 +0900 (JST)
	(envelope-from Majordomo-Owner@mico.hayagui.com)
Date: Fri, 11 Jan 2002 18:11:47 +0900 (JST)
Message-Id: <200201110911.g0B9BlO02476@mico.hayagui.com>
X-Authentication-Warning: mico.hayagui.com: majordom set sender to Majordomo-Owner@mico.hayagui.com using -f
To: kenz@mico.hayagui.com
From: Majordomo@mico.hayagui.com
Subject: Majordomo results
Reply-To: Majordomo@mico.hayagui.com
X-UIDL: G2b"!R`O"!;16"!!:C!!
X-winbiff-received-account: mico_hayagui_com
X-winbiff-flags: Seen

--

>>>> lists
Majordomo@mico.hayagui.com serves the following lists:

  test                    

Use the 'info ' command to get more information
about a specific list.
>>>> 
>>>> --
END OF COMMANDS

このようなメールが来ると思います。来ない場合は、Makefile,majordomo.cf,aliasesなどを確認してください。


戻る リスト作成編 管理編



(C)1999 - 2002 Kenji Ito All rights reserved.