Changes between Version 1 and Version 2 of TracStandalone
- Timestamp:
- Sep 21, 2010 6:34:08 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 を使用します。 … … 42 43 == Windows サービスとしてインストールする == #InstallingasaWindowsService 43 44 44 Windows サービスとしてインストールするには [http://www.google.com/search?q=srvany.exe SRVANY] を取得して起動します: 45 === オプション 1 === #Option1 46 Windows のサービスとしてインストールするには、 [http://www.google.com/search?q=srvany.exe SRVANY] ユーティリティを入手し起動します: 45 47 {{{ 46 48 C:\path\to\instsrv.exe tracd C:\path\to\srvany.exe … … 58 60 空白には意味があります。そのまま入力して下さい。 59 61 60 == 認証を使用する == #UsingAuthentication 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 61 74 62 75 tracd は Apache の .htpasswd ファイルを使用できます: … … 65 78 66 79 {{{ 67 sudohtpasswd -c /path/to/env/.htpasswd username80 $ htpasswd -c /path/to/env/.htpasswd username 68 81 }}} 69 82 ユーザを追加する場合は以下の通りです: 70 83 {{{ 71 sudohtpasswd /path/to/env/.htpasswd username272 }}} 73 tracd の起動オプションにファイルを指定してください:84 $ htpasswd /path/to/env/.htpasswd username2 85 }}} 86 そして、 tracd を開始します ( Windows では、--basic-auth の後の "=" を省略します ): 74 87 {{{ 75 88 tracd -p 8080 --basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname 76 89 }}} 77 90 78 79 Tracd は基本認証とダイジェスト認証の両方に対応しています。デフォルトはダイジェスト認証です; 基本認証を使用するためには、以降の例で使用する `--auth` を `--basic-auth` に置き換えて下さい。 (ダイアログに使用する "realm" を指定しなければなりません。 BASICAUTH には カンマ を末尾に指定した空の文字列を指定することができます。) 91 Trac のプロジェクトフォルダのフルパスである `/fullpath/environmentname` ではなく Trac のプロジェクトフォルダのディレクトリ名である `environmentname` を使用します。 下記のもう一つの例を参照して下さい。 92 93 Tracd は基本認証とダイジェスト認証の両方に対応しています。デフォルトはダイジェスト認証です; 基本認証を使用するためには、以降の例で使用する `--auth` を `--basic-auth` に置き換えて下さい。 (ダイアログに使用する "レルム" を指定しなければなりません。 BASICAUTH には カンマ を末尾に指定した空の文字列を指定することができます。) 80 94 81 95 ''基本認証への対応はバージョン 0.9 以降で追加されました。'' 82 96 83 認証 を使用するための一般的なコマンドは以下の通りです:84 85 {{{ 86 $ 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 87 101 }}} 88 102 89 103 オプションについて: 90 104 91 * '''base_project_dir''' はプロジェクトのベースディレクトリ; Note: これはプロジェクト名ではありません。そして Windows の環境においても、大文字と小文字を区別します。 92 * '''password_file_path''' パスワードファイルのパス 93 * '''realm''' レルム 94 * '''project_path''' プロジェクトのパス 95 96 使用例: 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 例: 97 114 98 115 {{{ 99 116 $ tracd -p 8080 \ 100 --auth=project1,/path/to/users.htdigest,mycompany.com /path/to/project1 101 }}} 102 もちろん、ダイジェストファイルは複数のプロジェクト間で共有することが出来ます: 117 --auth="project1,/path/to/passwordfile,mycompany.com" /path/to/project1 118 }}} 119 120 もちろん、パスワードファイルは 1 つ以上のプロジェクトで共有することができます。 103 121 {{{ 104 122 $ tracd -p 8080 \ 105 --auth= project1,/path/to/users.htdigest,mycompany.com\106 --auth= project2,/path/to/users.htdigest,mycompany.com\123 --auth="project1,/path/to/passwordfile,mycompany.com" \ 124 --auth="project2,/path/to/passwordfile,mycompany.com" \ 107 125 /path/to/project1 /path/to/project2 108 126 }}} 109 127 110 ダイジェストファイルを共有するもうひとつの方法は、プロジェクトの名前に "*" 111 を指定することです: 128 パスワードファイルを共有するもう一つの方法として、プロジェクトの名前を指定するところで、 "*" を使用します: 112 129 {{{ 113 130 $ tracd -p 8080 \ 114 --auth="* ",/path/to/users.htdigest,mycompany.com\131 --auth="*,/path/to/users.htdigest,mycompany.com" \ 115 132 /path/to/project1 /path/to/project2 116 133 }}} 117 `-s` パラメータを使用すると、一つの Trac environment をドメインのルートとして提供するようになり、プロジェクト名として `*` を使用せねばなりません。 118 119 == 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 120 163 121 164 もし、 Apache がインストールされているなら、パスワードファイルを生成するのに、 htdigest コマンドを使用することができます。 'htdigest' とタイプして使用方法を見るか、詳細な使用方法を見るために Apache のマニュアルの [http://httpd.apache.org/docs/2.0/programs/htdigest.html このページ] を読んでください。ユーザを作成するたびに、パスワードを入力するように求められます。パスワードファイルの名前には好きな名前をつけることができますが、 `users.htdigest` というような名前にしておけば、ファイルに何が含まれているかを覚えておけるでしょう。このファイルは <projectname>/conf フォルダに [TracIni trac.ini] ファイルと一緒に置いておくとよいでしょう。 … … 123 166 引数 --auth なしで tracd をスタートできることに注意して下さい。ただし、 ''ログイン'' (英語版では ''Login'') リンクをクリックするとエラーになります。 124 167 125 == Apache 以外の環境でパスワードを生成する== #GeneratingPasswordsWithoutApache168 === Apache 以外の環境でパスワードを生成する === #GeneratingPasswordsWithoutApache 126 169 127 170 もし Apache が使用できない場合でも、簡単な Python スクリプトでパスワードを生成できます: … … 162 205 163 206 {{{ 164 python trac-digest.py -u username -p password >> c:\digest.txt 165 tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name 166 }}} 167 168 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` モジュールを必要とします; ソースコード内のコメントに詳細が書かれています。) 169 213 170 214 md5sum ユーティリティを使用するとダイジェストパスワードを作成することができます: … … 187 231 例: ファイル名が `$TRAC_ENV/htdocs/software-0.1.tar.gz` だったとき、 188 232 対応する URL は `/<project_name>/chrome/site/software-0.1.tar.gz` となります。 189 Wiki には、相対リンクシンタックスを使用して、 190 `[/<project_name>/chrome/site/software-0.1.tar.gz]` と書くことができます。 (訳注: `[/chrome/site/software-0.1.tar.gz]` が正しい) 191 192 Trac の開発バージョンでは新しく `htdocs:` に対応します。 TracLinks は 193 上記のようなシンタックスになります。これによって、上記の例のリンクはただ単に 194 `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 で追加されました。'' 195 236 196 237 === Apache の書き換え規則を使用する === #Usingapacherewriterules … … 204 245 205 246 ---- 206 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]