トップ 追記

ねこの研究室。

Courier-IMAP 公式ページ 日本語訳もどうぞ。
Courier-IMAP | LDAP | debian | distro | kernel | mac | misc | tDiary | tool
 

2005-03-14 Coueir-IMAP公式サイト日本語訳の更新

_ なんとも長いこと放置してすみませんでした。

Coueir-IMAP公式サイト日本語訳を更新いたしました。INSTALLファイルの翻訳も完成しています。様々なページでリンクされているのを見かけて、ちょっと心苦しかったのですが、とりあえず基本的な部分に関する翻訳は完成できて、一息つけました。
というか、だいぶ以前とバージョンが変わっていてびっくりいたしました。いつの間にか、認証モジュールがcourier-authlibに統合され、独立していたとは…。チェック甘過ぎですね。おそらく一番知りたい情報は認証関連の設定だと思いますので、authlibパッケージの翻訳も今後やっていきたいと思います。
なお、翻訳の質についてですが…、かなり強引なフィーリング意訳が多くなっております。一応、原文と意味論、論理構造的には一致しているはずですが、私の力が至らず独断で訳注を追加してしまった部分もあります。誤訳などを発見された方はどうぞお知らせ下さい。ここにコメントして頂けるのでも構いません。どうぞよろしくお願いいたします。(って、ここを読んでいる人は微少でしょうが…)

2004-12-16 超とても久しぶりの更新。

_ [tool] AWSTatsでGeoIP。

GeoIP(GeoIP Free)というのは初めて知った(AWSTatsの設定ファイルをざーっと見てたら発見)のだが、MaxMindという会社が提供しているツールだそうな。ホスト名またはIPアドレスから、その計算機が地球上のどこに設置されているのか(国とか)を調べるツール、並びにそのデータベースを提供している。オープンソース版と商用版が存在する(機能比較←下の方の表)らしく、商用版の方で提供されるデータベースではより詳しい情報(国だけじゃなくて、市などの解像度で提供。いくつかレベルがあるようだ。よくは見ていない)を得ることができるそうだ。

このサービスの素晴らしいところは、使いやすいコマンドを提供していること、多くの言語へのAPIを提供していることなどであろう。データベースはいちいち問い合わせるのではなくて、データベースファイルを自分の計算機にあらかじめダウンロードして利用するようだ。商用版の方にはgeoipupdateというアップデートコマンドが用意されているが、オープンソース版でも最新のデータベースファイルをhttp://www.maxmind.com/app/geoip_countryよりダウンロードすることができる。(gzip形式のファイルがそれ)

さて、こんなサービスが何の役に立つのか?ということだが、昨今ではプロバイダも.netなどの汎用ドメインを利用し始めて、特にアクセス解析の場合、どの国からのアクセスが多いのかが単にドメインを見ただけでは分からない、という話がある。うちのような個人サイトなら別にどうでもいい話だが、企業のサイトなんかではデータマイニングのための一つのキーとなるやもしれない。よう分からん。僕は単純にそこに真新しいサービスがあったから、使ってみただけ。

AWSTatsからこのサービスを利用するためには、まず、Geo::IPfree Perlモジュールをシステムにインストールする必要がある。CPANを使えば、簡単にインストールできるはず。(うちは偉大なる同志、濱野氏のサーバに間借りさせていただいているので、ホームディレクトリの下にインストールしている)ちなみにこれはオープンソース版を使った場合の話ね。商用版のアカウントをちゃんと持っている人は、Cで実装されたライブラリGeo::IP Perlモジュールをインストールする必要がある。Cライブラリを使うから、商用版の方が高速に処理ができるんだとか。そうそう上のCライブラリをコンパイルすると、先に述べたgeoipupdateコマンドとか、コマンドライン上で国情報を調べるgeoiplookupコマンドなどもインストールされる。geoipupdateコマンドは商用版のアカウントを取得しないと使えないけれど、geoiplookupコマンドは普通に使える。こんな風に。
$ geoiplookup mjm4u.net
GeoIP Country Edition: JP, Japan

