From ArchWiki
Jump to: navigation, search

From the project web page:

Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.


Install the tracAUR package. Configuration is done on a per-environment basis. See below on how to create an environment. Detailed instructions can be found at

Getting Started Quickly

Create and Initialize an Environment

Initialize an environment

# cd /srv/;
# mkdir tracenv;
# trac-admin /srv/tracenv initenv;

The environment configuration can be found at /srv/tracenv/conf/trac.ini.

Configure the systemd Service File

A default service file is located at /usr/lib/systemd/system/tracd.service. Copy this file to /etc/systemd/system/tracd.service, and edit it to point to your new environment. The ExecStart entry should look something like this:

ExecStart=/usr/bin/tracd -b localhost -p 8080 /srv/tracenv

Viewing Webserver

After Starting (and optionally enabling) the service (or running /usr/bin/tracd directly), you can view the web interface at http://localhost:8080 using a web browser.

Next Steps

Trac User

It is a good idea to create a user specially for the trac service. Once that user is created, you can create the environment using that user:

# cd /srv/;
# mkdir tracenv;
# chown trac:trac tracenv;
# sudo -u trac trac-admin /srv/tracenv initenv;

Add the following to the systemd unit file to make sure it is started as the trac user:


Users and Permissions within Trac

(This section refers to creating users within the trac environment rather than GNU/Linux users.)

Next, you'll want to add users and give permissions to those users. To add users, see (you will have to change your .service file to refer to the authentication mechanism you choose). To grant permissions to users, run the following on the trac server:

# trac-admin /srv/tracenv permission add <username> TRAC_ADMIN

Further Examples

For a specific use case, see SCM Example Trac.