fml を使ったメーリングリストの作成方法について解説していきます。ここでは、fml
のインストールから設定まで解説していきます。
|
|
■fml のダウンロード
■メーリングリスト運用のポリシー
まず、メーリングリストを運用していくにあたって大まかな運用ポリシーを考えておきます。以下は、このページで設定を行うための運用ポリシーです。
・使用するMTA はPostfix
・使用言語は日本語
・メーリングリストの名前「friend」
・fml というユーザーでメーリングリストを管理する
・メーリングリストのポリシー(以下参照)
投稿できるのはメーリングリストのメンバーのみ
メールの最大容量「2048KB」
メール爆弾攻撃の検知を有効にする
受信メールの最新NN通をログとして保存する(N は数字)
空メールや一行メールはフィルタリング(排除)する
■エイリアス設定
まず、fml の管理者ユーザーを 「fml 」とし、エイリアスとして実際に管理を行うユーザーに転送させるように設定しておきます。記述し終えたら、エイリアスデータベースを更新するために、
newaliases
コマンドを実行しておきます。次に、実際に fml ユーザーにメールを送信し、kororo ユーザーに配送されたかどうか確認しておいてください。この時点で、メールが受け取れない場合は、メーリングリストに関するエラーメッセージも受け取れなくなってしまうので必ず、メールが受け取れる状態にしておいてください。
# vi /etc/aliases
fml: kororo
# /usr/bin/newaliases |
|
■fml 用のディレクトリの作成
それでは、Postfix の設定を行っておく前に、予め fml 用のディレクトリを作成しておきます。また、fml
ユーザーとしてインストールを行うので、ディレクトリの所有権を fml ユーザーに設定しておきます。
# useradd fml
# mkdir /usr/local/fml
# mkdir /var/spool/ml
# chown fml.fml /usr/local/fml
# chown fml.fml /var/spool/ml |
|
■fml のインストール
それでは、いよいよ fml をインストールします。
# cd /usr/local/src
# tar xzvf fml-4.0-stable-20040215
# cd fml-4.0-stable-20040215 |
|
次にソースディレクトリ内にある makefml のPerl インタースクリプタのパスを各環境に合わせて変更しておきます。makefml
は、デフォルトで、「/usr/local/bin/perl 」というパスで記述されています。もし、Perl
がRPM でインストールされている場合は、makefml の一行目のインタープリタを「#!/usr/bin/perl」に変更してください。
# vi makefml
#!/usr/bin/perl |
|
最後に、Perl スクリプトでfml のインストールを行います。インストールの途中でメーリングリストの管理方法についての質問が聞かれます。管理方法には、3つの方法があり、1ユーザーで全てを管理する「
personal
」、異なるユーザーで管理する「
group」、
# su fml
$ perl makefml install
unshift(@INC, /usr/local/src/fml-4.0-stable-20040215/src)
---NOT USING configuration file (for the
first time)
THIS HOST (ns1.kororo.jp) IS [i686-pc-linux-gnu]
---Please Define Your Fml System Configurations
Personal Use or ML-Admin-Group-Shared or
fmlserv you use?
Personal, Group, Fmlserv (personal/group/fmlserv)
[personal] [
ENTER ]
DOMAIN NAME [kororo.jp]
[ ENTER ]
FQDN [ns1.kororo.jp] [
ENTER ]
EXEC FILES DIRECTORY [/usr/local/fml]
[ ENTER ]
TOP LEVEL ML DIRECTORY [/var/spool/ml]
[ ENTER ]
Language (Japanese or English) [Japanese]
[ ENTER ]
TimeZone (TZ: e.g. +0900, -0300) [+0900]
[ ENTER ]
// 日本ならば「+0900」
--- summary ---
DOMAIN: kororo.jp
FQDN: ns1.kororo.jp
EXEC_DIR: /usr/local/fml
ML_DIR: /var/spool/ml
Language: Japanese
TimeZone: +0900
04/04/14 01:31:18 makefml::mkdir /usr/local/fml/.fml
(fml)
The current configuration is saved in /usr/local/fml/.fml/system
---Install the Fml system to /usr/local/fml.
(y/n) [n] y
// 「y 」を入力
中略
-- Enjoy Internetworking! |
|
※Generate nroff manuals でフリーズする
Generate nroff manualsでフリーズする場合は、MTA (ここでは、postfix)に原因がある可能性があります。私の場合は、以下のようなエラーが発生していたので、newaliases
コマンドを実行した後、/etc/aliases を/var/spool/postfix/etc にコピーしたらそこから再度インストールが開始されました。
fatal: open database
/var/spool/ml/etc/aliases.db: No such file
or directory
warning: process /usr/libexec/postfix/smtpd
pid 28501 exit status 1
warning: /usr/libexec/postfix/smtpd: bad
command startup -- throttling |
|
■Postfix の設定
次に、Postfix の/etc/postfix/main.cf を開いてください。必ず設定しておかなければならないのは、エイリアステーブルとコマンド起動に関する設定です。最初に、エイリアステーブルの設定を行います。
# vi /etc/postfix/main.cf
alias_maps = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases
|
|
次に、以下の行を追記します。これは、エイリアステーブルから:include:命令によって取り込まれるファイルにおいて
# vi /etc/postfix/main.cf
allow_mail_to_commands = alias, forward,
include |
|
■メーリングリストの設定 [ personal ]
それでは、makefml コマンドを実行し、実際にメーリングリストの設定を行っていきましょう。書式は、
makefml
newml メーリングリスト名 です。
personal は、複数のメーリングリストを同一のユーザーアカウントで管理する方法の事で、メーリングリストを管理する際には、全て
fml ユーザーで作業する必要があります。なお、実際に作業する際には、fml ユーザーでログインするわけではなく、一般ユーザーとしてログインし、su
コマンド、もしくは、sudo コマンドを用いて作業を行うようにします。
$ su fml
$ /usr/local/fml/makefml newml friend |
|
次に、/var/spool/ml/friend/aliases に記述されている行を/etc/aliases
に追記します。念のため、/etc/aliases のバックアップもとっておきます。
# cp -p /etc/aliases
/etc/aliases.bak
# cd /var/spool/ml/friend
# cat aliases >> /etc/aliases |
|
最後に、newaliases コマンドで変更を反映させます。
■fml の基本設定
fml の設定方法には以下の3種類があります。
1. makefml コマンドでの設定変更(便利です)。
2. cf ファイルを編集する
3. config.ph ファイルを直接、編集する(手動)
config.ph
の変数定義
■fml のバックアップと復旧方法
HDD交換等の理由で メーリングリストをバックアップしておきたい場合には、
/var/spool/ml/ML名
ディレクトリをまるごと保存しておきます。復旧するには、そのディレクトリをそのまま元の位置にコピーしなおし、適切にパーミッションを設定しておけば、そのまま続きからサービスを再開させることができます。新システム導入後にやるべきことは、fml
をインストールし、「makefml newml ML名」コマンドを実行させ新規メーリングリストを作成するだけです。
■広告の挿入
% $EDITOR /var/spool/ml/elena/welcome
Copyright (C) 1999 Ken'ichi Fukamachi
All rights reserved.
■fml のディレクトリ構成
/var/spool/ml/ML名/members
/var/spool/ml/ML名/welcome
/var/spool/ml/ML名/config.ph |
|
$ /usr/local/fml/makefml
addadmin friend friend@kororo.jp
DO "addadmin friend@kororo.jp"
for friend mailing list.
done. |
|