close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 2 and Version 3 of TracStandalone


Ignore:
Timestamp:
Aug 18, 2013, 5:03:59 PM (13 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracStandalone

    v2 v3  
    8383
    8484Use [http://trac-hacks.org/wiki/WindowsServiceScript WindowsServiceScript], available at [http://trac-hacks.org/ Trac Hacks]. Installs, removes, starts, stops, etc. your Trac service.
    85 
    86 === Option 3 ===
    87 
    88 also cygwin's cygrunsrv.exe can be used:
    89 {{{
    90 $ cygrunsrv --install tracd --path /cygdrive/c/Python27/Scripts/tracd.exe --args '--port 8000 --env-parent-dir E:\IssueTrackers\Trac\Projects'
    91 $ net start tracd
    92 }}}
    9385
    9486== Using Authentication ==
    … …  
    135127=== Basic Authorization: Using a htpasswd password file ===
    136128This section describes how to use `tracd` with Apache .htpasswd files.
    137 
    138   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.
    141129
    142130To create a .htpasswd file use Apache's `htpasswd` command (see [#GeneratingPasswordsWithoutApache below] for a method to create these files without using Apache):
    … …  
    273261See also [trac:TracOnWindowsIisAjp], [trac:TracNginxRecipe].
    274262
    275 === Authentication for tracd behind a proxy
    276 It is convenient to provide central external authentication to your tracd instances, instead of using {{{--basic-auth}}}. There is some discussion about this in #9206.
    277 
    278 Below is example configuration based on Apache 2.2, mod_proxy, mod_authnz_ldap.
    279 
    280 First we bring tracd into Apache's location namespace.
    281 
    282 {{{
    283 <Location /project/proxified>
    284         Require ldap-group cn=somegroup, ou=Groups,dc=domain.com
    285         Require ldap-user somespecificusertoo
    286         ProxyPass http://localhost:8101/project/proxified/
    287         # Turns out we don't really need complicated RewriteRules here at all
    288         RequestHeader set REMOTE_USER %{REMOTE_USER}s
    289 </Location>
    290 }}}
    291 
    292 Then we need a single file plugin to recognize HTTP_REMOTE_USER header as valid authentication source. HTTP headers like '''HTTP_FOO_BAR''' will get converted to '''Foo-Bar''' during processing. Name it something like '''remote-user-auth.py''' and drop it into '''proxified/plugins''' directory:
    293 {{{
    294 #!python
    295 from trac.core import *
    296 from trac.config import BoolOption
    297 from trac.web.api import IAuthenticator
    298 
    299 class MyRemoteUserAuthenticator(Component):
    300 
    301     implements(IAuthenticator)
    302 
    303     obey_remote_user_header = BoolOption('trac', 'obey_remote_user_header', 'false',
    304                """Whether the 'Remote-User:' HTTP header is to be trusted for user logins
    305                 (''since ??.??').""")
    306 
    307     def authenticate(self, req):
    308         if self.obey_remote_user_header and req.get_header('Remote-User'):
    309             return req.get_header('Remote-User')
    310         return None
    311 
    312 }}}
    313 
    314 Add this new parameter to your TracIni:
    315 {{{
    316 ...
    317 [trac]
    318 ...
    319 obey_remote_user_header = true
    320 ...
    321 }}}
    322 
    323 Run tracd:
    324 {{{
    325 tracd -p 8101 -r -s proxified --base-path=/project/proxified
    326 }}}
    327 
    328263=== Serving a different base path than / ===
    329264Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is