- Timestamp:
-
Oct 22, 2006, 2:09:07 PM (16 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v1
|
v2
|
|
6 | 6 | |
7 | 7 | * Fewer dependencies: You don't need to install apache or any other web-server. |
8 | | * Fast: Should be as fast as the [wiki:TracModPython mod_python] version (and much faster than the [wiki:TracCgi CGI]). |
| 8 | * Fast: Should be almost as fast as the [wiki:TracModPython mod_python] version (and much faster than the [wiki:TracCgi CGI]). |
| 9 | * Automatic reloading: For development, Tracd can be used in ''auto_reload'' mode, which will automatically restart the server whenever you make a change to the code (in Trac itself or in a plugin). |
9 | 10 | |
10 | 11 | == Cons == |
11 | 12 | |
12 | | * Less features: Tracd implements a very simple web-server and is not as configurable as Apache HTTPD. |
| 13 | * Fewer features: Tracd implements a very simple web-server and is not as configurable or as scalable as Apache HTTPD. |
13 | 14 | * No native HTTPS support: [http://www.rickk.com/sslwrap/ sslwrap] can be used instead, |
14 | | or [http://lists.edgewall.com/archive/trac/2005-August/004381.html STUNNEL]. |
| 15 | or [http://trac.edgewall.org/wiki/STunnelTracd stunnel -- a tutorial on how to use stunnel with tracd] or Apache with mod_proxy. |
15 | 16 | |
16 | 17 | == Usage examples == |
… |
… |
|
25 | 26 | }}} |
26 | 27 | |
27 | | You can't have the last portion of the path identical between the projects since that's how trac keeps the URLs of the |
28 | | different projects unique. So if you use /project1/path/to and /project2/path/to, you will only see the second project. |
| 28 | You can't have the last portion of the path identical between the projects since Trac uses that name to keep the URLs of the |
| 29 | different projects unique. So if you use `/project1/path/to` and `/project2/path/to`, you will only see the second project. |
| 30 | |
| 31 | An alternative way to serve multiple projects is to specify a parent directory in which each subdirectory is a Trac project, using the `-e` option. The example above could be rewritten: |
| 32 | {{{ |
| 33 | $ tracd -p 8080 -e /path/to |
| 34 | }}} |
29 | 35 | |
30 | 36 | == Using Authentication == |
… |
… |
|
32 | 38 | Tracd provides support for both Basic and Digest authentication. The default is to use Digest; to use Basic authentication, replace `--auth` with `--basic-auth` in the examples below, and omit the realm. |
33 | 39 | |
34 | | If the file `/path/to/users.htdigest` contain user accounts for project1 with the realm "mycompany.com", you'd use the following command-line to start tracd: |
| 40 | ''Support for Basic authentication was added in version 0.9.'' |
| 41 | |
| 42 | If the file `/path/to/users.htdigest` contains user accounts for project1 with the realm "mycompany.com", you'd use the following command-line to start tracd: |
35 | 43 | {{{ |
36 | 44 | $ tracd -p 8080 --auth project1,/path/to/users.htdigest,mycompany.com /path/to/project1 |
37 | 45 | }}} |
38 | | ''Note that the project “name” passed to the `--auth` option is actually the base name of the project environment directory."" |
| 46 | |
| 47 | '''Note''': the project "name" passed to the `--auth` option is the base name of the project environment directory. |
39 | 48 | |
40 | 49 | Of course, the digest file can be be shared so that it is used for more than one project: |
… |
… |
|
45 | 54 | /path/to/project1 /path/to/project2 |
46 | 55 | }}} |
| 56 | |
| 57 | Another way to share the digest file is to specify "*" |
| 58 | for the project name: |
| 59 | {{{ |
| 60 | $ tracd -p 8080 \ |
| 61 | --auth *,/path/to/users.htdigest,mycompany.com \ |
| 62 | /path/to/project1 /path/to/project2 |
| 63 | }}} |
| 64 | |
| 65 | == How to set up an htdigest password file == |
| 66 | |
| 67 | If you have Apache available, you can use the htdigest command to generate the password file. Type 'htdigest' to get some usage instructions, or read [http://httpd.apache.org/docs/2.0/programs/htdigest.html this page] from the Apache manual to get precise instructions. You'll be prompted for a password to enter for each user that you create. For the name of the password file, you can use whatever you like, but if you use something like `users.htdigest` it will remind you what the file contains. As a suggestion, put it in your <projectname>/conf folder along with the [TracIni trac.ini] file. |
| 68 | |
| 69 | Note that you can start tracd without the --auth argument, but if you click on the ''Login'' link you will get an error. |
47 | 70 | |
48 | 71 | == Generating Passwords Without Apache == |
… |
… |
|
73 | 96 | }}} |
74 | 97 | |
| 98 | Note: If you use the above script you must use the --auth option to tracd, not --basic-auth, and you must set the realm in the --auth value to 'trac' (without the quotes). Example usage (assuming you saved the script as trac-digest.py): |
| 99 | |
| 100 | {{{ |
| 101 | python trac-digest.py -u username -p password >> c:\digest.txt |
| 102 | python tracd --port 8000 --auth proj_name,c:\digest.txt,trac c:\path\to\proj_name |
| 103 | }}} |
| 104 | |
| 105 | == Tips == |
| 106 | |
| 107 | === Serving static content === |
| 108 | |
| 109 | If `tracd` is the only webserver used for the project, |
| 110 | it can also be used to distribute static content |
| 111 | (tarballs, Doxygen documentation, etc.) |
| 112 | |
| 113 | This static content should be put in the `$TRAC_ENV/htdocs` folder, |
| 114 | and is accessed by URLs like `<project_URL>/chrome/site/...`. |
| 115 | |
| 116 | Example: given a `$TRAC_ENV/htdocs/software-0.1.tar.gz` file, |
| 117 | the corresponding relative URL would be `/<project_name>/chrome/site/software-0.1.tar.gz`, |
| 118 | which in turn can be written using the relative link syntax |
| 119 | in the Wiki: `[/<project_name>/chrome/site/software-0.1.tar.gz]` |
| 120 | |
| 121 | The development version of Trac supports a new `htdocs:` TracLinks |
| 122 | syntax for the above. With this, the example link above can be written simply |
| 123 | `htdocs:software-0.1.tar.gz`. |
| 124 | |
75 | 125 | ---- |
76 | 126 | See also: TracInstall, TracCgi, TracModPython, TracGuide |
| 127 | |
| 128 | ---- |
| 129 | '''Translation:''' |
| 130 | * [https://opensvn.csie.org/traccgi/trac_rus/wiki/StandAloneTracForTeapot Russian] (перевод на Русский) |
|