Edgewall Software

Version 249 (modified by Andre Steenveld, 16 years ago) ( diff )

correcting minor problems with scrollbars making text invisible.

Please Note: These instructions are for Trac 0.11

The instructions for Trac 0.10 can be found at the 0.10/TracOnWindows page.

Trac On Windows

The installation of Trac on Windows is now much simpler, due to the dropping of ClearSilver as the primary template engine in favor of Genshi (Clearsilver is still optionally supported in case you need to use a plugin that requires it).

If furthermore you don't need to interface with Subversion, then all you need besides are a few Python packages. It doesn't hurt to have an svn client at hand for checking out the latest "trunk" version of some packages, like Trac itself or Genshi.

Installing Python on Windows

After the installation, don't forget to add the path to the directory where you chose to install Python to your PATH environment variable. This is important to be able to run the Python executable from any directory in the command line.

Python 2.4

Download and run the Python MSI installer: python-2.4.4.msi

Python 2.5

Simply download and install the appropriate .msi for your Python platform:

(Note that the Subversion project doesn't provide amd64 or ia64 setup executables, so if you want to use Subversion integration, you'll need to either compile the bindings yourself, or use the x86 version of Python).

Method 1: Using Installers

You need to download and install the following packages, pick the link appropriate to your Python version:

Mandatory Packages Installers
SetupTools setuptools-0.6c7.win32-py2.X.exe (2.5, 2.4, 2.3)
Genshi 0.5 Genshi-0.5.win32-X.exe (2.5, 2.4, 2.3)
Trac 0.11 trac-0.11.win32.exe (works for Python 2.3, 2.4 and 2.5)

Optional Packages Installers (see notes below)
PySqlite pysqlite-2.4.0.win32-py2.X.exe (2.5, 2.4, 2.3) (1)
Subversion svn-python-1.4.6.win32-py2.X.exe - (2.5, 2.4, 2.3) (2)
ClearSilver clearsilver-0.9.14.win32-py2.X.exe - (2.5, 2.4, 2.3) (3)

