= 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" }}} ''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).'' == Adding Authentication == The simplest way to enable authentication with Apache is to create a password file. Use the `htpasswd` program to create the password file: {{{ $ htpasswd -c /somewhere/trac.htpasswd admin New password: Re-type new password: Adding password for user admin }}} After the first user, you dont need the "-c" option anymore: {{{ $ htpasswd /somewhere/trac.htpasswd john New password: Re-type new password: Adding password for user john }}} ''See the man page for `htpasswd` for full documentation.'' After you've created the users, you can set their permissions using TracPermissions. Now, you'll need to enable authentication against the password file in the Apache configuration: {{{ AuthType Basic AuthName "Trac" AuthUserFile /somewhere/trac.htpasswd Require valid-user }}} ---- See also: TracGuide, TracInstall, TracFastCgi, TracModPython