trac-ticketlinks / wiki-default / TracOnDebian

= Installing and Running Trac on Debian =

== Notes from a debian sarge install ==

As has been previously pointed out, a Debian package does not exist, hence you need to build it yourself. This isn't ''too'' onerous if you know where you might get bitten. Hopefully the following should be of some use.

'''Warning''': The instructions within will modify your system from the standard Debian install. Some packages will be pulled from the unstable distribution, and some packages are installed manually on your system. This may make it difficult to uninstall the software, or upgrade it in the future as Debian packages arrive. But for what it's worth, this setup seems to work fine.

First you need the SQLite, Subversion and the related python modules. Note that you need to use the version of subversion from unstable. Don't worry as Debians unstable is not really unstable, it's about as stable as typical redhat packages.

You might want to use apt-pinning, which is basically a way of stopping unstable dependancies from getting installed all over the place (try this [http://jaqque.sbih.org/kplug/apt-pinning.html guide for beginners]). Create or edit '''{{{/etc/apt/preferences}}}''' and insert

{{{
Package: *
Pin: release a=testing
Pin-Priority: 650
                                                                                                
Package: *
Pin: release a=unstable
Pin-Priority: 600
}}}

You'll also need to add unstable to the '''{{{/etc/apt/sources.list}}}'''

{{{
deb http://security.debian.org/ stable/updates main
deb http://ftp.uk.debian.org/debian/ testing non-free
deb http://ftp.uk.debian.org/debian/ testing contrib
deb http://ftp.uk.debian.org/debian/ testing main
deb http://ftp.uk.debian.org/debian/ unstable main
}}}

Thats what mine looks like

{{{
apt-get install sqlite python2.3-subversion python2.3-sqlite 
apt-get -t unstable install subversion
}}}

Clearsilver isn't available as a package so get clearsilver from http://www.clearsilver.net/ (tested [http://www.clearsilver.net/downloads/clearsilver-0.9.8.tar.gz 0.9.8])

{{{
tar xvfz clearsilver-0.9.8.tar.gz
cd clearsilver-0.9.8
./configure
make
make install
cd python/
ln -s /usr/bin/python2.3 /usr/bin/python
make
make install
}}}

This should then allow you to build and initialise trac.

Note:  I found I needed to change the first line in scripts/document.py from '#!/usr/local/bin/python' to '#!/usr/bin/python' --Tom Hoffman

When you come to running it though you'll also have to add the env_module using the following line in your '''{{{/etc/apache/modules.conf}}}'''

{{{
LoadModule env_module /usr/lib/apache/1.3/mod_env.so
}}}

I then set up a trac.conf in my '''{{{/etc/apache/conf.d}}}''' folder like so

{{{
<VirtualHost local.trac>
    alias /trac/ "/usr/share/trac/htdocs/"
    ServerAdmin youremail@yourdomain.tld
    DocumentRoot /home/tim/myTrac
    ServerName local.trac
    ErrorLog /home/tim/myTrac/logs/error.log
    CustomLog /home/tim/myTrac/logs/access_log common
    AddHandler cgi-script cgi
    <Location "/cgi-bin/trac.cgi">
      SetEnv TRAC_DB "/home/tim/myTrac/tracdb/mydb"
      Options FollowSymLinks +ExecCGI
      AllowOverride None
    </Location>
</VirtualHost>
}}}
Don't forget to create those log folders though (apachectl configtest doesn't warn you about that one)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.