Notes:

  1. Pysqlite
    • If you're using Python 2.5, Trac is able to use the built-in sqlite3 module (same as Pysqlite 2.3.2), so you don't necessarily need to install that package.
    • If you plan to use another database than SQLite, installing Pysqlite is of course not needed. See the TracOnWindows/Advanced instructions for other options.
  2. Subversion
    • You don't necessarily need Subversion. You can use Trac with other versioning system backends or none at all.
    • If you need Subversion, the above links should be fine, unless you need to use Trac within Apache 2.2. In that case you need Apache 2.2 compatible binaries. But beware, this is a tricky install, as it seems that there exist various incompatibilities between the various released binaries (in particular, see ticket:6739#comment:9).
  3. Clearsilver You only need Clearsilver if you're using a plugin that was not yet ported to Genshi.

Method 2: Manual Installation

This methods is about using easy_install (from Setuptools) at the command line. Ideally, once everything will have settle down, this will be a matter of doing easy_install Trac Don't try that yet, though, rather go through the following steps.

Setuptools

Setuptools makes installation of Python software easier by automatically downloading and installing Python packages from the internet. It is also used to find and load Trac's plugins.

Download the setuptools installer: ez_setup.py

When the download completes double-click the "ez_setup.py" file from your download folder to install setuptools.

The command line

You'll need to open a Windows command line to install some of the necessary software:

  1. Click "Start" > "Run…" (or press Win+R)
  2. Type "cmd" and click "Ok" - this opens the Windows command console
  3. Type "cd c:\Python24\Scripts"

You should now be in the folder "C:\Python24\Scripts" where you can run the "easy_install" command to install the required software.

Installing Genshi

Download the zip package:

Unzip to a folder and then from that folder run python setup.py install in a command window. (Make sure you have added the Python install path (e.g. C:\Program Files\Python25) to your system PATH variable. You can do this by right clicking on My Computer, clicking on Properties, selecting the Advanced tab, clicking the Environment Variables button, scrolling down the second list window until you see the 'Path' variable, then editing the string to add the Python install path. Then start command line for Genshi installation.)

Install PySQLite

Install the PySqlite database driver:

easy_install pysqlite

If you want to use another database than SQLite, you need to read the TracOnWindows/Advanced instructions.

Note: When installing PySQLite this way, you may see the following error:

Error: Setup script exited with error: Python was built with version 7.1 of Visual Studio, and extensions need to be built with the same version of the compiler, but it isn't installed.

If so, try installing PySQLite with the Windows executable installer referenced in the Method 1 above.

When it has finished downloading, double-click on it to run the installer. On the first window of the installation dialog, click Next to begin the installation process.

On the second window, confirm the Python install directory. If you have followed the instructions above, it will be "c:\python24\". The default install directory will show as "c:\python24\Lib\site-packages\". Accept the defaults or change them to match your own directory structure. Click Next to proceed.

The next window in the dialog gives you a chance to cancel or continue. To continue, click Next.

On the next window, the installer shows you installation progress as files are written to the target locations. When the processing is complete, click Finish. If you check the contents of c:\python24\Lib\site-packages\ directory, you should see the directory pysqlite2, which contains the database scripts.

Install Subversion (optional)

Trac can integrate with the Subversion version control software. Follow these steps if you'd like to use Trac with Subversion. You can learn more about how they can integrate from the wiki: TracSubversion.

This document covers using the Subversion command line tools, but you can also use the TortoiseSVN Windows GUI.

Download and run the installer for the Subversion command line tools: svn-1.4.2-setup.exe

The installation begins by displaying a small dialog titled Setup. It asks you whether you wish to continue. Click Yes.

A larger window appears, titled Setup - Subversion. The first window of the dialog says "Welcome to the Subversion Setup Wizard". Click Next. Click "I accept the agreement" and then click Next. On the next window, read the important information and click Next.

Select your destination directory for the Subversion installation. Click Next. You will then have the option of installing a Subversion menu item on the Start Menu, and a selection of places to put Subversion icons. Click Next. Finally you are ready to install. Click Next and the files will be copied to your selected destination. A couple more windows follow the install process, and then you're done.

Go back to your command line to install the Subversion Python library:

easy_install -Z http://subversion.tigris.org/downloads/1.4.5-win32/apache-2.0/svn-python-1.4.5.win32-py2.5.exe

(pick the appropriate download link matching your installed Python version)

Note: the "-Z" option is necessary when installing Subversion so that it is "unzipped". Trac will not be able to access Subversion if it is zipped.

The installation process will begin with "Downloading http://subversion.tigris.org/downloads/svn-python-1.4.2.win32-py2.4.exe" and — if successful — ends with "Processing dependencies for svn-python==1.4.2".

Install ClearSilver (optional)

Install the ClearSilver template language:

easy_install -f http://clearsilver.net/downloads clearsilver==0.9.14

Installing mod_python (optional)

This is needed if you want to use with the Apache HTTP server.

If you are using an Apache server, you will need the latest mod_python for windows, built against Python v2.5. Currently version 3.3.1 is available at the Apache website (click on "Other Files" and surf to modpython/win/3.3.1/). However, you can also get other versions here, courtesy of a very kind and wise gentleman called Nicolas Lehuen. See TracModPython for instructions.

An alternative would be to use mod_wsgi (download mod_wsgi.so 2.0c5 for several Apache and Python combinations). See TracModWSGI for instructions.

Installing plugins

There's no need to install the WebAdmin plugin, as it has now been integrated in Trac proper. Quite to the contrary, you should remove it if you're upgrading (it will be automatically disable though, so don't worry).

See TracPlugins for details about plugin installation.

For example, you can install the SpamFilter plugin. For that, you can grab them directly from the repository, and install it the same way you did for Trac:

> cd C:\src
> svn checkout http://svn.edgewall.org/repos/trac/sandbox/spam-filter 
> cd spam-filter
> python setup.py install

Note if you catch an error:"ImportError: No module named setuptools" please download http://peak.telecommunity.com/dist/ez_setup.py and install the setuptools.

If for some reason the above step fails, either because there's no package for the Windows platform you're using or the setuptools don't manage to read information from your svn working copy (if you used Subversion 1.4 for doing the checkout), you'll probably need to install first a recent setuptools package, itself available from http://svn.python.org/projects/sandbox/trunk/setuptools. Version 0.7a1 (r51948) from the repository worked for me.

Installing Trac

You simply need the latest trunk (0.11dev) - to get this type the following in the command window. (Make sure you have added the Python install path (e.g. C:\Program Files\Python25) to your system PATH variable. You can do this by right clicking on My Computer, clicking on Properties, selecting the Advanced tab, clicking the Environment Variables button, scrolling down the second list window until you see the 'Path' variable, then editing the string to add the Python install path). Make sure you have setuptools installed before proceed.

> cd C:\src
> svn checkout http://svn.edgewall.org/repos/trac/trunk
> cd trunk
> python setup.py install

Then, have a look at how to setup the TracEnvironment, use the TracStandalone web front-end and you're set.

More specifically, do this to get 0.11 with webadmin up and running:

Create an administrator user (uses a script described elsewhere in the wiki)
python trac-digest.py -u adm -p adm >> c:\digest.txt

Give that user all permissions
trac-admin c:\myproj permission add adm TRAC_ADMIN

Now…
tracd -p 8000 —auth=myproj,c:\digest.txt,trac c:\myproj

And you'll be able to see the Admin tab if you log in with 'adm'

Getting Started

Ok, now that Trac and all its requirements have been installed you can create your first project and try it out.

This example will create the projects in "C:\projects". This is a good default location, but you can put them in another drive or folder if you prefer.

Back to the command line:

md c:\projects
cd c:\projects

Optional: if you're using Trac with Subversion you can create a new repository for your source code:

md c:\projects\svn
svnadmin create c:\projects\svn\my-project

This step causes Subversion to create a subdirectory (c:\projects\svn\my-project) containing the basics of a Subversion project.

Initialize a new Trac project environment:

First go to the 'Scripts' folder in your Python install directory (e.g. "\Python25\Scripts"), and add the '.py' extension onto the files 'tracd' and 'trac-admin' if this is missing. Then, type the following at the command line:

md c:\projects\trac
c:\Python25\Scripts\trac-admin.exe c:\projects\trac\my-project initenv

Follow the interactive prompts to input information about your project. If you are unsure what to put you can simply press "Enter" to accept the default value.

Project Name [My Project]> 

Database connecting string [sqlite:db/trac.db]>

Repository type [svn]>

Path to repository [/path/to/repos]>

Template directory [C:\Python25\share\trac\templates]>

After this response, the script will say "Creating and Initializing Project". A large number of messages will scroll, finishing with "Congratulations!".

Note for Subversion users: when asked for the "Path to repository" input the folder of the repository you just created:

Path to repository [/path/to/repos]> c:/projects/svn/my-project

Note: be sure to include the full path, including the drive letter.

Try it out

Trac includes a standalone webserver called tracd. You can also use Trac with other webservers, but you should first try tracd to make sure everything's set up and working correctly:

From the command line, and in the [Python Install]\Scripts directory:

tracd-script.py -p 8000 c:\projects\trac\my-project

This exits with the following error on my system:

Usage: tracd-script.py [options] [projenv] …

tracd-script.py: error: either the —env-parent-dir option or at least one environment must be specified

The following works, though:

tracd.exe -p 8000 c:\projects\trac\my-project

—- dummzeuch

Open your browser to http://localhost:8000 to test out your new Trac project. You should see the title "Welcome to Trac 0.11b2" in your browser, and in the command window from which you just launched tracd there will be a series of status log messages. These messages will continue to update as you move around the Trac site. When you are done, return to the command window from which you launched tracd and press Ctrl+Break to stop tracd.

Creating authentication with tracd on Windows (Standalone)

If you are running tracd without Apache, you can use this simple Python script to generate your passwords for tracd. Copy the contents below into a new file called 'C:\Python25\scripts\trac-digest.py'.

from optparse import OptionParser
import md5

# build the options
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
                  help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
                  help="the password to use")
(options, args) = parser.parse_args()

# check options
if (options.username is None) or (options.password is None):
   parser.error("You must supply both the username and password")
   
# Generate the string to enter into the htdigest file
realm = 'trac'
kd = lambda x: md5.md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))