材料の仕込みが終わったら、今度はAWSTatsの設定。AWSTatsの設定ファイル(awstats.hoge.conf)を開き、その下の方を見てみると、
# LoadPlugin="geoipfree"
という行が見つかるはず。このコメントを外せば、終わり。それだけ。何も後はする必要はない。商用版の場合は、
# LoadPlugin="geoip"
のコメントアウトを外せば良いだけ。もともと、AWSTatsのディレクトリの中をよく見てみると分かるけれど、geoipfree.pmというプラグインファイルが入っているんだよね。用意が良い。

で、実際にこれを使ったらどうなるのか?を右に載せてみる。同じログに大して、geoipfreeプラグインを使った場合と使わなかった場合の挙動を比較してみた、とそこまで用意してたら、素晴らしいレビュ記事になっていたことだろうが、ここでは適用後しか用意してない。ごめんなさい。まあ、とにかくテストページを見てくださいな。.netや.orgや.comといった汎用ドメインが消えて、全て正確な国名情報に変換されているでしょ?(もちろん、不明のものも若干ある)みなさんのサイトでの表示と比べてみてください。さりげなく記されているプラグイン情報にもご注目。
Advanced Web Statistics 6.0 (build 1.704) - Created by awstats (with plugin geoipfree)
まあこんな感じかな。

2004-06-13 とても久しぶりの更新。

_ [mac][tool] Mac OS Xでdjbtoolsを用いる

PowerBookにD. J. Bernstein氏のソフトウェアを導入している。使っているのは、dnscache(djbdnsに含まれるキャッシュオンリーネームサーバ)とqmailとtcpserver(ucspi-tcpに含まれるスーパーデーモン)とこれらのツールの実行を制御するdaemontools。もちろん、一人で使うPowerBookでこれらのツールを使って何の意味があるのか?というツッコミはあるだろう。正直、なんとなく使いたいだけなんだ。(qmailは送信専用メールサーバに使っている。今までは自分のサーバでPOP before SMTPで送信するようにしていたのだけれど、あまりdrac使いたくないし、という、一応説得力の無い言い訳は考えてある)

_ [mac][tool] djbdns & daemontools for Mac OS X

上記、リンクはdjbdnsとdaemontoolsのバイナリ(Mac OS X 10.3対応版)配布ページ(@無料プロバイダSoloot)。これは大変、便利で嬉しい。嬉しさまぎれに余計なことをひとつ付け加えると…、無料プロバイダってまだあったんだ。(この手のビジネスは衰退した、と勝手に思い込んでいた。うーむ、勘違い)これらのパッケージをインストールして、さくっとキャッシュオンリーDNSサーバを立てる。別に名前解決が、実感できるほど速くなるわけではもちろんないけれど。

_ [mac] Mac OS Xでプロセス実行用のユーザを追加する

qmailをインストールするためには、事前に2つのグループアカウントと7つのユーザアカウントを作成する。これらのアカウントはqmailを構成するプロセスの実行者となるためのものだ。で、いつものように、groupaddコマンドとuseraddコマンドを使って…、って、ないじゃん。そっか、Mac OS Xは内部のnetinfodでアカウントなどを管理しているのであった。(LDAPを使うときに色々と調べたのを思い出す。あの日々がもう遠い昔に思える)/Applications/Utilities/Netinfo Managerを使って、グループアカウントとユーザアカウントを追加する。といっても初めてだったので、手探り。なんだ、そうか、単なるLDAPディレクトリじゃないか。LDAPディレクトリのGUI操作ツールと思えばいいのだ。既に追加されているユーザやグループを参考にしながら、ほいほいと以下のアカウントを追加した。

  • グループアカウント
    • nofiles(gid: 300)
    • qmail(gid: 301)
  • ユーザアカウント
    • alias(uid: 301, gid: 300, home: /var/qmail/alias)
    • qmaild(uid: 302, gid: 300, home: /var/qmail)
    • qmaill(uid: 303, gid: 300, home: /var/qmail)
    • qmailp(uid: 304, gid: 300, home: /var/qmail)
    • qmailq(uid: 305, gid: 301, home: /var/qmail)
    • qmailr(uid: 306, gid: 301, home: /var/qmail)
    • qmails(uid: 307, gid: 301, home: /var/qmail)
以上のアカウント名はいわずと知れたqmail本の名著「qmailで作る快適メールサーバー」(秀和システム)を参考にした。というか、どうも慣習的にこれらの名前を使うみたいね。

_ [mac][tool] qmailにあてるパッチ。

