2005-02-16

λ Ruby で RDB が必要ないウェブアプリケーションフレームワーク

ObjectStore並のOODBがRubyに実装されれば、RDBなしの世界が一気に飛躍しそうな気もする。

「オブジェクトツリーをたどった検索がオブジェクト本体をメモリに読み込まなくても高速に出来る」 みたいな仕掛けが必要。

λ [FreeBSD] Postfix + Mailman

Postfix + Mailman で利用できるよう ports から作るためには MAIL_GID=mailman の指定が必要。

実際には日本語パッチ付きの方をインストールするため /usr/local/etc/pkgtools.conf に以下のように記述した上で、 portinstall japanese/mailman でインストールした。

MAKE_ARGS = {
      '*/mailman'     => 'MAIL_GID=mailman' ,
}

この ports は、プログラムを入れるだけで Postfix, apache2 との連携部分の面倒はみてくれない。そのため GNU Mailman - インストールマニュアルの [4 インストールのチェック]から先の部分について作業する必要がある。

[7 サイトのデフォルトを点検]にあるように、 mm_cfg.py の設定をしたのだが、Postfix の virtualhost 機能によって実行したいと思い以下のように設定した。

DEFAULT_EMAIL_HOST = 'mail.mimori.org'
DEFAULT_URL_HOST = 'usenv6.mimori.org'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['mail.mimori.org']

ただ、「設定内容はすでに作成したリストには反映されません」の部分の解決に悩んだ。

結果としては bin/withlist -l -r fix_url リスト名 を実行すればよいようである。

また、FAQ 6.9. I get a RuntimeError: command failed: /usr/sbin/postalias when creating lists and Postfix is my MTA にある通り、 postaliasコマンドの実行でのエラーが発生した。

aliases関係のファイルのパーミッションの問題なのだが、これらのファイルについては bin/check_perms -f で修正してくれないため、 以下のような Makefile を作って自分用 check_perms の代わりとすることとした。

ALIASFILES=data/aliases data/aliases.db data/virtual-mailman data/virtual-mailman.db
check_perms::
      bin/check_perms -f
      touch ${ALIASFILES}
      bin/genaliases
      chown mailman ${ALIASFILES}
      chgrp mailman ${ALIASFILES}
      chmod 664 ${ALIASFILES}
      /usr/local/etc/rc.d/mailman.sh stop
      /usr/local/etc/rc.d/mailman.sh start

…やってみたら Postfix の virtualhost 機能を使うといっても、virtualhost でないpostfix本体の alias に転送するだけのルールを作るだけだった。意味ねー

設置はできたようだが、リストの管理はまだまだこれから。

[]