Home Sweet Home LANLAN Project



1997年2月上旬某日(火)
さて、家庭内 WWW Server が立ち上がったのに、なんにも内容がないのはかなりさびしい。
内容をでっちあげる準備に入る。

MHonArc はメールボックスの内容を HTML 化してくれるツール(のようだ。)
試しに導入するぞっ!ということで、まず、http で取りに行く。

MHonArc のホームーページには、詳細なドキュメントや変換後のサンプルがあって、イメージがつかみやすい。かなり○。

MHonArc の導入はけっこう簡単。圧縮を解いて、README を読んだら、

  • perl install.me

で対話的なインストールができると書いてある。分からなかったら、とりあえず ただ Enter していけば、デフォルトで設定する!(笑)

これはいいっ! こういう、インストールって UNIX 界じゃ珍しいのじゃないかしらん? というわけで、インストールはしごく簡単。(これに比べたら、INN の問題児ぶりは・・・。)

だけど、ここで問題がある。それは、言わずと知れた「日本語」処理の問題なんだわ(^=^;)
メールを HTML 化する以上、しかも、日本語を使う以上、やっぱり、日本語コードと MIME 問題は避けてとおれないやうな気がする・・・。
が、紫野は論より run な奴なので、無視して、 quick start してしまう(爆)

手近なメールボックス(この場合、shino の)を適当なディレクトリを作成してコピーしておく。んで、

  • mhonarc -mbox /home/test/mbox

ををっ! mhonarc がメールボックスを読み込んで、ハードディスクがガシガシ言っている。MHonArc は変換したメッセージの個数を教えてくれて終了した。
ディレクトリの中身をのぞいてみると・・・できてるできてる。たくさんの HTML ファイルだ。

ここで、出来上がったファイルを「はるか」の Netscape/2 から読み込んでみると・・・うわわわっ!化けとる化けとる、化けまくりだわぁぁぁ(号泣)

さて、ここで対策を練る。

まず、日本語コードの問題。
う〜、やっぱり、euc にしといたほうがいいんだろうなぁ。あとで検索できるようにするためにも、統一しといたほうがいいと思うし(<って、検索ができるようになるのはいつのころやら。)そうねぇ、紫野程度の技量だと、nkf を使うことぐらいしか思いつかん(笑)

んで、mime 問題。
これは、delegate を入れたときに、ついでに mimehead というプログラムを頂いてきていたので、これを試してみることにする。これは、名前のとおり、ヘッダーの mime 部分を変換してくれるフィルター(のはず)だ。
ここは後日 nkf をヴァージョンアップした際に、nkf -m(つまり euc への変換も含めて nkf -em)としてフィルターをかませるように変更しました。

ところで、MHonArc は、mime 対応している(と書いてある。) のだけど、日本語の問題をどうすればいいのか、無知な紫野には分からない(しくしく) どなたか手をさしのべてくださいっ!

よっしゃぁ、ではパイプにかけて結果をのぞいて見ようぢゃないか!

  • cat /home/test/mbox | nkf -e | fromMime > mbox.euc
  • mhonarc -mbox mbox.euc

あんまり格好よくはないけど目的ははたしているはず。さて、どうかな?

再度、「はるか」からのぞいてみると、今度はきれいに変換されている(^_^)
これで、紫野の 家庭内 LAN もなかなかユースフルに変身だ。

が、これだけでは、いろんなメールがごちゃごちゃと HTML 化するだけで、ぜんぜん美しくないし、見通しが悪すぎる。せめてトピック別に分類したい。
んが、トピックごとにアカウントを発行して、それぞれ別のメールボックスに手動で転送した後に、さらに変換していくという手順ではちょっと悲しい。せっかく、機械を使っているというのに、家庭内手工業だもんなぁ。

そう、紫野の次なる野望は、「メールの振り分け」なのだ!

いまのところ、紫野は、shino@cristal.club.ne.jp にすべての外部からのメールを集中させるようにしている。んで、一日一回、cron の処理で popclient を起動してメールを取り込んでいる。ML ごとに外部のアカウントを変えるという手もあるが、それじゃぁお金がかかりすぎる。(でんちゃんの内部にだったらいくらだってアカウントを発行できるが、しかし、でんちゃんは炎のなかで眠るブリュンヒルデなのでお外からの付け文は届かない。)

そろそろ、メールがさばききれなくなってきている。腰を上げるなら今だ(とほほ〜)

・・・というわけで、目をつけたのが procmail なのだった(笑) procmail のお話はまた、後日。



