= Installing Trac as CGI =
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:
1. Use a `ScriptAlias` to map an URL to the CGI:
{{{
ScriptAlias /trac.cgi /usr/share/trac/cgi-bin/trac.cgi
}}}
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.
The first option is recommended as it also allows you to map the CGI to a friendly URL.
Now, edit the Apache configuration file and add this snippet, file names and locations changed to match your installation:
{{{
Alias /cgi-bin/trac.cgi/chrome/common /usr/share/trac/htdocs
ScriptAlias /cgi-bin/trac.cgi /usr/share/trac/cgi-bin/trac.cgi
Order allow,deny
Allow from all
# Trac need to know where the database is located
SetEnv TRAC_ENV "/path/to/projectenv"
# You need this to allow users to authenticate
AuthType Basic
AuthName "Trac"
AuthUserFile /somewhere/trac.htpasswd
Require valid-user
}}}
''Note: If Apache complains about the !SetEnv line make sure that the mod_env module is available and enabled.''
''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).''
----
See also: TracGuide, TracInstall, TracFastCgi, TracModPython