初めに断っておくと、qmailをMac OS X(僕の環境は10.3.4)でコンパイル(make setup check)しようとすると、dns.cでコンパイルエラーが生じる。これは大変。この問題はGururi氏の日記でも触れられていて、ありがたいことにこれを解消するパッチもPanther用Jaguar用の両方とも配布してくれている。多謝。また、日付の表示を地方標準時にするqmail-date-localtime.patchとこのパッチ自体の問題点を解消する(前述のqmail本を参照のこと)パッチqmail-qread-date-localtime.patch(配布サイトははまの氏のqmail本サポートページ)をあてた。あとは適当にちゃっちゃっちゃと。

_ [tool] qmailの自動起動はどうしよう?

考えてみれば、仕事をやめてからUNIX系のソフトウェアとかに触れる機会がとんとなくなったので、Mac OS Xもなかなかに内部の構造とかは掴めていない。(興味がなくなったことはとても哀しいことだなぁ)おかげでサービスの自動起動の仕方もようわからんちん。tcpserver->qmail-smtpdとqmail-sendをどう起動させたものか…。めんどいので、全部、daemontoolsに任せることにした。それが一番手っ取り早いだろう。

_ [misc] デスクトップに彩りを。

僕は今まで壁紙というものが大嫌いでいつも無地の画面を使っていたのだけれど、無地もなんだか味気ないし、最近は綺麗なおねーちゃんも見てないし、�ぁ〜〜(注:荒ぶる魂の叫び。止めても無駄)、と、いうんで、この2つの問題を解決するために綺麗なおねーちゃんの壁紙を探すことにした。(なんとも情けない。笑)うーんうーん。綺麗なおねーちゃん…。お!ここは良い。というので、見つけたサイトを挙げておく。

Sexy Desktopって、なんて直裁的なネーミングだろうねぇ。ほんと。映画「タキシード」でジャッキー・チェンと共演したジェニファー・ラブ・ヒューイットやアリー・マイ・ラブでおなじみ(ハリソン・フォードの愛人でおなじみ、かもしれない)のキャリスタ・フロックハート(あれで今年40歳だから泣けてくるよなぁ。なんとも口元が可愛らしい)、それからよくしらないけれど感動的に可愛らしいサラ・ミシェル・ゲラーとかいう人の壁紙を落としてみた。うん、悪くない。とても悪くない。が、気づいたけれど、結局のところ、作業をするときにはウィンドウに埋め尽くされているわけで、まじまじと壁紙に魅入っている暇などそもそもないという…。つまらん。


2004-04-11 Kernel 2.6.4 on Debian sid

_ BIND9 Problem

BIND9をインストールして起動しようと思ったらうまくいかない。 named: capset failed なんていうエラーを吐いて動かない。ちょっと調べたら、

# modprobe capability
# /etc/init.d/bind9 start
でうまくいくことが分かった。どうもカーネルを2.6にしていることと関係があるようだ。確かに2.6系カーネルのコンパイルオプションでなんかcapabilityがうんちゃらかんちゃらという話があった。よく分からない。が、うまくいったことだけ記しておこう。誰か知っている人はいませんか?

2004-04-05 勝利の雄叫び。

_ この瞬間はやはり他に類を見ない快感だと思う

いや、単にSamba3+LDAPでSamba認証が初めて通っただけなんですけれどね。仕事ですぐに使うというのにぎりぎりすぎ。(秘密厳守)昔、Samba+LDAPを試したときはPAM経由での連携をやったのだけれど、もうだいぶ前から直接LDAPとの通信ができることは分かっていたのよさ。今回、試してみたら泣きたくなるくらいに右往左往してしまった。うおうさおう。昨日のと併せてきちんといつかメモに残そう。世間的には当たり前のことをやっていそうだけれど…。


2004-04-04 奥が深いぜ…、sendmailってやつぁ。

_ [tool] 宛先の変換チェック

こんなコマンドの使い方があったこと忘れてた…。
# sendmail -d0.1 -bv ldapalias
Version 8.12.10
Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS USERDB USE_LDAP_INIT
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = spica
(canonical domain name) $j = spica.home.mjm4u.net
(subdomain name) $m = home.mjm4u.net
(node name) $k = spica.home.mjm4u.net
============================================
root... deliverable: mailer local, user root
me@mjm4u.net... deliverable: mailer esmtp, host mjm4u.net., user me@mjm4u.net

