ひよっこ。

I want to…

tracのstandalone.pyでログイン機構を利用する

Posted by hikaruworld : 2009 12月 27

tracには開発用にスタンドアローンで起動可能なスクリプトstandalone.py
trac/web以下に存在しており、大変便利です。

起動は、以前も書いたように

-p 8080 /PATH_TO_TRAC_PROJECT/sample

として、-pで起動ポート番号と対象のtracプロジェクトを指定するのみというお手軽さ。

これはこれで非常に便利なのですが、
権限テストなどを行うような場合はtracのログイン機構を利用したくなります。
要するに認証情報ですね。

tracdで起動した場合、認証機構は無効になっておりLoginを押下しても以下のようなエラーが出ます。

Trac Error
Authentication information not available. Please refer to the installation documentation.
TracGuide — The Trac User and Administration Guide

そのため認証を行いたい場合は、
認証用のhtdigestを作成しておいて、起動時に以下の様に引数を与える必要があります。

-a sample,/trac.htdigest,tracd

以下は認証用のhtdigestファイルです。最後の文字列はmd5でadminというパスワードを暗号化したものです。

admin:tracd:d1d5105feef38ad528a53373c8e5d556

ちなみに、standalone.pyには他にもこんな引数が準備されています(standalone.py -hで確認)。

Usage: standalone.py [options] [projenv] …

Options:
–version show program’s version number and exit
-h, –help show this help message and exit
-a DIGESTAUTH, –auth=DIGESTAUTH [projectdir],[htdigest_file],[realm]
–basic-auth=BASICAUTH [projectdir],[htpasswd_file],[realm]
-p PORT, –port=PORT the port number to bind to
-b HOSTNAME, –hostname=HOSTNAME the host name or IP address to bind to
–protocol=PROTOCOL http|scgi|ajp
-q, –unquote unquote PATH_INFO (may be needed when using ajp)
–http10 use HTTP/1.0 protocol version (default)
–http11 use HTTP/1.1 protocol version instead of HTTP/1.0
-e PARENTDIR, –env-parent-dir=PARENTDIR parent directory of the project environments
–base-path=BASE_PATH the initial portion of the request URL’s “path”
-r, –auto-reload restart automatically when sources are modified
-s, –single-env only serve a single project without the project list
-d, –daemonize run in the background as a daemon
–pidfile=PIDFILE When daemonizing, file to which to write pid
–umask=MASK When daemonizing, file mode creation mask to use, in octal notation (default 022)

以上です。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。