Changes between Version 1 and Version 2 of TracStandalone
- Timestamp:
- Oct 12, 2010, 8:57:27 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracStandalone
v1 v2 1 = Tracd = 2 3 Tracd は軽量なスタンドアロンの Trac Web サーバです。ほとんどのケースでは [wiki:TracCgi CGI] よりセットアップが簡単で、処理速度も速くなります。 1 = Tracd = #Tracd 2 3 Tracd は軽量なスタンドアロンの Trac web サーバです。 4 Tracd は様々な場面で使用することができます。テストや開発用のサーバからロードバランサとして使用されているもう一つのウェブサーバの後段に複数のプロセスを配置するときなどに使われます。 4 5 5 6 == 利点 == #Pros 6 7 7 * 依存性が低い: Apache その他 Web サーバをインストールする必要がありません。8 * 速い: [wiki:TracModPython mod_python] バージョンと同じくらい速いでしょう。 ([wiki:TracCgi CGI] よりはずっと速い)。 9 * 自動リロード: 開発のために、 Tracd は ''auto_reload'' モードを使用しています。そのため、コード ( Trac 自身またはプラグインのコード) を更新したときに、自動的にサーバが再起動します。8 * 依存性が低い: apache その他 web サーバをインストールする必要がありません。 9 * 速い: [wiki:TracModPython mod_python] バージョンと同じくらい速いでしょう。 ([wiki:TracCgi CGI] よりはずっと速い)。そして、 バージョン 0.12 以降では、デフォルトで HTTP のバージョン 1.1 が使えるようになりました。 10 * 自動リロード: 開発のために、 Tracd は ''auto_reload'' モードを使用しています。そのため、コード ( Trac 自身またはプラグインのコード ) を更新したときに、自動的にサーバが再起動します。 10 11 11 12 == 欠点 == #Cons 12 13 13 * 機能が少ない: Tracd に実装されている Web サーバはとてもシンプルで、 Apache HTTPDのように拡張性のある設定ができません。14 * 機能が少ない: Tracd に実装されている web サーバはとてもシンプルで、 Apache httpd のように拡張性のある設定ができません。 14 15 * ネイティブで HTTPS に対応しない: 代わりに [http://www.rickk.com/sslwrap/ sslwrap] または 15 16 [http://trac.edgewall.org/wiki/STunnelTracd stunnel -- tracd と stunnel を使うためのチュートリアル] または Apache の mod_proxy を使用します。 … … 40 41 Windows でサーバを終了するには必ず {{{CTRL-BREAK}}} を使用してください。 -- {{{CTRL-C}}} を使用すると Python のプロセスがバックグラウンドで起動したままになるでしょう。 41 42 42 [http://www.google.com/search?q=srvany.exe SRVANY] などのユーティリティを使用して Windows のサービスとして起動する場合、サービスの停止や再起動では Python プロセスが残留してしまいます。代わりにシステムを再起動してください。 43 44 45 == 認証を使用する == #UsingAuthentication 43 == Windows サービスとしてインストールする == #InstallingasaWindowsService 44 45 === オプション 1 === #Option1 46 Windows のサービスとしてインストールするには、 [http://www.google.com/search?q=srvany.exe SRVANY] ユーティリティを入手し起動します: 47 {{{ 48 C:\path\to\instsrv.exe tracd C:\path\to\srvany.exe 49 reg add HKLM\SYSTEM\CurrentControlSet\Services\tracd\Parameters /v Application /d "\"C:\path\to\python.exe\" \"C:\path\to\python\scripts\tracd-script.py\" <your tracd parameters>" 50 net start tracd 51 }}} 52 53 {{{tracd.exe}}} は使用 '''しない''' で下さい。代わりに {{{python.exe}}} を直接登録し、引数に {{{tracd-script.py}}} を使用して下さい。 {{{tracd.exe}}} を使用してしまうと、 python プロセスが SRVANY の制御下ではなくなってしまうため、 {{{net stop tracd}}} を使用しても python プロセスが残留してしまいます。 54 55 Windows の起動時に tracd を自動起動させることもできます: 56 {{{ 57 sc config tracd start= auto 58 }}} 59 60 空白には意味があります。そのまま入力して下さい。 61 62 Windows 7 ユーザは、 srvany.exe は使用できないかもしれません。代わりに [http://www.google.com/search?q=winserv.exe WINSERV] ユーティリティを使用して、起動してください: 63 {{{ 64 "C:\path\to\winserv.exe" install tracd -displayname "tracd" -start auto "C:\path\to\python.exe" c:\path\to\python\scripts\tracd-script.py <your tracd parameters>" 65 66 net start tracd 67 }}} 68 69 === オプション 2 === #Option2 70 71 [http://trac-hacks.org/ Trac Hacks] より [http://trac-hacks.org/wiki/WindowsServiceScript WindowsServiceScript] を入手して下さい。 Trac のサービスを インストール、削除、開始、停止などできます。 72 73 ==== 認証を使用する ==== #UsingAuthentication 46 74 47 75 tracd は Apache の .htpasswd ファイルを使用できます: … … 50 78 51 79 {{{ 52 sudohtpasswd -c /path/to/env/.htpasswd username80 $ htpasswd -c /path/to/env/.htpasswd username 53 81 }}} 54 82 ユーザを追加する場合は以下の通りです: 55 83 {{{ 56 sudohtpasswd /path/to/env/.htpasswd username257 }}} 58 tracd の起動オプションにファイルを指定してください:84 $ htpasswd /path/to/env/.htpasswd username2 85 }}} 86 そして、 tracd を開始します ( Windows では、--basic-auth の後の "=" を省略します ): 59 87 {{{ 60 88 tracd -p 8080 --basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname 61 89 }}} 62 90 63 64 Tracd は基本認証とダイジェスト認証の両方に対応しています。デフォルトはダイジェスト認証です; 基本認証を使用するためには、以降の例で使用する `--auth` を `--basic-auth` に置き換えて下さい。 (ダイアログに使用する "realm" を指定しなければなりません。 BASICAUTH には カンマ を末尾に指定した空の文字列を指定することができます。) 91 Trac のプロジェクトフォルダのフルパスである `/fullpath/environmentname` ではなく Trac のプロジェクトフォルダのディレクトリ名である `environmentname` を使用します。 下記のもう一つの例を参照して下さい。 92 93 Tracd は基本認証とダイジェスト認証の両方に対応しています。デフォルトはダイジェスト認証です; 基本認証を使用するためには、以降の例で使用する `--auth` を `--basic-auth` に置き換えて下さい。 (ダイアログに使用する "レルム" を指定しなければなりません。 BASICAUTH には カンマ を末尾に指定した空の文字列を指定することができます。) 65 94 66 95 ''基本認証への対応はバージョン 0.9 以降で追加されました。'' 67 96 68 認証 を使用するための一般的なコマンドは以下の通りです:69 70 {{{ 71 $ tracd -p port --auth= base_project_dir,password_file_path,realmproject_path97 認証の一般的なフォーマットは以下の通りです ( 基本認証を使用したい場合、 `--auth` と `--base-auth` を置き換えてください): 98 99 {{{ 100 $ tracd -p port --auth="base_project_dir,password_file_path,realm" project_path 72 101 }}} 73 102 74 103 オプションについて: 75 104 76 * '''base_project_dir''' はプロジェクトのベースディレクトリ; Note: これはプロジェクト名ではありません。そして Windows の環境においても、大文字と小文字を区別します。 77 * '''password_file_path''' パスワードファイルのパス 78 * '''realm''' レルム 79 * '''project_path''' プロジェクトのパス 80 81 使用例: 105 * '''base_project_dir''': 下記の通りプロジェクトのベースのディレクトリを特定する: 106 * 複数のプロジェクトを立てているとき: `project_path` への ''相対パス'' 107 * 1 つのみプロジェクトを立てているとき (`-s` オプション使用): プロジェクトのディレクトリの名前 108 絶対パスを使用しないで下さい。 ''Note:'' このパラメータは、 Windows の環境であっても大文字小文字を区別します。 109 * '''password_file_path''': パスワードファイルへのパス 110 * '''realm''': realm の名前 ( なんでも指定できます ) 111 * '''project_path''': プロジェクトへのパス 112 113 例: 82 114 83 115 {{{ 84 116 $ tracd -p 8080 \ 85 --auth=project1,/path/to/users.htdigest,mycompany.com /path/to/project1 86 }}} 87 もちろん、ダイジェストファイルは複数のプロジェクト間で共有することが出来ます: 117 --auth="project1,/path/to/passwordfile,mycompany.com" /path/to/project1 118 }}} 119 120 もちろん、パスワードファイルは 1 つ以上のプロジェクトで共有することができます。 88 121 {{{ 89 122 $ tracd -p 8080 \ 90 --auth= project1,/path/to/users.htdigest,mycompany.com\91 --auth= project2,/path/to/users.htdigest,mycompany.com\123 --auth="project1,/path/to/passwordfile,mycompany.com" \ 124 --auth="project2,/path/to/passwordfile,mycompany.com" \ 92 125 /path/to/project1 /path/to/project2 93 126 }}} 94 127 95 ダイジェストファイルを共有するもうひとつの方法は、プロジェクトの名前に "*" 96 を指定することです: 128 パスワードファイルを共有するもう一つの方法として、プロジェクトの名前を指定するところで、 "*" を使用します: 97 129 {{{ 98 130 $ tracd -p 8080 \ 99 --auth="* ",/path/to/users.htdigest,mycompany.com\131 --auth="*,/path/to/users.htdigest,mycompany.com" \ 100 132 /path/to/project1 /path/to/project2 101 133 }}} 102 `-s` パラメータを使用すると、一つの Trac environment をドメインのルートとして提供するようになり、プロジェクト名として `*` を使用せねばなりません。 103 104 == htdigest パスワードファイルの設定方法 == #Howtosetupanhtdigestpasswordfile 134 135 === htpasswd パスワードを使用する === #Usingahtpasswdpasswordfile 136 このセクションでは、 `tracd` と Apache の .htpasswd ファイルの使用方法について記述します。 137 138 Apache の `htpasswd` コマンドを使用して、 .htpasswd ファイルを作成します。 ( Apache を使用せずにこれらのファイルを作成する方法については [#GeneratingPasswordsWithoutApache 下記] を参照して下さい): 139 140 {{{ 141 $ sudo htpasswd -c /path/to/env/.htpasswd username 142 }}} 143 そしてユーザを追加します。 144 {{{ 145 $ sudo htpasswd /path/to/env/.htpasswd username2 146 }}} 147 148 そして、 `tracd` をこのように起動します: 149 150 {{{ 151 $ tracd -p 8080 --basic-auth="projectdirname,/fullpath/environmentname/.htpasswd,realmname" /fullpath/environmentname 152 }}} 153 154 例: 155 156 {{{ 157 $ tracd -p 8080 --basic-auth="testenv,/srv/tracenv/testenv/.htpasswd,My Test Env" /srv/tracenv/testenv 158 }}} 159 160 ''Note:'' いくつかのプラットフォーム (OpenBSD) では、htpasswd に "-m" をパラメータで渡す必要があるかもしれません。 161 162 === htdigest パスワードファイルの設定方法 === #Usingahtdigestpasswordfile 105 163 106 164 もし、 Apache がインストールされているなら、パスワードファイルを生成するのに、 htdigest コマンドを使用することができます。 'htdigest' とタイプして使用方法を見るか、詳細な使用方法を見るために Apache のマニュアルの [http://httpd.apache.org/docs/2.0/programs/htdigest.html このページ] を読んでください。ユーザを作成するたびに、パスワードを入力するように求められます。パスワードファイルの名前には好きな名前をつけることができますが、 `users.htdigest` というような名前にしておけば、ファイルに何が含まれているかを覚えておけるでしょう。このファイルは <projectname>/conf フォルダに [TracIni trac.ini] ファイルと一緒に置いておくとよいでしょう。 … … 108 166 引数 --auth なしで tracd をスタートできることに注意して下さい。ただし、 ''ログイン'' (英語版では ''Login'') リンクをクリックするとエラーになります。 109 167 110 == Apache 以外の環境でパスワードを生成する== #GeneratingPasswordsWithoutApache168 === Apache 以外の環境でパスワードを生成する === #GeneratingPasswordsWithoutApache 111 169 112 170 もし Apache が使用できない場合でも、簡単な Python スクリプトでパスワードを生成できます: … … 147 205 148 206 {{{ 149 python trac-digest.py -u username -p password >> c:\digest.txt 150 tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name 151 }}} 152 153 Note: --basic-auth を使用したければ、 .htpasswd ファイルを作成するのに Apache サーバの htpasswd ツールを使用する必要があります。 他の部分についてはダイジェスト認証を行う場合とほとんど同じ方法です。しかしレルムには必ず empty 値 (すなわち、パス後のカンマのみ) を指定するようにしてください。 Windows で使用する場合は必ず -m オプションを使用してください。 (*nix ではテストしなかったので、その場合は不明です) Apache がない環境では、 [http://trac.edgewall.org/browser/tags/trac-0.11b2/contrib/htpasswd.py htpasswd.py] を使うとよいでしょう。 (このスクリプトは `crypt` か `fcrypt` モジュールが必要です; ソースのコメントに詳細が書いてあります。) 207 $ python trac-digest.py -u username -p password >> c:\digest.txt 208 $ tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name 209 }}} 210 211 212 Note: --basic-auth を使用したければ、 .htpasswd ファイルを作成するのに Apache サーバの htpasswd ツールを使用する必要があります。 他の部分についてはダイジェスト認証を行う場合とほとんど同じ方法です。しかしレルムには必ず empty 値 (すなわち、パス後のカンマのみ) を指定するようにしてください。 確実に -m オプションを使用して下さい。もし Apache を持っていない場合、 [trac:source:/tags/trac-0.11/contrib/htpasswd.py htpasswd.py] が役に立つでしょう。 ( このスクリプトは、 `crypt` または `fcrypt` モジュールを必要とします; ソースコード内のコメントに詳細が書かれています。) 154 213 155 214 md5sum ユーティリティを使用するとダイジェストパスワードを作成することができます: 156 215 {{{ 157 echo -e "${user}:trac:${password}\c" | md5sum - >>to-file 158 }}} 159 'to-file' は手で編集が必要です。行末の " -" を削除し、行頭に "${user}:trac:" を追加してください。 詳細は [http://trac.edgewall.org/attachment/wiki/TracStandalone/trac-digest-corrected.sh trac-digest-corrected.sh] を参照してください。 (訳注: realm が `trac` に固定されていますので、実際には改造しないと使えないでしょう)216 $ printf "${user}:trac:${password}" | md5sum - >>user.htdigest 217 }}} 218 'to-file' は手で編集が必要です。行末の " -" を削除し、行頭に "${user}:trac:" を追加してください。 160 219 161 220 == Tips == #Tips … … 172 231 例: ファイル名が `$TRAC_ENV/htdocs/software-0.1.tar.gz` だったとき、 173 232 対応する URL は `/<project_name>/chrome/site/software-0.1.tar.gz` となります。 174 Wiki には、相対リンクシンタックスを使用して、 175 `[/<project_name>/chrome/site/software-0.1.tar.gz]` と書くことができます。 (訳注: `[/chrome/site/software-0.1.tar.gz]` が正しい) 176 177 Trac の開発バージョンでは新しく `htdocs:` に対応します。 TracLinks は 178 上記のようなシンタックスになります。これによって、上記の例のリンクはただ単に 179 `htdocs:software-0.1.tar.gz` と書くことができます。 233 代わりに `htdocs:software-0.1.tar.gz` (TracLinks のシンタックス) や `[/<project_name>/chrome/site/software-0.1.tar.gz]` (相対リンクのシンタックス) で記述することができます。 234 235 ''TracLinks における `htdocs:` のサポートは Trac のバージョン 0.10 で追加されました。'' 180 236 181 237 === Apache の書き換え規則を使用する === #Usingapacherewriterules … … 185 241 Tracd は、プロジェクト毎に異なるベース URL 、および /<project> をサポートします。コマンドは以下の通りです。 186 242 {{{ 187 tracd --base-path=/some/path243 $ tracd --base-path=/some/path 188 244 }}} 189 245 190 246 ---- 191 See also: TracInstall, TracCgi, TracModPython, TracGuide, [ http://trac.edgewall.org/wiki/TracOnWindowsStandalone?version=13#RunningTracdasservice tracd.exe を Windows のサービスとして起動する]247 See also: TracInstall, TracCgi, TracModPython, TracGuide, [trac:TracOnWindowsStandalone?version=13#RunningTracdasservice Running tracd.exe as a Windows service], [trac:TracOnWindowsIisAjp], [trac:TracNginxRecipe]