| 21 | '''Configuration''' |
| 22 | |
| 23 | Subversion repositories and Trac environments are assumed to be in /srv/svn and /srv/trac though this is configurable. |
| 24 | |
| 25 | Access to Subversion is via: |
| 26 | |
| 27 | {{{ |
| 28 | svn co http://localhost/repos/<project_name>/trunk |
| 29 | }}} |
| 30 | |
| 31 | And Trac projects are accessed via: |
| 32 | |
| 33 | {{{ |
| 34 | http://localhost/trac/<project_name> |
| 35 | }}} |
| 36 | |
| 37 | Two Apache configuration files are therefore needed (and are included in the Admin Toolkit): |
| 38 | |
| 39 | * subversion.conf |
| 40 | |
| 41 | {{{ |
| 42 | <Location /repos> |
| 43 | DAV svn |
| 44 | SVNParentPath /srv/svn |
| 45 | |
| 46 | # Limit write permission to list of valid users. |
| 47 | <LimitExcept GET PROPFIND OPTIONS REPORT> |
| 48 | # Require SSL connection for password protection. |
| 49 | # SSLRequireSSL |
| 50 | |
| 51 | AuthType Basic |
| 52 | AuthName "excds" |
| 53 | AuthUserFile /srv/.htpasswd |
| 54 | Require valid-user |
| 55 | </LimitExcept> |
| 56 | </Location> |
| 57 | }}} |
| 58 | |
| 59 | * trac.conf |
| 60 | |
| 61 | {{{ |
| 62 | <Location /trac> |
| 63 | SetHandler mod_python |
| 64 | PythonInterpreter main_interpreter |
| 65 | PythonHandler trac.web.modpython_frontend |
| 66 | PythonOption TracEnvParentDir /srv/trac |
| 67 | PythonOption TracUriRoot /trac |
| 68 | </Location> |
| 69 | |
| 70 | <LocationMatch "/.+/"> |
| 71 | </LocationMatch> |
| 72 | |
| 73 | <LocationMatch "/trac/[^/]+/login"> |
| 74 | AuthType Basic |
| 75 | AuthName "excds" |
| 76 | AuthUserFile /srv/.htpasswd |
| 77 | Require valid-user |
| 78 | </LocationMatch> |
| 79 | }}} |
| 80 | |
| 81 | '''Authentication''' |
| 82 | |
| 83 | Authentication is via a single Apache .htpasswd file for all projects; that is, each developer has global access to all projects. A change to the Admin Toolkit that implements per project authentication is in development. The .htpasswd file is located in: |
| 84 | |
| 85 | {{{ |
| 86 | /srv/.htpasswd |
| 87 | }}} |
| 88 | |
| 89 | This file is also managed by the Admin Toolkit. |