| 1 | = Installing Trac as CGI = |
| 2 | |
| 3 | To install Trac as a CGI script, make `trac/cgi-bin/trac.cgi` executable as a CGI by your web server. If you're using Apache HTTPD, there are a couple ways to do that: |
| 4 | |
| 5 | 1. Use a `ScriptAlias` to map an URL to the CGI: |
| 6 | {{{ScriptAlias /trac.cgi /usr/share/trac/cgi-bin/trac.cgi}}} |
| 7 | 2. Copy the `trac.cgi` file into the directory for CGI executables used by your web server (commonly named `cgi-bin`). You can also create a symbolic link, but in that case make sure that the `FollowSymLinks` option is enabled for the `cgi-bin` directory. |
| 8 | |
| 9 | The first option is recommended as it also allows you to map the CGI to a friendly URL. |
| 10 | |
| 11 | Now, edit the Apache configuration file and add this snippet, file names and locations changed to match your installation: |
| 12 | {{{ |
| 13 | Alias /cgi-bin/trac.cgi/chrome/common /usr/share/trac/htdocs |
| 14 | ScriptAlias /cgi-bin/trac.cgi /usr/share/trac/cgi-bin/trac.cgi |
| 15 | <Directory "/usr/share/trac/htdocs"> |
| 16 | Order allow,deny |
| 17 | Allow from all |
| 18 | </Directory> |
| 19 | |
| 20 | # Trac need to know where the database is located |
| 21 | <Location "/cgi-bin/trac.cgi"> |
| 22 | SetEnv TRAC_ENV "/path/to/projectenv" |
| 23 | </Location> |
| 24 | |
| 25 | # You need this to allow users to authenticate |
| 26 | <Location "/cgi-bin/trac.cgi/login"> |
| 27 | AuthType Basic |
| 28 | AuthName "Trac" |
| 29 | AuthUserFile /somewhere/trac.htpasswd |
| 30 | Require valid-user |
| 31 | </Location> |
| 32 | }}} |
| 33 | |
| 34 | ''Note: If Apache complains about the !SetEnv line make sure that the mod_env module is available and enabled.'' |
| 35 | |
| 36 | ''Note: If you are using the [http://httpd.apache.org/docs/suexec.html Apache suEXEC] feature see [http://projects.edgewall.com/trac/wiki/ApacheSuexec ApacheSuexec] (on the main Trac site).'' |