Source

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:

 * [http://www.python.org/ Python], version >= 2.1.
 * [http://subversion.tigris.org/ subversion], version >= 0.37.
 * [http://pysqlite.sf.net/ pysqlite], version >= 0.4.3
 * [http://clearsilver.net/ ClearSilver], version >= 0.9.3
 * A CGI-capable web server (only tested with Apache)

== Installing Trac ==
{{{
        $ python ./setup.py 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"
</Location>

# 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
</location>
}}}

== What next? ==

You should now have a working Trac installation at:

http://<yourhostname>/cgi-bin/trac.cgi

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.

Enjoy!