The Third Bear

Just Right.

Installing and Integrating Trac and Gitolite

egj trac , gitolite , sysadmin

In a series of posts I'll detail how I install Trac and Gitolite using:

  • Trac 1.0
  • Gitolite v3
  • Ubuntu 12.04 LTS
  • Python 2.7.3
  • Postgres 9.1 for Trac's database
  • Apache 2.2.22 (Ubuntu) with mod_wsgi 3.3

The resulting system will have Trac running at `http://hostname.com` and Git repositories available to clone from `git@hostname.com:repo-name`. Trac and Gitolite will each be running as a separate system user, and a shared system group will be used to grant the necessary permissions for communication between the two.

In this setup Trac and Gitolite are tightly integrated in the following ways:

  • Git post-receive hooks are installed to notify Trac of all commits, to all branches, on all repositories (allowing Trac to be updated from commit messages, etc)
  • Trac Admin Panels provide screens for management of Gitolite SSH keys, repositories, and permissions
  • Trac Repository Browser is integrated with Gitolite permissions, so users can only view a repository in Trac if they have the "R" permission on the corresponding Gitolite repo

Some of these integration features are provided by a Trac "GitolitePlugin" package that I've recently released.


Related Posts