02) FMLメーリングリストの追加
メーリングリスト作成
メーリングリストの作成は、「fml」ユーザーで行う必要があります。まず、以下コマンドで、「fml」ユーザーに変更してから、作業を行って下さい。
# su fml <Enter>
上記コマンド実行後のコマンド作業は、「fml」ユーザーとして行われる事になります。コマンド前の記号が以下のように変化する場合がありますが、問題ありませんので、ご安心下さい。
(1)メーリングリスト追加コマンドの実行
メーリングリストを作成する為のコマンド「makefml newml メーリングリスト名」を 実行して下さい。以下では、「berry」というメーリングリストを作成するものとします。
bash-3.00$ makefml newml berry <Enter>
DO "newml" for berry mailing list.
---Creating berry mailing list
directory /var/spool/ml/berry is created as UID=60001
directory /var/spool/ml/berry/spool is created as UID=60001
---Generting configuration examples.
Generate template files in /var/spool/ml/berry/
include include-ctl include-mead aliases Makefile crontab
fmlwrapper.c fmlwrapper.h
Generate qmail template files in /var/spool/ml/etc/qmail/alias/
.qmail-berry .qmail-berry-ctl .qmail-berry-default
.qmail-berry-admin .qmail-berry-request .qmail-owner-berry
.qmail-owner-berry-ctl
Update /var/spool/ml/etc/qmail/users/assign
Generate qmail template files in /usr/share/fml
You need the following rule in /var/qmail/control/virtualdomains
to use /usr/share/fml/.qmail-s-starter05:rsjp:net-* files
s-starter05.rsjp.net:fml-s-starter05.rsjp.net
Update /var/spool/ml/etc/crontab/fml
Create config.ph(/var/spool/ml/berry/config.ph):
/var/spool/ml/berry/cf -> config.ph ... Done.
Create template files for commands (help, guide ...)
help help-admin deny guide welcome confirm objective
Update /var/spool/ml/etc/aliases
The next step: update your MTA configuration. For example
% su root
# cat /var/spool/ml/berry/aliases >> /etc/aliases
# newaliases
FYI: See templates in '/var/spool/ml/berry/'
done.
上記作業後は、rootユーザーに戻った後、以下のコマンドで必ずaliasesファイルの更新を行ってください。
bash-3.00$ exit <Enter> ←元のユーザー(root)に戻る
# newaliases <Enter>
# newaliases <Enter>
(2)メーリングリストディレクトリのパーミッション変更
次に、作成したメーリングリストディレクトリのパーミッションを変更します。パーミッション変更は、ルートユーザーで行って下さい。
# su root <Enter>
上記コマンド実行後、ルートパスワード入力で、ルートユーザーに変更可能です。メーリングリストのディレクトリは、/var/spool/mlディレクトリ以下に作成されるので、ディレクトリ移動をしてから、メーリングリストのディレクトリパーミッションを「755」に変更します。
【ディレクトリ移動】
# cd /var/spool/ml <Enter>
【パーミッション変更】
# chmod 755 berry <Enter>
# cd /var/spool/ml <Enter>
【パーミッション変更】
# chmod 755 berry <Enter>
(3)スクリプトの追加
メーリングリストを作成すると、「/var/spool/ml/etc/fml/」というディレクトリが生成されます。このディレクトリに、「site_init.ph」というファイル名で以下内容のスクリプトを設置する必要があります。
viコマンドを利用して、以下内容の「site_init.ph」ファイルを、「/var/spool/ml/etc/fml/」ディレクトリ内に設置して下さい。
push(@INC, "/usr/share/fml");
push(@LIBDIR,"/usr/share/fml/module");
push(@LIBDIR,"/usr/share/fml/module/CPAN");
push(@LIBDIR,"/usr/share/fml/module/Japanese");
push(@LIBDIR,"/usr/share/fml/module/fml-devel");
1;
次に、作成したスクリプトファイルのオーナーとユーザーをfmlユーザーに変更して下さい。push(@LIBDIR,"/usr/share/fml/module");
push(@LIBDIR,"/usr/share/fml/module/CPAN");
push(@LIBDIR,"/usr/share/fml/module/Japanese");
push(@LIBDIR,"/usr/share/fml/module/fml-devel");
1;
# chown fml:fml /var/spool/ml/etc/fml/site_init.ph <Enter>
※このスクリプト追加は、一度だけ行っていただければ大丈夫です。
メーリングリストを追加する度に行う必要はありません。
(4)メーリングリストの設定作成
まず、以下コマンドで、「fml」ユーザーに変更してから、作業を行って下さい。
# su fml <Enter>
次に、作成した「berry」メーリングリストの設定作成を行います。ここでは、一般的な設定を行います。
この設定は、後から何度でも修正可能です。
以下では、コマンドメールの使用を可能にする設定を行っています。
コマンドメールの使用を可能にすると、「berry-ctl@ドメイン名」宛に、メーリングリストコマンドを記述したメールを送信することで、様々な設定が可能になります。
bash-3.00$ makefml config berry
DO "config" for berry mailing list. ---Configure berry mailing list ... ************************************************************ <<< makefml --- FML Configuration Interface --- >>> === TOP MENU === Mailing List Addresses FOR POST berry@ドメイン名 FOR COMMAND berry-ctl@ドメイン名 _______________________ 0 END 1 POLICY OF ACCESS (WHO CAN POST AND USE COMMANDS) [POST] PERMIT_POST_FROM members_only WHEN POST FROM NOT MEMBER reject [COMMAND] PERMIT_COMMAND_FROM members_only WHEN COMMAND FROM NOT MEMBER reject 2 REGISTRATION METHOD TYPE AUTO_REGISTRATION_TYPE confirmation UNSUBSCRIBE_AUTH_TYPE 3 SETTINGS AROUND COMMANDS address for command berry-ctl@ドメイン名 4 REMOTE ADMINISTRATION PERMIT ? NO AUTH_TYPE crypt 5 HEADER CONFIGURATIONS 6 OPTION 7 SECURITY & FILTERING ************************************************************ Which section? (0-7) [0] 4<Enter> ************************************************************ <<< makefml --- FML Configuration Interface --- >>> REMOTE ADMINISTRATION Do you maintain the ML in remote? NO 0 END 1 REMOTE ADMINISTRATION NO 2 REMOTE_ADMINISTRATION_AUTH_TYPE crypt 3 ADMIN_ADD_SEND_WELCOME_FILE NO ************************************************************ which (0-3) [0] 1<Enter> ************************************************************ <<< makefml --- FML Configuration Interface --- >>> Do you maintenance the ML in remote? ************************************************************ Do you maintain in remote? (y/n) [n] y<Enter> --query y/n ************************************************************ <<< makefml --- FML Configuration Interface --- >>> REMOTE ADMINISTRATION Do you maintain the ML in remote? YES 0 END 1 REMOTE ADMINISTRATION YES 2 REMOTE_ADMINISTRATION_AUTH_TYPE crypt 3 ADMIN_ADD_SEND_WELCOME_FILE NO ************************************************************ which (0-3) [0] 0<Enter> ************************************************************ <<< makefml --- FML Configuration Interface --- >>> === TOP MENU === Mailing List Addresses FOR POST berry@ドメイン名 FOR COMMAND berry-ctl@ドメイン名 _______________________ 0 END 1 POLICY OF ACCESS (WHO CAN POST AND USE COMMANDS) [POST] PERMIT_POST_FROM members_only WHEN POST FROM NOT MEMBER reject [COMMAND] PERMIT_COMMAND_FROM members_only WHEN COMMAND FROM NOT MEMBER reject 2 REGISTRATION METHOD TYPE AUTO_REGISTRATION_TYPE confirmation UNSUBSCRIBE_AUTH_TYPE 3 SETTINGS AROUND COMMANDS address for command berry-ctl@ドメイン名 4 REMOTE ADMINISTRATION PERMIT ? YES AUTH_TYPE crypt 5 HEADER CONFIGURATIONS 6 OPTION 7 SECURITY & FILTERING ************************************************************ Which section? (0-7) [0] 0<Enter> Configuration is saved in /var/spool/ml/berry/cf. Create config.ph(/var/spool/ml/berry/config.ph): /var/spool/ml/berry/cf -> config.ph ... Done. (configuration is backuped in /var/spool/ml/berry/config.ph.bak) done.
(5)メーリングリストの管理者用メールアドレス登録
メーリングリストの管理者用メールアドレスの登録を行います。fmlユーザーで行って下さい。
bash-3.00$ makefml addadmin berry 管理者用メールアドレス <Enter>
【実行例】
bash-3.00$ makefml addadmin berry admin@exmaple.com <Enter>
DO "addadmin berry admin@exmaple.com" for berry mailing list. done.
【実行例】
bash-3.00$ makefml addadmin berry admin@exmaple.com <Enter>
DO "addadmin berry admin@exmaple.com" for berry mailing list. done.
(6)メーリングリストの管理者パスワード設定
メーリングリストの管理者用パスワードを設定します。
bash-3.00$ makefml passwd berry 管理者用メールアドレス<Enter>
【実行例】
終了後は、以下コマンドで、元のユーザー(root)に戻って下さい。【実行例】
bash-3.00$ makefml passwd berry admin@example.com<Enter>
DO "passwd admin@example.com" for berry mailing list.
directory /var/spool/ml/berry/etc is created as UID=60001
Address: admin@example.com
Password:パスワード<Enter>
Retype Password:パスワード<Enter>
Passwd Changed (/var/spool/ml/berry/etc/passwd).
status ok
done.
bash-3.00$ exit <Enter>
(7)virturetableへの追記
以下のメーリングリスト情報を、ルートユーザーで、/etc/mail/virturetableに追加してください。
以下、virtusertalbeへの追記は、必ず「@ドメイン名 error:nouser User unknown」という記述の前行に行って下さい。
virtusertalbeの記述は、上の行から処理が優先されますので、キャッチオール指定以後の記述は無効化されてしまう為です。
下記青文字の部分はメーリングリスト名が入る場所です。virtusertalbeの記述は、上の行から処理が優先されますので、キャッチオール指定以後の記述は無効化されてしまう為です。
※virturetableへの記述はrootユーザーで行って下さい。
berry@ドメイン名 berry berry-ctl@ドメイン名 berry-ctl berry-request@ドメイン名 berry-request berry-admin@ドメイン名 berry-admin owner-berry@ドメイン名 owner-berry owner-berry-ctl@ドメイン名 owner-berry-ctl
※rootユーザーで行って下さい。
# vnewvirtmaps
以上で、メーリングリストの作成は完了です。
メーリングリスト運営が可能な状態となっております。
運営開始前に、以下動作確認を行う事をお薦め致します。
メーリングリストのメンバー登録(動作確認)
メーリングリストの動作確認の為、管理用メールアドレスに、メーリングリストメンバー追加のコマンドを送ります。「(4)メーリングリストの管理者用メールアドレス登録」で登録した管理者用メールアドレスから、「berry-ctl@ドメイン名」宛に、以下の内容を本文に記載してメールを送って下さい。
件名は何でも良いです。
行頭の「#」マークも必要です。
#admin pass パスワード
#admin add 追加メールドレス1
#admin add 追加メールドレス2
#end
パスワードには、「(6)メーリングリストの管理者パスワード設定」で設定したメーリングリストのパスワードを記述します。#admin add 追加メールドレス1
#admin add 追加メールドレス2
#end
上記のメール送信の結果は、「(4)メーリングリストの管理者用メールアドレス登録」で設定したメールアドレスに送信されます。
以下、送信されてくるメールの例になります。
件名:fml Command Status report (berry ML)
>>> admin pass ********
250 PASSWD AUTHENTICATED... O.K.
O.K.!
>>> admin add 追加メールドレス1
admin add 追加メールドレス1 >> $ACTIVE_LIST
admin add 追加メールドレス1 is added to the member list
>>> admin add 追加メールドレス2
admin add 追加メールドレス2 >> $ACTIVE_LIST
admin add 追加メールドレス2 is added to the member list
--berry@ドメイン名, Be Seeing You!
************************************************************
Help: berry-ctl@ドメイン名?body=help>
Unsubscribe: berry-ctl@ドメイン名?body=unsubscribe>
If you have any questions or problems,
please contact berry-admin@ドメイン名
or
send e-mail with the body "help"(without quotes) to
berry-ctl@ドメイン名
(here is the automatic reply, so more preferable)
e.g. on a Unix Machine
(shell prompt)% echo "help" |Mail berry-ctl@ドメイン名
************************************************************
メーリングリストへのメール配信
今回作成したメーリングリストの「berry@ドメイン名」宛にメールを送信する事で、追加したメーリングリストメンバー全員に配信される事になります。メンバーに配信されたメールのヘッダ情報には、以下のようにFMLシステムからのメール配信である記述が入ります。
X-ML-Name: berry
X-Mail-Count: 00001
X-MLServer: fml [fml 4.0 STABLE (20040215/4.0.4_BETA)]; post only
(only members can post)
X-ML-Info: If you have a question, send e-mail with the body "help"
(without quotes) to the address berry-ctl@ドメイン名;
help=berry-ctl@ドメイン名?body=help>
X-Mail-Count: 00001
X-MLServer: fml [fml 4.0 STABLE (20040215/4.0.4_BETA)]; post only
(only members can post)
X-ML-Info: If you have a question, send e-mail with the body "help"
(without quotes) to the address berry-ctl@ドメイン名;
help=
メーリングリストの削除
メーリングリストの削除は、fmlユーザーで以下のコマンドを実行して下さい。
$ makefml destructml メーリングリスト名
上記コマンド実行後、/var/spool/ml/以下に生成されていたメーリングリストのディレクトリ名の頭に「@」マークが付与され無効化されます。完全に削除する場合は、該当ディレクトリを削除して下さい。
