# Trac Standalone Server On Windows

This Windows specific guide is heavily based on the generic TracInstall guide with bits and pieces borrowed from TracOnWindows

The goal of this guide is to get Windows users up and running as quickly as possible with the minimal amount of fuss.

So if you just want to set up Trac on a Windows machine to play around with the features in Trac, use this setup. Alternatively, you can give a try to the free BitNami Trac installer for Windows that installs and configure Trac and all of its dependencies (Apache, Python, Subversion, etc.) and stop reading this page ;-)

So if you're still in, be aware that this setup uses the tracd stand alone server and does not require installation and configuration of a separate webserver like Apache. To read about the pro's and con's of a tracd based install compared to other options see the generic TracStandalone page. That page also contains some additional tips for a Windows setup.

For a more verbose guide including more options and possible hints if you run into problems see TracOnWindows

This short guide takes you through these steps:

2. Installing everything
3. Creating a Project Environment
4. Running tracd the Standalone Server
5. Using Trac (and Subversion)

Warning: those instructions were written for Trac 0.9b1

To install Trac, the following software packages must be installed:

## Installing Everything

1. Install Subversion

Check that C:\your_install_path\Subversion\bin is in your PATH environment variable because this directory contains library files needed by the python subversion bindings.

1. Install Python

Add C:\Python26 to the PATH environment variable (or you will have to supply the path on every call to python in the sections below)

1. Install everything else by following the steps in the TracOnWindows#InstallTracPrerequisites section.

## Creating a Project Environment

A Trac environment is the backend storage where Trac stores information like wiki pages, tickets, reports, settings, etc. An environment is basically a directory that contains a human-readable configuration file and various other files and directories.

A new environment is created using trac-admin:

C:\> svnadmin create C:\path\to\svn_project


trac-admin will prompt you for the information it needs to create the environment, such as the name of the project, the database connection string, and so on.

## Running the Standalone Server

After having created a Trac environment, you can easily try the web interface by running the standalone server tracd:

C:\Python26\Scripts> python tracd --port 8000 C:\path\to\trac_env


Then, fire up a browser and visit http://localhost:8000/. You should get a simple listing of all environments that tracd knows about. Follow the link to the environment you just created, and you should see Trac in action.

## Running Tracd as service

### Using instsrv/srvany

• run InstSrv <servicename> c:\path\to\resourcekit\SrvAny.exe, where you insert your own service name (without angle brackets, e.g. tracd) and the full path to the SrvAny.exe.
• open HKEY_LOCAL_MACHINE\SYSTEM\!CurrentControlSet\Services\<servicename> in RegEdit
• create subkey Parameters, below which you will create 2 string values:
• create string value Application with the full path of tracd.exe, e.g. c:\Python25\Scripts\tracd.exe
• create string value AppParameters with the set of desired tracd parameters, e.g. --port 8080 c:\path\to\trac"
• open the Services tool (somewhere in the administrative tools in the Windows control panel) and start your service, or run net start tracd

(tested with trac 0.11.2 on Windows XP, Windows 7)

### Using FireDaemon

You can also use FireDaemon although there is no longer a free version available (FireDaemon Lite having been discontinued). No need to open the registry, FireDaemon GUI allows you to add parameters to your service command line. (tested with trac 0.11.2 on Windows Vista)

### Using nssm

• download and extract nssm from http://iain.cx/src/nssm/
• run 'nssm install tracd'
• enter complete path to python.exe in Application field (e.g. c:\Python26\python.exe)
• enter parameters in Options field (e.g. c:\Python26\Scripts\tracd-script.py --port 8000 --basic-auth "*,c:\trac\.htpasswd,test" c:\trac\test)
• run 'net start tracd'

(tested with Windows 2008, Windows XP sp2 x64) If you'd like to review or change those parameters later on, refer to the same registry keys as mentioned above (srvany and nssm use the same).

Tip: don't try to be smart and use ...\Scripts\tracd.exe instead of ...\python.exe: if you do this, as tracd.exe starts a new python process, the server will survive a service stop.

## Using Trac (and Subversion)

Once you have your Trac site up and running, you should be able to browse your subversion repository, create tickets, view the timeline, etc.

Keep in mind that anonymous (not logged in) users can by default access most but not all of the features. You will need to configure authentication and grant additional permissions to authenticated users to see the full set of features.

Enjoy!