User:Mchua/Trac

Introduction
Many projects I'm involved with use Trac as part of their development process. Aside from being a "normal user," I don't know how to do things with Trac; I can file bugs, comment on them, resolve them, make wiki pages, etc. but installation, configuration, plugin development, and other things that go beyond "basic Trac" are things I don't know yet. This is a chronicle of my attempts to fix that.

Installing Trac
First step: learn how to install trac. I chose to create a separate trac user (trac, using adduser) for running and administering my trac instance.


 * With root privs - see http://trac.edgewall.org/wiki/TracInstall
 * Without root privs - this took a few more minutes. I wrote up my instructions here afterwards.
 * Linking to an svn repository - I had to install (apt-get) the python-subversion package before it would work.
 * Authentication - allow people to log in and, well, change things. I followed the instructions for the standalone server installation (tracd). (Note: I was originally going to use mod_wsgi, but after hitting multiple walls I decided "sod it, this isn't worth it, and isn't particularly conducive to my learning," and moved on with my life. I'd like to use mod_wsgi in the future when things get more stable, though - or if someone is willing to walk me through it over chat or email.)

Now if I run this command as the trac user in the trac user's homedir, it all starts up beautifully. bin/tracd --port 8000 --auth=tracbacks,/home/trac/tracbacks/conf/users.htdigest,trac ~/tracbacks/

Trac on Dreamhost/shared servers
I later found some sites that talked about installing Trac on Dreamhost and other shared servers. The solutions they came up with look far more complex than mine. Should read these soon. readme
 * http://wiki.dreamhost.com/index.php/Trac
 * http://natmaster.com/articles/installing_trac.php (read http://blog.craz8.com/articles/2007/04/21/install-trac-on-dreamhost/ at the same time, as it comments on some errors on the first)
 * http://cactuswax.net/archive/installing-trac-on-dreamhost/

And a script that seems to do the job: http://wiki.dreamhost.com/DreamTracInstall

Installing plugins
Trac has plugins that can extend its basic functionality. I used this tutorial, but it will tell you to read about the component architecture and plugin development first.