_ sendmail de ldap-routing&alias

やっとこさ、満足のいくやり方が分かったのでメモ書き程度にまとめておく。が、一眠りしてから書くことにしよう。


2004-03-27 不本意ながらURLメモだけ。

_ [misc] 結局のところ。

泥臭いトラブルだらけの大規模システムと戯れないとLDAPのありがたみは分からないのだろう。僕は願い下げ。

_ [LDAP] ちなみに。

上のONLamp.comの記事で紹介しているメールルーティングの方法だが、実際にLDAPに登録するデータが
dn: uid=kathy, dc=wrotethebook, dc=com
objectClass: inetLocalMailRecipient
mailLocalAddress: kathy@rodent.wrotethebook.com
mailRoutingAddress: kathy@chef.wrotethebook.com
の様に書かれているが、オブジェクトクラス inetLocalMailRecipientは、補助型(AUXILIARY)クラスなので、この部分のみをLDAPに格納しようとするとLDAPサーバに文句を言われる。LDAPのオブジェクトクラスは、補助型(AUXILIARY)・構造型(STRUCTURAL)・抽象型(ABSTRACT)に分かれる。全てのエントリは必ず構造型オブジェクトクラスに属する必要があるので、上のLDIFデータは誤り。とはいっても、ONLamp.comの記事は重要な部分だけを抜き出しているのかもしれないけれど。斜め読みして、上のデータのまま格納しようとしたら、エラーが出て、お手上げになってしまった。表示されたエラーは下のようなもの。
ldapadd: update failed: uid=mjm4u.net,dc=home,dc=mjm4u,dc=net
ldap_add: Object class violation (65)
        additional info: no structural object class provided

_ [LDAP] LDAPのおすすめ書籍。

LDAPハンドブック 〜ディレクトリ・サービス標準プロトコル〜
ソフト・リサーチ・センター刊 ISBN4-88373-162-6
OpenLDAPは良くできていて、操作をするのは(慣れれば)非常に簡単。実際にデータを格納して利用する段階になって必要となるのは、操作法よりむしろLDAPスキーマに関する基本的な概念・制約だったりすると感じる。そういう点でこの本は概念を図を用いてわかりやすく伝えている。また巻末の方にある代表的なオブジェクトクラス・属性型・属性構文などをまとめた資料がとても良い。おすすめです。

2004-03-22 Cyrus -> Courier-IMAP

_ [misc] 久しぶりの更新

tDiaryのユーザ名とパスを忘れてしまうほど(覚えてたけど)、更新が空いてしまった…。ちょっと最近やったことを簡単にまとめておく。

_ [tool] 「送信済み」ログを残すWebメール:SquirrelMail

Webメールは大学で提供しているものの他(それすらほとんど使わなかった)、あまり使ったことはなかったのだが、最近のはかなり進歩してきているようだ。特にオープンソースのものの機能がかなり充実してきている。(何を今更的な話だが)SquirrelMailはRed Hat系のLinuxには標準でRPMパッケージとして提供されているようだし、Debianでは言わずもがな、とにかく利用しやすい。そして、ここ何日か請けおった仕事では、「送信済み」のログが残せるWebメール環境が欲しかったのだが、SquirrelMailを使ってみたら、当たり前のようにできる。というか、他のWebメール環境を単に僕が知らなさすぎただけかもしれない。とにかく、よい。 ところで、Courier-IMAPの開発元では、SqWebMailというWebメールソフトを開発しているようなのだが、SquirrelMailとはどういう関係なんだろうか?ちょっと調べてみたところ、関係なさげだった。というか接頭辞が一緒なだけに結構比較される機会が多いようだ。大きな違いとしてはメール取得のために、
  • SqWebMail : Maildirを直に見に行くことができる
  • SquirrelMail : IMAPコネクションを確立して取得
という感じのようだ。まあ、SqWebMailとCourier-IMAP、作ってる人と一緒だもんな。(SamさんはMaildir形式onlyな感じらしいし)別ホストでWebメールを提供する場合やMaildirを使えないMTAと連携する際にはIMAPを通じて、SquirrelMailを使うべきなのだろうなぁ。

_ [tool] Cyrus IMAPのメールボックス形式

