Changes between Version 3 and Version 4 of TracStandalone


Ignore:
Timestamp:
Oct 6, 2013 10:56:46 AM (7 months ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracStandalone

    v3 v4  
    9393 
    9494== Using Authentication == 
     95 
     96Tracd allows you to run Trac without the need for Apache, but you can take advantage of Apache's password tools (htpasswd and htdigest) to easily create a password file in the proper format for tracd to use in authentication. (It is also possible to create the password file without htpasswd or htdigest; see below for alternatives) 
    9597 
    9698Tracd provides support for both Basic and Digest authentication. Digest is considered more secure. The examples below use Digest; to use Basic authentication, replace `--auth` with `--basic-auth` in the command line. 
     
    137139 
    138140  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. 
     141  decode some htpasswd formats.  Trac source code attempt an `import crypt` first, but there 
     142  is no such package for Python 2.6. Only `SHA-1` passwords (since Trac 1.0) work without this module. 
    141143 
    142144To create a .htpasswd file use Apache's `htpasswd` command (see [#GeneratingPasswordsWithoutApache below] for a method to create these files without using Apache): 
     
    164166If 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. 
    165167 
    166 Note that you can start tracd without the --auth argument, but if you click on the ''Login'' link you will get an error. 
     168Note that you can start tracd without the `--auth` argument, but if you click on the ''Login'' link you will get an error. 
    167169 
    168170=== Generating Passwords Without Apache === 
    169171 
    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. 
     172Basic 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. 
    171173 
    172174You can use this simple Python script to generate a '''digest''' password file: 
     
    214216It is possible to use `md5sum` utility to generate digest-password file: 
    215217{{{ 
    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'. 
     218user= 
     219realm= 
     220password= 
     221path_to_file= 
     222echo ${user}:${realm}:$(printf "${user}:${realm}:${password}" | md5sum - | sed -e 's/\s\+-//') > ${path_to_file} 
     223}}} 
    219224 
    220225== Reference == 
     
    234239  -b HOSTNAME, --hostname=HOSTNAME 
    235240                        the host name or IP address to bind to 
    236   --protocol=PROTOCOL   http|scgi|ajp 
     241  --protocol=PROTOCOL   http|scgi|ajp|fcgi 
    237242  -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 
     243  --http10              use HTTP/1.0 protocol version instead of HTTP/1.1 
     244  --http11              use HTTP/1.1 protocol version (default) 
    240245  -e PARENTDIR, --env-parent-dir=PARENTDIR 
    241246                        parent directory of the project environments 
     
    244249  -r, --auto-reload     restart automatically when sources are modified 
    245250  -s, --single-env      only serve a single project without the project list 
    246 }}} 
     251  -d, --daemonize       run in the background as a daemon 
     252  --pidfile=PIDFILE     when daemonizing, file to which to write pid 
     253  --umask=MASK          when daemonizing, file mode creation mask to use, in 
     254                        octal notation (default 022) 
     255  --group=GROUP         the group to run as 
     256  --user=USER           the user to run as 
     257}}} 
     258 
     259Use the -d option so that tracd doesn't hang if you close the terminal window where tracd was started. 
    247260 
    248261== Tips == 
     
    326339}}} 
    327340 
     341Note 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. 
     342 
     343Global config (e.g. `/srv/trac/conf/trac.ini`): 
     344{{{ 
     345[components] 
     346remote-user-auth.* = enabled 
     347[inherit] 
     348plugins_dir = /srv/trac/plugins 
     349[trac] 
     350obey_remote_user_header = true 
     351}}} 
     352 
     353Environment config (e.g. `/srv/trac/envs/myenv`): 
     354{{{ 
     355[inherit] 
     356file = /srv/trac/conf/trac.ini 
     357}}} 
     358 
    328359=== Serving a different base path than / === 
    329360Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is