金曜日に小学校以来の友人と飲んだのだが、その席で「連絡用のメーリングリストが欲しいね」と言う話になった。
そんじゃ入れてみますか、と気軽にはじめてみる。
個人的な趣味で、メールサーバーとしては sendmail はあまり好きでないのでqmail を入れている。
sendmail は設定ファイルがややこしくなりすぎ、常人に理解できるものではない。
設定を簡単にするツールもあるが、そのツールのための設定ファイルもそれなりに難しい。
設定を簡単にするツールを簡単にするツール、なんてものまであるが、そんなものを使うくらいなら qmail を使う。
で、qmail で使える ML ソフトを探してみると、qmail の作者(D.J.Bernstein)が作ったEZMLMと言うのを見つけた。
qmail の好きなところは、その簡素さと拡張性の高さにある。まさにハッカーの仕事だ。そして、それを見事なまでに活用して簡素で強力な ML ソフトを作っているあたり、さすがは作者純正と言うところ。
しかし、インストールは一筋縄では行かなかった。
qmail の設定で virtualhost (1台のコンピューターで、何台分ものメールサーバーの働きをさせる設定)を使っていたのだが、これは EZMLM とは相性が悪いようなのだ。
少なくとも1つのドメインでは、virtualhost を使わないでメールを受け取る必要がある。…というか、普通はそのように設定するのだが、virtualhost を使ったほうが設定が楽だったので手を抜いていたと言うのが真相だ。
仕方ない。真面目にメールを受け取ろう、と思ったが、簡単ではなかった。
メールを受け取るためには、メールサーバーの設定だけではだめで、DNS のほうにも設定が必要なのだ。
DNS サーバーには BIND を使っている。もっとも、家庭内 LAN のためだけだが。
(実際の公開ドメイン名の DNS は、ダイナミック DNS サーバを使用している)
これをちょいちょいっと直して…いる間に、ふと気付いた。
うちにはサーバーが2台ある。1台は公開サーバー兼ルータ兼ファイアーウォール、もう1台は仕事実験用だ。
DNSは仕事実験用サーバで動かしていて、メールサーバーはファイアーウォール上で動かしている。
しかし仕事実験用は、実験用なので時々リセットする。リセットしている間は DNS は動かない。
メールサーバーが DNS に依存するということは、動作が不安定になってしまうということだ。
解決法はただ一つ。DNS の二重化だ。
というわけで、たかが家庭内 LAN の DNS を二重化することに決定。
しかし、BIND の設定は結構面倒くさい。1台でも面倒なのだが、二重化するのはさらに面倒くさい。
そこで DNS も入れ替えることにする。またまた qmail と EZMLM の作者 DJB が作った djbdns だ。
djbdns を動かすには、daemontoolsが必要となる。これまた DJB の作品だ。
…なんだか、どんどんディレクトリ構成が DJB の思う壺になっていっている気がする。
しかし、これはこれで悪い気がしない。DJB のソフト群は、どれも理にかなっていて使いやすいのだ。
BIND を設定したときは、資料に書いてあるとおりに打ち込んで、ちょっと手直ししただけだった。
しかし、djbdns は資料が少ないこともあって少し時間がかかった。その分、DNSの動作について理解が深まるという効果があったが。
このあと、EZMLM にパッチを当て、強化版の EZMLM-idx にして、無事 ML を立ち上げることが出来た。
ML を立ち上げたい、というだけで、qmail の設定を変えて DNS サーバーまで入れ替えることになったが、それだけの価値はあったように思える。
sendmail や BIND では、設定が「ややこしい」がゆえに、便利な設定例がネット上にたくさん転がっている。
内容をよく理解しないで、それらの設定を適当に手直ししただけで使えるのはありがたいかもしれないが、応用はまったく利かない。
qmail や djbdns では、設定例があまり見当たらないので一見難しく見える。
しかし、実は簡単すぎて設定例を言うまでもない、と言うのも事実だったりする。
UNIX 使いで、sendmail や BIND の設定・セキュリティーホールの多さに困っている人は DJB のソフトを試してみるといい。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |