Trac setup

From DiLab
Revision as of 14:35, 21 July 2010 by Leo (talk | contribs) (Multiple Projects)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Look at the Trac website for more: TracInstall

Installation

This was used for Trac 0.11

The easy way, but not necessarily the latest stable version:

sudo apt-get install trac

For the latest stable version do the following:

Get the dependencies

sudo apt-get install subversion python sqlite 
sudo apt-get install python-clearsilver python-sqlite python-subversion

Get the "setuptools" and "easy_install" unless you have them already

wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg
sudo sh ./setuptools-0.6c9-py2.5.egg

Install the latest Trac (use only one method from below)

sudo easy_install trac

...or for a specific version (0.11)

sudo easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11

...or download the source and run setup.py:

wget http://ftp.edgewall.com/pub/trac/Trac-0.11.1.tar.gz
tar -xvvzf Trac-0.11.1.tar.gz
cd Trac-0.11.1
sudo python ./setup.py install


Setup

First, set up your subversion repository, if any. Then, create a new trac project environment, e.g.

trac-admin /var/lib/trac/projenv initenv

Now setup your webserver (apache2 in my case) and restart it. Alternatively you can run tracd for the trac envirionment (see the trac wiki)


Configure

Lots of things to configure. Add project picture to the web interface in trac.ini. Add users, setup permissions under the Admin tab. Configure milestones and other parameters. See Trac wiki for more.

Assign-to as drop-down list

If you want the assign field be replaced wit a list of registered users that have permission to MODIFY_TICKET, do the following in trac.ini:

...
[ticket]
...
restrict_owner = true
...

More advanced details here: http://pacopablo.com/wiki/pacopablo/blog/set-assign-to-drop-down

Upgrade

You may want to upgrade your earlier trac version tickets and wiki. First, back up the old trac project environment (repository) using

trac-admin /var/lib/trac/projenv hotcopy <backup-directory>

Then remove the previous trac version and install the new version. Finally, upgrade the trac project

trac-admin /path/to/projenv upgrade
trac-admin /path/to/projenv wiki upgrade

Now test it!


Multiple Projects

More info: http://trac.edgewall.org/wiki/TracUbuntuMultipleProjects

sudo apt-get install libapache2-mod-python

Set the location for your projects

sudo mkdir /var/lib/trac
sudo chown www-data:www-data /var/lib/trac

Add this in your /etc/apache2/sites-available/... site configuration file for trac

	<Location /proj> 
		SetHandler mod_python    
		PythonHandler trac.web.modpython_frontend    
		PythonOption TracEnvParentDir /var/lib/trac    
		PythonOption TracUriRoot /proj    
	</Location>

Security - note, you may want to create a separate authentication for each project TRAC. 1. Specify the password file (e.g. use htpassw) 2. Add users in the TRAC Admin portal - add the users and add the permissions to them 3. Verify that trac.ini points to the right password file (keys depend on your authentication method 4. Make sure your Apache site configuration <Location...> has the proper authentication setup, for example:

	<Location /trac/myproj>
		# authentication scheme
		AuthType Basic
		AuthName "Trac for myproj"
		AuthUserFile /var/lib/trac/myproj/trac_myproj.htpassw
		Require valid-user
	</Location>

Notes and Links

Nice sites about TRAC, setup and configuration: