Trac でダイジェスト認証 :-(

今日は頑張って Trac をインストールしました。インストール自体はすんなりいったのですが、ユーザーを作って認証をかけるようにしようとした所で思いっきり躓きました。 .htdigest 、 .htaccess 、 .htpasswd などなど聞いたこともない用語が飛び交っていて、しかも当然の知識であるかのごとく説明がほとんどされていない。まぁ、 Webサーバーといえば IIS しかほとんどさわった事がないので、 Apache などでは普通の話なのかもしれません。

で、いろんなサイトを飛び回ってかき集めた情報で認証をかけるのが成功したのでメモです。

まず、ダイジェスト認証用のユーザーが定義されている .htdigest を作ります。作成するには Apacheに付属するhtdigestコマンドを使って作成します。

"C:\Program Files\Apache Group\Apache2\bin\htdigest" -c .htdigest "trac" username

もしくはここのスクリプトを使わせてもらって

htdigest.py -u username -r realm >> .htdigest

ってな風にします。これで .htdigest ファイルは完成です。
そうやって作った .htdigest ファイルを適切な位置(私の場合は Web アプリケーションのルートのフォルダに配置しました)に配置して、以下のようなコマンドで tracd を起動します。

python tracd --port 8000 --auth fooproject,C:\trac\projects\fooproject\.htdigest,fooproject c:\trac\projects\fooproject

ちなみに --auth の最初の引数はアプリケーションルートの値です。