第5回 メーリングリストの構築と運用(後編)

今回はezmlmを拡張して、より高度で便利な機能を実現してみよう。ezmlmにidx-patchを当てることにより、Subjectの加工やダイジェストメールの生成などが可能になる。

鶴長 鎮一
2002/1/16

 前回は、運用規模ごとに最適と思われるメーリングリスト(以下ML)の構築方法を紹介しました。ezmlmは、大規模向けをうたいながらも導入が比較的容易であり、多くの場面で利用されています。

 管理者にとって、ezmlmは配信性能に優れ、メールループの防止機能も備えているなど使い勝手の良いものですが、MLを使用する一般ユーザーから見ると少し物足りなく感じるのも事実です。例えば、MLで流れた古いメッセージを取り出すのは1通ずつという制限があり、Subject(件名)に通し番号を振ったりML名を付加することも、メッセージのまとめ読みに便利なダイジェスト機能を利用することもできません。MLソフトとして名高いfmlやMajordomoではすでに実現されているのに、後発のezmlmに備わっていないのは残念です。しかし、ezmlmにはそれを十分に補うパッチが用意されています。

idx-patchの利用

 idx-patchは、ezmlmを拡張するパッチで、Frederik P.Lindberg氏によって開発・メンテナンスされています。このパッチを当てることで、ダイジェストリストを作成したりSubjectを加工したりできるようになります。

idx-patchのインストール

 idx-patchを

ftp://ftp.ezmlm.org/z9/infosys/mail/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz

から入手し、前回のezmlm-0.53.tar.gzと同じディレクトリに保存して以下の操作を行います。

# tar xvfz ezmlm-idx-0.40.tar.gz
# mv ezmlm-idx-0.40/* ezmlm-0.53/
# cd ezmlm-0.53
# patch < idx.patch
# make clean

 この後はezmlmのインストールと同じです。

# make
# make man

 ここで、自動応答メッセージや操作方法を案内するメッセージを日本語化するためにezmlmrcファイルをezmlmrc.jaで置き換えます。

# cp ezmlmrc.ja ezmlmrc

 最後に、前回インストールしたezmlmコマンドなどを置き換えます。

# make setup

 インストールは以上です。基本的なML作成法はidx-patchを当てる前と変わりません。

ezmlm-make 設定ファイルの保存先 /var/qmail/alias/.qmail-ML名 ML名 自ドメイン

idx-patchインストール後のオプション

 ezmlm-makeのオプションはidx-patch適応後もそのまま引き継がれます。ただし、idx-patchを適用したことで以下のように拡張されます。

-a アーカイブを保存する(*)   -A アーカイブを保存しない
-c .ezmlmrcファイルを使用する   -C .ezmlmrcファイルを使用しない(*)
-d ダイジェストを作成する   -D ダイジェストを作成しない(*)
-e 既存設定を修正する   -E 設定を新規作成する(*)
-f prefix(Subject:の見出し)を付ける   -F prefix を付けない(*)
-g アーカイブの取り出しを制限する   -G アーカイブを公開する(*)
-i インデックスを作成する(*)   -I インデックスを作成しない
-k 投稿禁止リストを作成する   -K 投稿禁止リストを作成しない(*)
-l 参加者一覧の取り出し   -L 参加者一覧なし(*)
-m 投稿を審査する   -M 投稿を審査しない(*)
-n DIR/textの編集を許可   -N DIR/textの変更不可(*)
-p 公開MLとする(*)   -P MLを公開しない
-q リクエスト形式を使う   -Q リクエスト形式を使わない(*)
-r 遠隔管理させる   -R 遠隔管理させない(*)
-s 登録審査をする   -S 登録審査をしない(*)
-t 添付文書を作る   -T 添付文書を作らない(*)
-u 登録ユーザーのみ投稿可能   -U だれでも投稿可能(*)
-V バージョンを表示する   -v バージョンを表示する
-x 特定のMIMEパートを削除する      
(*)はデフォルトで有効になっているもの

 オプションをいちべつしただけでも、fmlやMajordomoに引けを取らない豊富な機能が追加されていることが分かります。また、MLの設定を1行のコマンドラインのオプションで実現できてしまうのも魅力の1つです。