1997年2月上旬某日(水)
さて、前々から気になっていたのだが、 お外のメールを取り込むために cron を実行しているのが root なのは、やはり気持ち悪い。shino のアカウントで実行するように変更する。

cron の設定を取り扱うのに最適のコマンドは crontab

  • crontab -l (<これは、List のLだよ)

で現在の設定状況を見ることができる。これを編集したい場合は、crontab -eを使う。紫野の場合、これで vi が立ち上がる。
ということで、

  • crontab -e (shino のアカウントで)

ファイルの中身は root で設定したのといっしょである。root の分の該当行はコメントアウトしておく。



1997年2月上旬某日(火)
さて、「設定をたく」な紫野(<だから、マイナーなOSに魅かれるんだな)の本領が発揮されてきて、またもや、我が家のでんちゃんは、なにがどうなっているのか分からない状態に陥ってしまった。うううっ、しかたがないので、ふたたび、再インストール/再設定を行う・・・。こんなんばっかだなぁ。

今回は、色気を出してX関係もインストールしておくことにした。すでにインストールは手慣れてきて鼻歌まじり(爆)。今回は、一応、kernel は、2.0.23 にまで上げることにして kernel の再構築を行っているところで、おでかけの予定の時間がやってきたっ! あらら、まだ、 zlilo の途中なんだけども・・・。
お昼寝中のお春を起こし、着替えさせて、でんちゃんはつけっぱなし(<ま、どうせ、いつもつけっぱなしなんだが。)のまま、家族みんなででかける。

帰宅後、おねんねお春をお布団に寝かせたら、ぱちりと目をあける。あちゃ〜(^=^;)。寝ぼけ眼のお春に、「ねむい?」と尋ねてみたらうなずくので、そのまま添い寝していたら、ほどなく眠ってしまった。

さぁ、設定の時間だ!(をいをい、それでいいのか? >しの?)
さて、きれいになった、でんちゃんの内部。どうせなので httpd も apache に入れ替えようかなぁ、なんて思ったが、ここは留まり、CERN httpd を導入する。

んで、本日は懸案であった diald の Version UP を行うことにした。

だから、diald Ver. 0.16 !である。

README によれば、

  1. diald Ver. 0.15 から設定ファイルの場所と名前が変更になった

  2. どうも、0.14 では diald.conf で設定していた内容がふたつに分かれたらしい。
    diald.conf の方はいわゆる、起動オプションを記述するファイル。んで、以前はいっしょに記述していた、わけわかんない部分(どんなサービスの場合接続して、どのサービスを無視するか? とか、どのサービスの場合、どれだけ接続しておくか? などなどが記述してある。)のほうは、標準だと、/usr/lib/diald/standard.filter に置く・・・と。

  3. んで、そのため、標準でいうところの standard.filter ファイルの位置を diald.conf で指定しなくちゃいけなくなった。(include)

といったところか? 紫野ははじめ、include の意味がつかみかねて、昔の diald.conf をそのまま使ったら、電話が切れなくなった(しくしく)

そういう目で読んでみれば、なるほど、そういうことかぁ、と納得。失敗は発見の母(?)

今回は、コマンドラインで指定していた部分も diald.conf に書き込んでしまうことにする。

/etc/rc.d/rc.local の方も、ただの diald に変更しておいた。

あとは、メール関係と Sambadelegate だわっ! でも、眠いから今日はもう寝る。

おやすみなさい。



1997年2月中旬某日(土)
sendmail.cf やら、Samba やら delegate を設定し、やっと元の環境に戻った(でも、delegate が cache しなくなったんだよなぁ。なんで?)。フリダシニモドル。

というわけで、今日の課題は、 procmail なんである。

procmail 自体は slackware のパッケージに入っているから、インストール自体は簡単(ヴァージョンはちょっと古くなるけどね。)
問題は設定の仕方だ(<とほほ〜)

man を読んでいても今ひとつイメージがつかめないので、どこかに資料はないもんかなぁ?とフラフラしていると、 procmail workshop というのが見つかった。 こちらは、体系的に procmail の機能と設定の仕方を説明してくれていて、とっても助かる。URL から察するに、学生さん用のマニュアルなんだと思う。(ちなみに簡単な英語で書かれています。)

う〜ん、こういうのっていいなぁ。紫野もいつかこういうのを書きたいと思うぞ。

んで、分かったのは、

メールの内容を判断して、
  • メールフォルダを自動的に振り分けることができる。
  • メールを自動的に転送することができる。
  • メールを自動的に作成することができる。
  • 任意の動作をさせることができる。

ということだった。うん、いいぞ、いいぞ。なんか、希望どおりの動作をさせられそう(わくわく)

