Directions for setting up the Track+ bug tracking system on GlassFish. This is all boring, and I just put it up for reference. If you are looking for something fun, follow one of the links in the second paragraph instead.

???I use the Track+ bug tracking system in my software engineering class. (Why not Bugzilla? Have a look at the installation instructions...) Track+ is open source and free for small groups and academic institutions. Definitely recommended as a solid system that is easy to install and maintain.

Here are the setup directions for GlassFish. I used build v2-b09, but it probably doesn't matter very much since Track+ doesn't use anything except Tomcat. This is all boring, and I just put it up for reference. If you want something fun, try this or this instead.

I executed all these steps as root on Ubuntu 6.06 server edition.

  1. Get the download file URLs from
  2. I use PostgreSQL 8.10. (Instructions for other databases are available in the Track+ documentation.) I lamely let PostgreSQL defer to the Linux user management. If you don't do that, hopefully you'll know how to modify these instructions.
    First, make a new database user trackp and a database track:
    adduser trackp
    su postgres
    createuser -P trackp
    Enter password for new role: secret
    Enter it again: secret
    Shall the new role be a superuser? (y/n) n
    Shall the new role be allowed to create databases? (y/n) n
    Shall the new role be allowed to create more new roles? (y/n) n
    createdb --owner=trackp track "Track+ Database"
  3. Download the database setup script
    mkdir ~/trackplus
    cd ~/trackplus wget jar xvf
  4. Unfortunately, one of the initialization scripts uses GROUP as a column name even though it is reserved in SQL 92. As suggested here, change GROUP to THEGROUP (4x) in track-schema.sql. Also add a line with the word BEGIN at the start of ../populate.sql. Now run the scripts:
    cd dbase/Postgres
    su trackp
    psql -f id-table-schema.sql track
    psql -f track-schema.sql track
    psql -f ../populate.sql track
  5. Download the EAR file and update the file inside. Just follow the comments. Set the database password, comment out the MySQL lines and uncomment the PostgreSQL lines.
    jar xvf track-320.ear track.war
    jar xvf track.war WEB-INF/
    vi WEB-INF/
    jar uvf track.war WEB-INF/
    jar uvf track-320.ear track.war
  6. Deploy by copying to the autodeploy directory.
    cp track-320.ear /opt/domain1/autodeploy/
  7. Point your browser to http://servername:8080/track.