close
Warning:
Error with navigation contributor "LoginModule"
- Timestamp:
-
Sep 16, 2012, 8:09:46 PM (13 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 |