idx-patchを利用したMLの作成

 早速、次の条件でMLを作成してみましょう。

  設定ファイルの保存先: /var/ezmlm/ml2
  ML名: ml2
  自ドメイン: example.jp
  そのほかの条件: SubjectにML名を付加
MLメンバー以外の投稿を禁止

 この条件を満たすMLを作成するには、ezmlm-makeを以下のように実行します。

# /usr/local/bin/ezmlm/ezmlm-make -fP /var/ezmlm/ml2 /var/qmail/alias/.qmail-ml2 ml2 example.jp

 コマンドを実行するとMLが作成され、さらに/var/qmail/alias/に次のファイルが作られます。

/var/qmail/alias/.qmail-ml2(/var/ezmlm/ml2/editorへのリンク)
/var/qmail/alias/.qmail-ml2-owner(/var/ezmlm/ml2/ownerへのリンク)
/var/qmail/alias/.qmail-ml2-return-default(/var/ezmlm/ml2/bouncerへのリンク)
/var/qmail/alias/.qmail-ml2-default(/var/ezmlm/ml2/managerへのリンク)

 また、前回と同様に設定ファイルの保存先である/var/ezmlm/ml2のオーナーを「alias」に変更することを忘れずに行います。

# chown -R alias /var/ezmlm/ml2

 上記のファイルを直接編集することはありませんが、ml2@example.jpあてに届くメールがどのように処理されるかを知ることができます。.qmailファイルの書式と受信メールの制御方法については、連載第3回を参考にしてください。これらのファイルが保存されている/var/ezmlm/ml2には、MLの動作を制御するファイルも用意されています。直接編集することでMLをより使いやすくするファイルもあるので、ezmlm-makeで使用するオプションと併せて見ていきましょう。

 まず、使用するコマンドについて予習しておきましょう。ezmlmでは、ML登録者などのリストをsubscribersディレクトリで53のファイルに分割して保存します。viなどのエディタで管理するのでは困難になるため、次のコマンドを利用します。

# /usr/local/bin/ezmlm/ezmlm-list 対象ディレクトリ
対象ディレクトリに登録されているメールアドレスの一覧を見る

# /usr/local/bin/ezmlm/ezmlm-sub 対象ディレクトリ メールアドレス
対象ディレクトリにメールアドレスを新規追加する

# /usr/local/bin/ezmlm/ezmlm-unsub 対象ディレクトリ メールアドレス
対象ディレクトリからメールアドレスを削除する

 ezmlm-make実行時にオプションを指定することで、作成するMLの振る舞いを決められます。では、作成済みのMLの振る舞いを変えたい場合はどうしたらよいのでしょうか。その場合は-eオプションを同時に指定して、設定ファイルの上書きを行います。これを行っても、アーカイブやインデックス、ML登録者情報などは引き継がれます。

注:以降の例では、前述の仕様に従い「example.jp」を自ドメイン、「ml2」をML名、「/var/ezmlm/」を設定ファイルの保存先としています。実際には各自の環境などに応じて置き換えてください。また、すべての作業をrootで行っていますが、一般ユーザーでも手軽にMLを作成できます。ユーザー名をfoo、ML名をmlとした場合は以下のようにezmlm-makeを実行します。

$ /usr/local/bin/ezmlm/ezmlm-make ~/設定ファイルの保存先 ~/.qmail-ml foo-ml 自ドメイン

1/3

Index
実用qmailサーバ運用・管理術
Page 1
idx-patchの利用
 idx-patchのインストール
 idx-patchインストール後のオプション
 idx-patchを利用したMLの作成
  Page 2
MLをより便利に使うためのオプション用
MLに制限をかけるオプション
そのほかの制限方法
  Page 3
まとめと次回予告
設定ファイル一覧

連載 実用qmailサーバ運用・管理術


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH