Trac is a web-based software project management and bug/issue tracking system. Example publicly accessible sites that use Trac include
- Spring IDE http://springide.org/project
- Trac developers themselves http://trac.edgewall.org/
- One Laptop Per Child http://dev.laptop.org/
- Berkeley Open Infrastructure for Network Computing (BOINC) http://boinc.berkeley.edu/trac used by SETI at Home
- Twisted Matrix http://twistedmatrix.com/trac/report
Getting Trac installed on Solaris 10 is easy, see http://trac.edgewall.org/wiki/TracOnSolaris Question is, what next?
Blastwave packages are installed below /opt/csw (csw = Community SoftWare). /opt/csw/share/doc/trac/INSTALL provides the next steps. I used:
PATH=/opt/csw/bin:$PATH MANPATH=/opt/csw/share/man:$MANPATH tracenv=/var/opt/csw/trac trac-admin $tracenv initenv tracd --port 8000 $tracenv & # no authentication firefox http://localhost:8000/trac
For a small number of users the tracd standalone server is good enough. Authentication can be managed with htdigest on Solaris 10 thusly:
/usr/apache2/bin/htdigest -c $tracenv/conf/users.htdigest mydomain.com fred
Tracd can then be started like this:
PATH=/opt/csw/bin:$PATH tracenv=/var/opt/csw/trac nohup tracd --port 8000 --auth *,$tracenv/conf/users.htdigest,mydomain.com $tracenv &
To change the logo upload the new logo to /opt/csw/share/trac/htdocs and modify trac.ini
[header_logo] … link = https://trac.mydomain.com/ src = common/mylogo.png … [project] descr = My Trac footer = Visit the Trac open source project at http://trac.edgewall.org/ icon = common/trac.ico name = My Project url = https://myproject.mydomain.com/
Trac is much easier to administer with the WebAdmin plugin, which for Trac 0.10.4 requires downloading and installing from source:
easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin/
To get started a Trac administrator has to be empowered:
trac-admin /var/opt/csw/trac permission add fred TRAC_ADMIN
To simplify account administration we’ll also try an account manger plugin
/opt/csw/bin/easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10
…and change /var/opt/csw/trac/conf/trac.ini
[components] webadmin.* = enabled trac.web.auth.LoginModule = disabled acct_mgr.api = enabled acct_mgr.htfile.HtDigestStore = enabled acct_mgr.web_ui.AccountModule = enabled acct_mgr.web_ui.LoginModule = enabled acct_mgr.web_ui.RegistrationModule = disabled acct_mgr.admin.AccountManagerAdminPage = enabled [account-manager] password_format = htdigest password_store = HtDigestStore password_file = /var/opt/csw/trac/conf/users.htdigest htdigest_realm = mydomain.com
Tracd can then be started like this:
PATH=/opt/csw/bin:$PATH tracenv=/var/opt/csw/trac nohup tracd --port 8000 $tracenv &
To manage custom fields we’ll add another plugin
easy_install http://trac-hacks.org/svn/customfieldadminplugin/0.10
…and change /var/opt/csw/trac/conf/trac.ini
[components] customfieldadmin.* = enabled