メーリングリストの構築と運用(後編):実用qmailサーバ運用・管理術(5)(1/3 ページ)
今回はezmlmを拡張して、より高度で便利な機能を実現してみよう。ezmlmにidx-patchを当てることにより、Subjectの加工やダイジェストメールの生成などが可能になる。
前回は、運用規模ごとに最適と思われるメーリングリスト(以下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を適用したことで以下のように拡張されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
オプションをいちべつしただけでも、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登録者情報などは引き継がれます。
$ /usr/local/bin/ezmlm/ezmlm-make ~/設定ファイルの保存先 ~/.qmail-ml foo-ml 自ドメイン
Copyright © ITmedia, Inc. All Rights Reserved.