サーバー構築日記へ

MHonArcの導入


 ezmlmとezmlm-idxでメーリングリストを作成したので、今度はそのMLをWeb上から確認できるようにしたいとおもってezmlm-cgiを導入しましたが、どうも使い勝手が悪い(苦笑)
 ついでにNamazuと組み合わせてML検索も導入したかったため、別のやり方でやってみることにしました。
 それで導入したのがMHonArcです。
 MHonArcはメールをHTMLにコンバートしてくれ、さらにリストを作成してくれるソフトです。
 ちなみに、このときディストリビューションをVine Linux 2.5に変更しました。その影響でhttpdのドキュメントルートが/home/httpdに変更されています。


・MHonArcの導入

 まずここのサイトで最新版をダウンロード。
 私の使用したのは2.5.3です。
 インストールの際にperl5が必要になるので、持っていなければ先にインストールしてください。

 # cd /usr/local
 # tar xvzf MHonArc2.5.3.tar.gz
 # cd MHonArc2.5.3
 # perl install.me


・MHonArcの使用法

 とりあえず# mhonarc とうってみましょう。そうするとオプションの設定がずらずらとでてきます。
 全部でこんな感じです。

 使用法としては下記のようになります。
 # mhonarc [オプション] [メールファイルのある場所]

 さて、私はsubjectにprefixが付いた状態でWeb上から確認できるようにしたいと思いました。その方がNo.もふられているしわかりやすいからです。
 けれど、/var/ezmlm/test/archive以下のファイルに直接アクセスするとprefixがつく前の状態のファイルを扱うことになります。そのため、私は一端testmail@example.comというメールアドレスにもMLを配信させ、そこに来たメールをHTML化することにしました。

 結構大量に配信されることが予想されるため、リスト化してもらう際に適度なメールの数でページ分けをして欲しいし、MLというのはヘッダが多いものなので、ヘッダもほとんどを消して欲しい。
 だいたいこのくらいのコンセプトで設定をしてみることにしました。

 # cd /home/httpd/html
 # mkdir ML
     //リストなどを生成する場所
 # mhonarc -modtime -nomailto -multipg -idxsize 20 -outdir /home/httpd/html/ML/ /home/testmail/Maildir/new/*

 これで/home/httpd/html/MLにリストなどを作成してくれます。また20通ごとにリストも別ページにしてくれます。こうしてもらわないとメールが多いとひどく大きなリストができてしまいますしね。
 最後の*ですが、普通は/まででいいはずが、なぜかうちでは*なしでは動きませんでした。何かあるのかな?

 さて、これでhttp://www.example.com/ML/にいくと、色々なファイルがずらずら並んでいるはずです。
 maillist.htmlthreads.htmlがリストファイルになっているので、見てみてください。
 さて、これでとりあえずは終了だったりしますが、メッセージを見るとヘッダが長すぎると思いませんか?
 しかしヘッダを減らすオプションというのがどれかわからなかったりします(苦笑)
 そのため、ちょっとしたrcファイルを読み込ませて、対処してみました。

 # mhonarc -modtime -nomailto -multipg -rcfile /home/testmail/test.rc -idxsize 20 -outdir /home/httpd/html/ML/ /home/testmail/Maildir/new/*

 test.rcの内容
<EXCS>
reply-to
in-reply-to
sender
to
organization
List-help
List-post
List-subscribe
List-unsubscribe
Mailing-list
References
</EXCS>

 <EXCS></EXCS>の間の名称のヘッダが取り除かれることになります。
 全部の設定をrcファイルに書き込んでそれを読み込ませればいいじゃないかという話もあるかと思いますが、そこまでするのが面倒なのでこんな感じ。

 とりあえずこのくらいで使えるのではないかなと思います。
 そのうちインデックスページを変更するために色々いじくってみるとは思いますが。

 あと、2度目以降の実行の際-add オプションをつけた方がよいです。毎回毎回全部コンバートすることが無くなり、追加されたメールのみをHTMLにコンバートしてくれるようになります。


・cronで自動実行

 さて毎回毎回手動で操作なんてやっていられません。
 ということで、cronを使用して自動実行させることにします。

 # crontab -e

 上記のMHonArcのコマンドを書き込んでおきます。

 */10 * * * * mhonarc -modtime -add -nomailto -multipg -rcfile /home/testmail/test.rc -idxsize 20 -outdir /home/httpd/html/ML/ /home/testmail/Maildir/new/*

 10分おきに実行すると言うことにしています。
 さて、こうするとcronから10分おきにメールが来ます(苦笑)うざったくてrootのメールを見る気をなくすので、cronからのお手紙を切ってしまうことにします。

 # crontab -e の一番上にでも MAILTO="" と書き込んでおきます。これでcronからのお手紙はなくなります。



・NamazuでML全文検索

 ・作成中



※参考サイト
MHonArcを使おう
procmailとMHonArcとkakasiとnamazuでメーリングリストをWeb公開&検索