それはさておき、世の中のMTAやサーバサイドMUA(POP3サーバとかIMAPサーバの総称として僕はこの単語を使っている。ただ、人によって使い方はまちまち)は色々なメールボックスの形式を用いている。Cyrusの場合はMTAとIMAP/POP3サーバを兼ねているらしく(きちんと使用したことがないのだが)、伝統的なUNIX mbox形式でもなく、Maildir形式でもない特殊なメールボックス形式を採用している(ように見える)。具体的には、

/var/imap-spool/user/(userid)/ ----- ./(受信箱)
                             |`----- sent-mail/(送信済み)
                             |`----- trash/(ゴミ箱)
                              `----- drafts/(下書き)
という4つのディレクトリの中に、4., 5., 6.という風([数字].)に1メール1ファイルの形式でメールが配置されているようだ。(僕が見たCyrusの設定が単にそうなっていただけなのかもしれない)

_ [tool] で、本題はここから。

やりたいことは、Cyrusを用いたWebメール環境から、Postfix+Courier-IMAP+SquirrelMailの環境に移行するということだ。IMAPを使う場合には、多くの人がご存じのように、受信箱だけではなく、送信済み、下書き、ゴミ箱(上のつたない図で書いてある特殊メールボックス)が存在しうる。受信箱のデータだけを移行するのであれば、fetchmailを使えば、さくっとできあがる。(実は、fetchmailも今まで使ったことがなかったけれど、「FetchMailの導入」などを参考にしてみると、うまい具合にメールを一括して取り出すことができて便利)だが、問題は受信箱以外のメールボックスである。Webメール環境だけでなく、Becky!などのメーラからIMAP環境を利用している人ならば、ユーザ側で送信済みメールなどの情報をバックアップできる。Webメールのみ提供されている場合、これは難しい。つまり、要件をまとめると、(どうでもいいが、今、リビングでパパがニュースステーションを見ながら大笑いして咳き込んでいる…。なんか情けないぞ)
  • Cyrus -> Postfix + Courier-IMAP + SquirrelMailに移行する
  • ユーザのメールを(受信箱以外のメールボックスも含めて)移行する
さあどうする?

_ [tool] 解決法・データ移行スクリプトを自作する(めんどくさいことは変わりなかった)

上記の事情から、fetchmailによるコピーだけでは無理。仕方ないので、上でまとめたCyrus IMAPサーバのメールボックスの形式を考慮して、Courier-IMAPから見ることができるようにメールデータをコピーした。やってることは単純で、単にファイル名を変えてコピーするというだけ。もしかしたら、fetchmailを使って、INBOX(受信箱)以外のメールボックスも受信できるかもしれない。が、スクリプトを作る方が簡単だった。使い回しができるスクリプトだと思うので、もう少しだけ修正して公開できたらと思っている。

_ [misc] それにしても。

最近はほとんどOSS系のことに手を付けてないというか、興味アンテナの方向が別を指していますなぁ。おもしろいことがないんだもん。ちょっと前の記事にあるCKパッチの話とか既に頭から抜け落ちていたし(笑)2.6系のカーネルとか一体、今どうなってるんです?


2003-10-20 細々とした更新について。

_ [Courier-IMAP] 更新告知。

まるで樽の中に詰められたウィスキーのように放置プレイ気味なCourier-IMAP公式サイト日本語訳のページですが、最新のページ内容への更新とINSTALLファイルの日本語化を少しだけ進めました。INSTALLファイルについては、まだCourier-IMAPの認証モジュールの解説など重要な部分についての和訳が完成していませんが、一念発起した管理人はなんとか今月中には完成させようと意気込んでおります。もし、ご覧になった方で感想・ダメだしなどを発見された場合には、どうかme-oss[:at:]mjm4u[:dot:]net宛(at, dotは適当に置き換えて下さい)にメールでその旨をお知らせくださいまし。また、上記のページはまだ正式な公開には至っておりませんので、アクセシビリティの点で非常に問題がありますが、どうかご容赦くださいまし。


2003-10-17 PowerBookがやってきた。

_ [mac] PowerBook G4

あぁ…。とうとう、ついに…、やっと巡り会えた…。今まで僕は遠巻きに見ていたまばゆい機体。背中に輝くりんごのエンブレムから溢れるとめどない期待。うーん。すばらしい。これがとうとう、僕のものになった。しばらくは睡眠時間削られるな。