紫野がとりあえずめざしているのは、
  • いくつかのMLに関して自動的にHTMLファイルを作成すること
  • いくつかのMLに関して自動的に、会社のメールアカウントにも転送すること

のふたつだ。というわけで、こんな感じに設定することにした。

  1. まず、HTML 化専用のアカウントを作る。これは、手動で転送したときにも MHonArc を動かすため。機能を分割しちゃったほうが後になっても分かりやすいんじゃないかな?ということで分けてしまう。(このアカウントを仮に tohtml としておく。)

    1. このアカウントでは まず、procmail で フォルダを自動的に決定して、
    2. その後、MHonArc を使ってメールを HTML 化する。

  2. 次に、プロバイダーからのメールを一括して受け取るアカウントを作る。いつも使ってるほうのアカウントでもいいんだけど、上の方針に基づいて、機能は分割することにした。(こっちのアカウントは、仮に incoming としておく。)

    1. このアカウントで popclient でメールを一括して受け取り、procmail でメールを振り分ける。
    2. ある種のメールに関しては、会社のアカウントに転送し、
    3. ある種のメールに関しては、HTML 化用のアカウントに転送し、
    4. すべてのメールに関して、紫野の通常使っているアカウントに転送する。

よしっ、やってみようぢゃないか!

まずは、自動 HTML 化に挑戦。

その1 procmail が起動するようにしよう。

まずはマニュアルに従い、tohtml のホームディレクトリに .forward を作成する。

  • "|IFS=' ';exec /usr/bin/procmail -f- #tohtml"

正直いって意味はよく分からない(<をいをい)んでも、procmail の位置は修正した。 -f- は、「from ヘッダーを変更しない」という意味であるらしい。

その2 .procmailrc を作成しよう

んで、同じく、ホームディレクトリに .procmailrc を作成する。このファイルが procmail の設定ファイルである。

作成したファイルはこんな感じ

procmail は、行動を起こすための条件を、メールの中味を読んで決定するみたい。んで、この条件は、正規表現(<この訳、きらぁい。絶対、誤解を生む表現だわよ。)で表現する。

ヘッダーを含めた頭からメールを走査していって、条件が合えば指定された行動を起こす。合わなければ、次の条件にあうかどうか見ていく。という感じだね。起こすべき行動がひとつなら、ここでおしまい。ヘッダの [:0c] というのは、同じメールを次の条件へも送る(copy)という意味になるらしい。
なんか、複写伝票みたいね。各部署で伝票をはぐっていって、そのコピーを使って各部署でそれぞれ仕事するわけ。はぐる伝票がなくなったらそこで回付はおしまいっ。(<をっ、なんかOLっぽい発言)

さて、「はるか」の AL-MAIL (フリーウェア大賞おめでとうございます。)から、適当なメールを選んで、tohtml に転送してみる。

ありっ? diald が電話かけとるぞ?? なんで?

tohtml のホームディレクトリを表示してみたら、なんかの拍子に紫野が ~/.forward ファイルに実行属性をつけちゃったみたいだ。ほほ〜、実行属性がつくと、まずいんだなぁ。(<って、そういう問題じゃないよぉ。)

chmod 600 ~/.forward してから、もう一度テスト。今度はうまくいったみたいだ。「はるか」の Netscape/2 から新しいファイルができているかどうか? と、そのファイルがちゃんと読めるのかどうかを確かめてみる。よぉっし、OK。

かなり遅くなってしまったので寝る。明日もいい日だといいね。



1997年2月中旬某日(日)
家族で大河ドラマ(今度の『毛利元就』はけっこうおもしろいね。紫野は永井路子さんって大好き。)を見たあと、お春を寝かしつけていたら、紫野まで寝てしまった(あ〜あ)

夜中に起きだして、少しだけ設定を続ける。

今日は、プロバイダーから popclient でメールを取りこんで、procmail で処理するところをやる。

まず、/var/spool/mail/incoming に popclient でメールを取り込む。これは前からやってることだから簡単。

popclient でメールを取り込んだだけでは、~/.forward に procmail を起動するように指定しても動かないようだ。sendmail 経由でないとダメなのかな?

それなら、と、man procmail の最後のほうから procmail に spool を処理させるスクリプトをコピーしてきて、こっちを起動するようにしてみる。

ふみふみ、これでOKみたいだ。んでは、crontab -e して追加しておこう。

今日の procmailrc はこんな感じ



メールください 前のページ ホームページへ戻る 次のページ


----------

・ そして、雑談の日々・・・

・ 詳しい検索方法はこちら!

ホームページのなかのフリーワード検索ができます。

Keywords:


・ Please Back to  

----------