close
Warning:
Error with navigation contributor "LoginModule"
- Timestamp:
-
Sep 16, 2012, 8:09:46 PM (12 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v3
|
v4
|
|
| 1 | ** Note: this page documents the version 1.0 of Trac, see [[0.12/TracStandalone]] if you need the previous version ** |
1 | 2 | = Tracd = |
2 | 3 | |
… |
… |
|
137 | 138 | |
138 | 139 | Note: It is necessary (at least with Python 2.6) to install the fcrypt package in order to |
139 | | decode the htpasswd format. Trac source code attempt an `import crypt` first, but there |
140 | | is no such package for Python 2.6. |
| 140 | decode some htpasswd formats. Trac source code attempt an `import crypt` first, but there |
| 141 | is no such package for Python 2.6. Only `SHA-1` passwords (since Trac 1.0) work without this module. |
141 | 142 | |
142 | 143 | To create a .htpasswd file use Apache's `htpasswd` command (see [#GeneratingPasswordsWithoutApache below] for a method to create these files without using Apache): |
… |
… |
|
164 | 165 | 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. |
165 | 166 | |
166 | | Note that you can start tracd without the --auth argument, but if you click on the ''Login'' link you will get an error. |
| 167 | Note that you can start tracd without the `--auth` argument, but if you click on the ''Login'' link you will get an error. |
167 | 168 | |
168 | 169 | === Generating Passwords Without Apache === |
169 | 170 | |
170 | | Basic Authorization can be accomplished via this [http://www.4webhelp.net/us/password.php online HTTP Password generator]. Copy the generated password-hash line to the .htpasswd file on your system. |
| 171 | Basic Authorization can be accomplished via this [http://aspirine.org/htpasswd_en.html online HTTP Password generator] which also supports `SHA-1`. Copy the generated password-hash line to the .htpasswd file on your system. Note that Windows Python lacks the "crypt" module that is the default hash type for htpasswd ; Windows Python can grok MD5 password hashes just fine and you should use MD5. |
171 | 172 | |
172 | 173 | You can use this simple Python script to generate a '''digest''' password file: |
… |
… |
|
214 | 215 | It is possible to use `md5sum` utility to generate digest-password file: |
215 | 216 | {{{ |
216 | | $ printf "${user}:trac:${password}" | md5sum - >>user.htdigest |
217 | | }}} |
218 | | and manually delete " -" from the end and add "${user}:trac:" to the start of line from 'to-file'. |
| 217 | user= |
| 218 | realm= |
| 219 | password= |
| 220 | path_to_file= |
| 221 | echo ${user}:${realm}:$(printf "${user}:${realm}:${password}" | md5sum - | sed -e 's/\s\+-//') > ${path_to_file} |
| 222 | }}} |
219 | 223 | |
220 | 224 | == Reference == |
… |
… |
|
234 | 238 | -b HOSTNAME, --hostname=HOSTNAME |
235 | 239 | the host name or IP address to bind to |
236 | | --protocol=PROTOCOL http|scgi|ajp |
| 240 | --protocol=PROTOCOL http|scgi|ajp|fcgi |
237 | 241 | -q, --unquote unquote PATH_INFO (may be needed when using ajp) |
238 | | --http10 use HTTP/1.0 protocol version (default) |
239 | | --http11 use HTTP/1.1 protocol version instead of HTTP/1.0 |
| 242 | --http10 use HTTP/1.0 protocol version instead of HTTP/1.1 |
| 243 | --http11 use HTTP/1.1 protocol version (default) |
240 | 244 | -e PARENTDIR, --env-parent-dir=PARENTDIR |
241 | 245 | parent directory of the project environments |
… |
… |
|
244 | 248 | -r, --auto-reload restart automatically when sources are modified |
245 | 249 | -s, --single-env only serve a single project without the project list |
246 | | }}} |
| 250 | -d, --daemonize run in the background as a daemon |
| 251 | --pidfile=PIDFILE when daemonizing, file to which to write pid |
| 252 | --umask=MASK when daemonizing, file mode creation mask to use, in |
| 253 | octal notation (default 022) |
| 254 | --group=GROUP the group to run as |
| 255 | --user=USER the user to run as |
| 256 | }}} |
| 257 | |
| 258 | Use the -d option so that tracd doesn't hang if you close the terminal window where tracd was started. |
247 | 259 | |
248 | 260 | == Tips == |
… |
… |
|
326 | 338 | }}} |
327 | 339 | |
| 340 | Note that if you want to install this plugin for all projects, you have to put it in your [TracPlugins#Plugindiscovery global plugins_dir] and enable it in your global trac.ini. |
| 341 | |
| 342 | Global config (e.g. `/srv/trac/conf/trac.ini`): |
| 343 | {{{ |
| 344 | [components] |
| 345 | remote-user-auth.* = enabled |
| 346 | [inherit] |
| 347 | plugins_dir = /srv/trac/plugins |
| 348 | [trac] |
| 349 | obey_remote_user_header = true |
| 350 | }}} |
| 351 | |
| 352 | Environment config (e.g. `/srv/trac/envs/myenv`): |
| 353 | {{{ |
| 354 | [inherit] |
| 355 | file = /srv/trac/conf/trac.ini |
| 356 | }}} |
| 357 | |
328 | 358 | === Serving a different base path than / === |
329 | 359 | Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is |