Edgewall Software

Version 3 (modified by Christopher Lenz, 19 years ago) ( diff )

Added info on authentication

This page documents the 1.4 (latest stable) release. Documentation for other releases can be found here.

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
<Directory "/usr/share/trac/htdocs">
  Order allow,deny
  Allow from all
</Directory>

# Trac need to know where the database is located
<Location "/cgi-bin/trac.cgi">
  SetEnv TRAC_ENV "/path/to/projectenv"
</Location>

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 Apache suEXEC feature see 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: <type password>
Re-type new password: <type password again>
Adding password for user admin

After the first user, you dont need the "-c" option anymore:

$ htpasswd /somewhere/trac.htpasswd john
New password: <type password>
Re-type new password: <type password again>
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:

<Location "/cgi-bin/trac.cgi/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /somewhere/trac.htpasswd
  Require valid-user
</Location>

See also: TracGuide, TracInstall, TracFastCgi, TracModPython

Note: See TracWiki for help on using the wiki.