How to install the Trac project management tool on Ubuntu 16.04

Trac is a basic ticket system and project management tool. Here's a look at the process of installing this handy tool on Ubuntu Server.

One of the most challenging tasks on an admin's list is the management of projects and tickets. This can be especially overwhelming when you have a larger IT department and a staff working on numerous projects at once. But the management of projects and ticket issues doesn't just fall on the heads of large companies. Even if you're a one-person shop consultancy, it can be easy to drown in a quagmire of projects.

Thankfully, there are a lot of tools available to help you with that. If you happen to be a fan of open source (and who isn't?), those tools are not only readily available, they are free and (generally speaking) easy to set up. I want to walk you through the installation of one such tool: Trac. Trac can be used as a wiki, a project management system, and for tracking bugs in software development. I'll be demonstrating the installation on a Ubuntu Server 16.04. And so, let's get to it.


The installation isn't terribly challenging, but does require a bit of typing. Log into your Ubuntu server and let's take care of the dependencies.

If your Ubuntu Server platform is without Apache, install it with the command:

sudo apt-get install apache2 -y

Once that completes, install Trac with the command:

sudo apt-get install trac libapache2-mod-wsgi -y

Next, the auth_digest module must be enabled with the command:

sudo a2enmod auth_digest

Now we create the necessary document root for Trac (and give it the correct permissions) with the following commands:

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

For our next trick, we create a Trac project directory (we'll call it test) with the command:

sudo trac-admin /var/lib/trac/test initenv test sqlite:db/trac.db

Time to give that new directory the proper permissions. This is done by issuing the following commands:

sudo trac-admin /var/lib/trac/test deploy /var/www/html/trac/test
sudo chown -R www-data:www-data /var/lib/trac/test
sudo chown -R www-data:www-data /var/www/html/trac/test

Finally, we create both an admin user and a standard user with the commands:

sudo htdigest -c /var/lib/trac/test/.htdigest "test" admin
sudo htdigest /var/lib/trac/test/.htdigest "test" USER

Where USER is the name of the user you prefere.

After both of the above commands, you'll be prompted to type (and confirm) a password. Remember these passwords.

Configure Apache

Create an Apache .conf file for Trac with the following command:

sudo nano /etc/apache2/sites-available/trac.conf

Add the following content to the new file:

WSGIScriptAlias /trac/test /var/www/html/trac/test/cgi-bin/trac.wsgi
<Location /trac/test>
  AuthType Digest
  AuthName "test"
  AuthUserFile /var/lib/trac/test/.htdigest
  Require valid-user

Save and close that file.

Enable our new site (and restart Apache) with the following commands:

sudo a2ensite trac
sudo systemctl restart apache2

Accessing Trac

Open a web browser and point it to http://SERVER_IP/trac/test (where SERVER_IP is the IP address of your server). You will be prompted for login credentials. Log in with the user admin and the password you set when you created admin user earlier. You can also login with the non-admin user you created. There is actually no difference between the users (which could be a deal-breaker for some). One thing to note: If you need more users, you'll create them from the command line (in similar fashion as you did above). For every user you need to add to Trac, issue the command:

sudo htdigest /var/lib/trac/test/.htdigest "test" USER

Where USER is the username. The above command will add the user to the project test. If you need to create more projects, you must go back through the process of creating a new project directory and then add users to it.

Once you've successfully authenticated, you'll be presented with the Trac web interface, were you can begin working (Figure A).

Figure A

Figure A

The Trac web interface.

You can now go to Preferences and configure your installation of Trac. Once you've completed that, you can begin creating new tickets. If you get the (please configure the [header_logo] section in trac.ini) error, you can configure this with the command:

sudo nano /var/lib/trac/test/conf/trac.ini

In that file, you'll see the section:

alt = (please configure the [header_logo] section in trac.ini)
height = -1
link =
src = site/your_project_logo.png
width = -1

That is where you'll configure a header logo to suit your company.

SEE: IT project management: 10 ways to stay under budget (free PDF) (TechRepublic)


You now have your Trac system up and running. Although you might find systems with more features (and a more powerful configuration system), Trac is very simple to set up and use. If you're looking for a basic ticketing system that can serve as a project management tool, Trac just might fit the bill.

Also see

About Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic and He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website

Editor's Picks

Free Newsletters, In your Inbox