You can create a new password file, or add new users to the file, by executing this command from the command line:

C:\Python25\Scripts\trac-digest.py -u "My User Name" -p my@user@password >> C:\projects\passwords.txt

To start tracd with authentication, execute this command from the command line:

C:\Python25\Scripts\tracd-script.py -p 8000 --auth=my-project,C:\projects\passwords.txt,trac c:\projects\trac\my-project

Using SSL with tracd on Windows (Standalone)

(Please fill this section out).

Troubleshooting

pkg_resources.DistributionNotFound: Trac==0.11

You just installed Trac 0.11, now you're trying to use it (e.g. by using tracd.exe fresh from the Scripts/ directory in your Python installation) and you're welcomed by a backtrace featuring the above error…

Chances are that like me you skipped the Genshi installation step, thinking you had a version recent enough (like 0.5dev). But you actually need 0.5 or newer (0.5.1, 0.6dev, etc.), 0.5dev won't work and you'll get the above (a bit misleading) error.

Of course, this problem can only happen when using the binary installer for Trac, it can't happen when you're using easy_install.

Unsupported version control system "svn"

The Subversion library is not installed properly. Be sure you used the "-Z" option with easy_install when installing the Subversion bindings.

Also, ensure you are using forward slashes for the svn repository directory.

Error: Setup script exited with error: Python was built with version 7.1 of Visual Studio, and extensions need to be built with the same version of the compiler, but it isn't installed.

Note that something similar is probably happens between the apache 2.2 httpd.exe, python.exe, mod_python.so and the Subversion bindings. See #6739.

From http://www.mail-archive.com/trac-dev@googlegroups.com/msg00997.html

The problem is that the pre-built Windows binaries for PySQLite are currently not detected by setuptools, so it is trying to download and compile the sources which requires a build environment. Unfortunately this is not particularly common or easy on Windows. I have reported the problem to the PySQLite developers, so hopefully they will addresss this soon: http://initd.org/tracker/pysqlite/ticket/191

It appears you can successfully install Trac by following a combination of Method 2: Manual Installation and Method 1: Using Installers, above. The critical step for installing PySQLite is to use the self-installing EXE version, which does not trigger the bogus compile step. As noted above, download and execute the appropriate file:

PySqlite pysqlite-2.3.2.win32-py2.4.exe (or the Python 2.3 version)

See also: the TracOnWindows/Advanced instructions, TracOnWindows/Rewrite for discussing improvements to this page, 0.10/TracOnWindows and Trac0.9/TracOnWindows for the previous version of this document.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.