| 1 | # |
|---|
| 2 | # Client : %(client_name)s |
|---|
| 3 | # Project : %(project_name)s |
|---|
| 4 | # |
|---|
| 5 | # This cleverbox configuration file enables three services for each project : |
|---|
| 6 | # - Subversion : a subversion repository |
|---|
| 7 | # - Trac : a Trac (http://trac.edgewall.org) instance, linked to the subversion repository |
|---|
| 8 | # - Documents : a webdav share |
|---|
| 9 | # |
|---|
| 10 | # All the services require authentication. |
|---|
| 11 | # |
|---|
| 12 | |
|---|
| 13 | # Authentication is common to all services |
|---|
| 14 | <Location "/%(client_name)s/%(project_name)s"> |
|---|
| 15 | |
|---|
| 16 | # Digest authentication is still experimental in apache-2.2 |
|---|
| 17 | AuthType Basic |
|---|
| 18 | |
|---|
| 19 | # -- File based authentification |
|---|
| 20 | # This file can be generated and updated using apache's `htpasswd` executable |
|---|
| 21 | AuthUserFile %(clients_root)s/%(client_name)s/var/%(project_name)s-htusers |
|---|
| 22 | |
|---|
| 23 | </Location> |
|---|
| 24 | |
|---|
| 25 | # -- Subversion service |
|---|
| 26 | <Location /%(client_name)s/%(project_name)s/svn> |
|---|
| 27 | DAV svn |
|---|
| 28 | SVNPath %(clients_root)s/%(client_name)s/var/svn/%(project_name)s |
|---|
| 29 | |
|---|
| 30 | # This service requires authentication |
|---|
| 31 | AuthName "%(client_name)s :: %(project_name)s :: SVN" |
|---|
| 32 | require valid-user |
|---|
| 33 | </Location> |
|---|
| 34 | |
|---|
| 35 | # -- Trac service |
|---|
| 36 | <Location /%(client_name)s/%(project_name)s/trac> |
|---|
| 37 | |
|---|
| 38 | SetHandler mod_python |
|---|
| 39 | PythonHandler trac.web.modpython_frontend |
|---|
| 40 | PythonOption TracEnv %(clients_root)s/%(client_name)s/var/trac/%(project_name)s |
|---|
| 41 | PythonOption TracUriRoot /%(client_name)s/%(project_name)s/trac |
|---|
| 42 | SetEnv PYTHON_EGG_CACHE %(clients_root)s/%(client_name)s/tmp |
|---|
| 43 | |
|---|
| 44 | </Location> |
|---|
| 45 | |
|---|
| 46 | # Note : the match against "timeline" is needed to provide authenticated RSS feeds |
|---|
| 47 | <LocationMatch /%(client_name)s/%(project_name)s/trac/(login|timeline)> |
|---|
| 48 | |
|---|
| 49 | # This service requires authentication |
|---|
| 50 | AuthName "%(client_name)s :: %(project_name)s :: Trac" |
|---|
| 51 | Require valid-user |
|---|
| 52 | |
|---|
| 53 | </LocationMatch> |
|---|
| 54 | |
|---|
| 55 | # -- Documents service |
|---|
| 56 | AliasMatch /%(client_name)s/%(project_name)s/documents(.*) %(clients_root)s/%(client_name)s/htdocs/%(project_name)s$1 |
|---|
| 57 | <Location /%(client_name)s/%(project_name)s/documents> |
|---|
| 58 | |
|---|
| 59 | Dav On |
|---|
| 60 | |
|---|
| 61 | # This service requires authentication |
|---|
| 62 | AuthName "%(client_name)s :: %(project_name)s :: Documents" |
|---|
| 63 | Require valid-user |
|---|
| 64 | |
|---|
| 65 | </Location> |
|---|