メーリングリスト過去ログ公開システムの導入 2002/07/18 宗近( munetika@niji-net.com ) ※この文章については慎重を期して書いていますが、各自の環境の違いにより不具合が発生する こともありえます。個人的にリスクを承知していただいてお使いください。基本的にこの文章に ついては無保証です。間違い等ありましたら訂正するように努力いたしますのでご一報いただけ れば幸いです。 0.始めに 私はVinePlusに収録されているMHonArc-2.4.6-0vl1.noarch.rpmを使用し、以下のページを参考 にして、メーリングリストの過去ログページを開設していました。 http://www.y-min.or.jp/~nob/ML/mhonarc.html  ところが、日本語で書かれたメールの一部に文字化けが発生する不具合があることがわかりまし た。(この文章を書かれた方のミスでは決してありません)  そこで、ある方に紹介していただいて以下のページの存在を知りました。 http://homepage1.nifty.com/bindi/freebsd/ml.html  このとおりに導入すれば、問題無く導入できると思うのですが、私の頭では導入に苦労しました ので、引っかかった部分などについてノウハウとして公開します。  なお、今回は普段私が使用しているVine Linux2.1.5の環境下で導入を行います。 1.fmlの導入 fmlの導入については「fmlチュートリアル」他すばらしい文書があるので割愛します。  上記にも紹介した http://homepage1.nifty.com/bindi/freebsd/ml.html から色々なところへ リンクが張られているので、参考にすると良いでしょう。  導入するfmlのバージョンについては、最新のステーブル版で良いとは思いますが、全てのバー ジョンを試していないので、ひょっとしたらバージョンによっては後述する添付したテキストファ イルの文字化け等の障害が解消するかもしれません。 なお、Linuxの一部のディストリビューションについては「フルセットアップ」を選択した場合 等、最初からfmlが導入されている場合があります。 2.MHonArcの導入 Vine Linuxでは、初期インストール時にMHonArcが導入されていませんので、VinePlusから導入 します。私の場合、Vine Linuxのミラーサイト(kddlab)から入手しました。 ftp://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/VinePlus/2.1/RPMS/noarch/MHonArc-2.4.6-0vl1.noarch.rpm  rpmコマンドを使ってインストールします。 3.MHonArcの環境設定  過去ログを公開するメーリングリストの作成済んでいますか?  メーリングリストが無いことには、過去ログの公開はできません^^;; 「fmlチュートリアル」等を参考にしてメ−リングリストを作成してください。  MHonArcの環境設定を行うにあたりメーリングリストは稼動中でも、まだ稼動していない状態 でもかまいません。ただし、稼動中の状態であれば過去にさかのぼって過去ログを作成する必要 が出てきます。 これからの設定については http://homepage1.nifty.com/bindi/freebsd/ml.html の「STEP3: mlist2html」以降の文章を参考にして設定していきます。 1)mlist2htmlおよびmlist2htmlの入手 上記のページよりmlist2htmlおよびmlist2htmlの入手します。2つのファイルは /home/fml/binディレクトリにでもコピーしておけばよいでしょう。内部の変数は ご自分の環境にあわせて書き換えます。そんなに難しくは無いはずです。  2つのファイルとも実行権限を付与しておきます。  2)メーリングリストの設定 「STEP5: fml HOOK」を参考にして、config.phを修正します。 $DISTRIBUTE_CLOSE_HOOK = q# system("/home/fml/bin/mkhtml.sh \"QuadrupleD\" $DIR/htdocs $DIR/$SPOOL_DIR/$ID $DIR"); #; $DIRについては、config.phの中でどういう値が設定されているかご覧になっていただければ 良いと思いますが、フルパス等に書き換えていただいても結構です。  system()に与えているパラメータの説明ですが   /home/fml/bin/mkhtml.sh .... mkhtml.shのフルパス   \"QuadrupleD\" .... メーリングリストの名称。index.html等のタイトルに使用される   $DIR/htdocs .... 出力先   $DIR/$SPOOL_DIR/$ID .... 入力元。ただし、$IDは投稿される度に値が変わっていくので変数のままとしておく   $DIR .... mhonarc.rcの存在するディレクトリ となります。  次に、上記の第5パラメータで指定したディレクトリに以下を参考にしてmhonarc.rc を作成します。 http://homepage1.nifty.com/bindi/freebsd/mhonarc.rc  なお、ヘッダで無視する行(の間)については、トライアンドカットで試行錯誤 して設定することになろうかと思います。設定内容を確認して本番に支障が無いと判断した時点で メーリングリストの過去ログを公開するべきだと考えます。  3)過去ログにさかのぼってHTML化する 公開前の準備と試験を兼ねて、過去ログをHTML化します。  私はPerlを熟知していないので、少々どんくさい書き方ではありますが以下のようなスクリプト を作成しました。 #!/usr/local/bin/perl for ($ID = 0; $ID < max_seqno_of_ml; $ID++) { system("/home/fml/bin/mkhtml.sh \"old kansai-oss\" /home/fml/public_html/kansai-oss \   /var/spool/ml/kansai-oss/spool/$ID /var/spool/ml/kansai-oss"); } max_seqno_of_mlは現在のseqの値です。spoolに存在するファイルの数分ループをぶん回して HTML化を行いました。あわせてmhonarc.rcで設定したヘッダの削除が行われているかどうかを 確認しました。確認が終われば、/usr/local/apache/htdocs以下等、ブラウザからアクセス できる場所にコピーしていただければと思います。 4.現状認識している注意点  今の状態で、過去ログのHTML化はうまく行っており、かつtextファイル以外の添付ファイル 以外はうまく展開されていることを確認しているのですが、なぜかtextの添付ファイルについて は、添付ファイルとされず文字化けした状態になるということを確認しています。これについて はfmlのバージョンに起因するものなのかどうか因果関係がわかっていません。