trac-ticketlinks / wiki-default / TracInstall

= Trac Installation Guide =

The Trac web-based project management tool is implemented as a server
side cgi-program. Trac is written in the Python programming language
and store it's data in a sqlite database.

== Dependencies ==

The following dependencies have to be installed:

 * [ Python], version >= 2.1.
 * [ subversion], version >= 0.37.
 * [ pysqlite], version >= 0.4.3
 * [ ClearSilver], version >= 0.9.3
 * A CGI-capable web server (only tested with Apache)

== Installing Trac ==
        $ python ./ install

This will byte-compile the python source code and install it in the {{{site-packages}}} directory
of your python installation. The directories {{{templates}}}, {{{htdocs}}} and {{{wiki-default}}}
will be copied into $prefix/share/trac/ . 

== Initializing the database ==

Trac stores wiki pages, tickets and other information in a sqlite database. 
Sqlite databases are just ordinary files on the hard drive, no database server
is required.

A new trac database can be created like this:

        $ trac-admin /path/to/mydatabase.db initdb

NOTE: The database file have to be located in a directory where the web server
user has write permission to both the file and the directory.

{{{[wiki:TracAdmin trac-admin]}}} will ask you where your subversion repository is located and
where it can find the trac templates directory (the default value should be fine).

== Configuring Apache ==

copy (or symlink) "{{{trac/cgi-bin/trac.cgi}}}" to 
you web servers {{{/cgi-bin/}}} directory. Of course you can configure apache
to use the "{{{trac/cgi-bin/}}}" directory directly if you like.

Finally adjust the filenames and add this config snippet to your web server:
Alias /trac/ "/where/you/put/trac/htdocs/"
# Trac need to know where the database is located
<Location "/cgi-bin/trac.cgi">
        SetEnv TRAC_DB "/somewhere/myproject.db"

# You need this to allow users to authenticate
<Location "/cgi-bin/trac.cgi/login">
        AuthType Basic
        AuthName "trac"
        AuthUserFile /somewhere/trac.htpasswd
        Require valid-user

== What next? ==

You should now have a working Trac installation at:


There you should be able to browse your subversion repository, create tickets,
view the timeline etc. Keep in mind that anonymous users (before logging in)
are only able to see/use a subset of all the features provided by Trac. 
Please read TracPermissions on how to grant additional privileges to authenticated users.