Changes between Version 1 and Version 2 of TracStandalone
- Timestamp:
- Dec 21, 2009, 9:22:48 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracStandalone
v1 v2 8 8 * Fast: Should be almost as fast as the [wiki:TracModPython mod_python] version (and much faster than the [wiki:TracCgi CGI]). 9 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). 10 * Options for tracd: `-r, --auto-reload` 10 11 11 12 == Cons == … … 40 41 To exit the server on Windows, be sure to use {{{CTRL-BREAK}}} -- using {{{CTRL-C}}} will leave a Python process running in the background. 41 42 43 == Installing as a Windows Service == 44 45 To install as a Windows service, get the [http://www.google.com/search?q=srvany.exe SRVANY] utility and run: 46 {{{ 47 C:\path\to\instsrv.exe tracd C:\path\to\srvany.exe 48 reg add HKLM\SYSTEM\CurrentControlSet\Services\tracd\Parameters /v Application /d "\"C:\path\to\python.exe\" \"C:\path\to\python\scripts\tracd-script.py\" <your tracd parameters>" 49 net start tracd 50 }}} 51 52 '''DO NOT''' use {{{tracd.exe}}}. Instead register {{{python.exe}}} directly with {{{tracd-script.py}}} as a parameter. If you use {{{tracd.exe}}}, it will spawn the python process without SRVANY's knowledge. This python process will survive a {{{net stop tracd}}}. 53 54 If you want tracd to start automatically when you boot Windows, do: 55 {{{ 56 sc config tracd start= auto 57 }}} 58 59 The spacing here is important. 42 60 43 61 == Using Authentication == … … 48 66 49 67 {{{ 50 sudo htpasswd -c /path/to/env/.htpasswd username68 $ sudo htpasswd -c /path/to/env/.htpasswd username 51 69 }}} 52 70 then for additional users: 53 71 {{{ 54 sudo htpasswd /var/www/html/.htpasswd-users username2 55 }}} 56 then for starting the tracd: 57 {{{ 58 tracd -p 8080 --basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname 59 }}} 60 72 $ sudo htpasswd /path/to/env/.htpasswd username2 73 }}} 74 then for starting the tracd (on windows skip the "=" after --basic-auth): 75 {{{ 76 $ tracd -p 8080 --basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname 77 }}} 61 78 62 79 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. (You must still specify a dialogic "realm", which can be an empty string by trailing the BASICAUTH with a comma.) … … 64 81 ''Support for Basic authentication was added in version 0.9.'' 65 82 66 The general format for using authentication is :83 The general format for using authentication is (on windows skip the "=" after --auth): 67 84 68 85 {{{ … … 77 94 * '''project_path''' path of the project 78 95 79 Example :96 Example (on windows skip the "=" after --auth): 80 97 81 98 {{{ … … 95 112 {{{ 96 113 $ tracd -p 8080 \ 97 --auth= *,/path/to/users.htdigest,mycompany.com \114 --auth="*",/path/to/users.htdigest,mycompany.com \ 98 115 /path/to/project1 /path/to/project2 99 116 }}} 117 If using the `-s` parameter for serving a Trac environment from the root of a domain, one must use `*` for the project name 100 118 101 119 == How to set up an htdigest password file == … … 112 130 #!python 113 131 from optparse import OptionParser 114 import md5 132 # The md5 module is deprecated in Python 2.5 133 try: 134 from hashlib import md5 135 except ImportError: 136 from md5 import md5 137 realm = 'trac' 115 138 116 139 # build the options … … 121 144 parser.add_option("-p", "--password",action="store", dest="password", type = "string", 122 145 help="the password to use") 146 parser.add_option("-r", "--realm",action="store", dest="realm", type = "string", 147 help="the realm in which to create the digest") 123 148 (options, args) = parser.parse_args() 124 149 … … 126 151 if (options.username is None) or (options.password is None): 127 152 parser.error("You must supply both the username and password") 153 if (options.realm is not None): 154 realm = options.realm 128 155 129 156 # Generate the string to enter into the htdigest file 130 realm = 'trac' 131 kd = lambda x: md5.md5(':'.join(x)).hexdigest() 157 kd = lambda x: md5(':'.join(x)).hexdigest() 132 158 print ':'.join((options.username, realm, kd([options.username, realm, options.password]))) 133 159 }}} … … 136 162 137 163 {{{ 138 python trac-digest.py -u username -p password >> c:\digest.txt139 tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name164 $ 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 140 166 }}} 141 167 … … 144 170 It is possible to use md5sum utility to generate digest-password file using such method: 145 171 {{{ 146 echo -e "${user}:trac:${password}\c" | md5sum - >>to-file 147 }}} 148 and manually delete " -" from the end and add "${user}:trac:" to the start of line from 'to-file'. You can see attachment:trac-digest-corrected.sh for detail.172 $ printf "${user}:trac:${password}" | md5sum - >>user.htdigest 173 }}} 174 and manually delete " -" from the end and add "${user}:trac:" to the start of line from 'to-file'. 149 175 150 176 == Tips == … … 164 190 in the Wiki: `[/<project_name>/chrome/site/software-0.1.tar.gz]` 165 191 166 The development version ofTrac supports a new `htdocs:` TracLinks192 Since 0.10, Trac supports a new `htdocs:` TracLinks 167 193 syntax for the above. With this, the example link above can be written simply 168 194 `htdocs:software-0.1.tar.gz`. … … 172 198 173 199 === Serving a different base path than / === 174 Tracd supports serving projects with different base urls th en /<project>. The parameter name to change this is175 {{{ 176 tracd --base-path=/some/path200 Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is 201 {{{ 202 $ tracd --base-path=/some/path 177 203 }}} 178 204 179 205 ---- 180 See also: TracInstall, TracCgi, TracModPython, TracGuide 206 See also: TracInstall, TracCgi, TracModPython, TracGuide, [trac:TracOnWindowsStandalone?version=13#RunningTracdasservice Running tracd.exe as a Windows service]