| 76 | == Apache Basic Authentication for Trac thru mod_wsgi == |
| 77 | |
| 78 | Per the mod_wsgi documentation linked to above, here is an example Apache configuration that a) serves the trac from a virtualhost subdomain and b) uses Apache basic authentication for Trac authentication. |
| 79 | |
| 80 | |
| 81 | If you want your trac to be served from e.g. !http://trac.my-proj.my-site.org, then from the folder e.g. {{{/home/trac-for-my-proj}}}, if you used the command {{{trac-admin the-env initenv}}} to create a folder {{{the-env}}}, and you used {{{trac-admin the-env deploy the-deploy}}} to create a folder {{{the-deploy}}}, then: |
| 82 | |
| 83 | create the htpasswd file: |
| 84 | {{{ |
| 85 | cd /home/trac-for-my-proj/the-env |
| 86 | htpasswd -c htpasswd firstuser |
| 87 | ### and add more users to it as needed: |
| 88 | htpasswd htpasswd seconduser |
| 89 | }}} |
| 90 | (for security keep the file above your document root) |
| 91 | |
| 92 | create this file e.g. (ubuntu) {{{/etc/apache2/sites-enabled/trac.my-proj.my-site.org.conf}}} with these contents: |
| 93 | |
| 94 | {{{ |
| 95 | <Directory /home/trac-for-my-proj/the-deploy/cgi-bin/trac.wsgi> |
| 96 | WSGIApplicationGroup %{GLOBAL} |
| 97 | Order deny,allow |
| 98 | Allow from all |
| 99 | </Directory> |
| 100 | |
| 101 | <VirtualHost *:80> |
| 102 | ServerName trac.my-proj.my-site.org |
| 103 | DocumentRoot /home/trac-for-my-proj/the-env/htdocs/ |
| 104 | WSGIScriptAlias / /home/trac-for-my-proj/the-deploy/cgi-bin/trac.wsgi |
| 105 | <Location '/'> |
| 106 | AuthType Basic |
| 107 | AuthName "Trac" |
| 108 | AuthUserFile /home/trac-for-my-proj/the-env/htpasswd |
| 109 | Require valid-user |
| 110 | </Location> |
| 111 | </VirtualHost> |
| 112 | |
| 113 | }}} |
| 114 | |
| 115 | |
| 116 | (for subdomains to work you would probably also need to alter /etc/hosts and add A-Records to your host's DNS.) |
| 117 | |