HowToSetupTrac » History » Revision 10
Revision 9 (Anonymous, 2006-09-22 08:29) → Revision 10/18 (Anonymous, 2006-09-22 08:29)
h1. = How to setup trac with Lighttpd "Trac":http://www.edgewall.com/trac/ = [http://www.edgewall.com/trac/ Trac] is an enhanced wiki and issue tracking system for software development projects. lighttpd.net is using it as its bug-tracking system and web-frontend for "subversion":http://subversion.tigris.org/. h2. [http://subversion.tigris.org/ subversion]. == Common setup using FastCGI <pre> == {{{ $HTTP["host"] == "trac.example.com" { server.document-root = "/www/htdocs/sites/trac.example.com" alias.url = ( "/trac_prefix/chrome/common/" => "/usr/share/trac/htdocs/", ) # rewrite for multiple svn project url.rewrite-final = ( "^/trac_prefix/[^/]+/chrome/common/(.*)" => "/trac_prefix/chrome/common/$1", ) $HTTP["url"] =~ "^/trac_prefix/chrome/" { # no fastcgi } # end of $HTTP["url"] =~ "^/trac_prefix/chrome/" else $HTTP["url"] =~ "^/trac_prefix" { fastcgi.server = ( "/" => ( ( "bin-path" => "/usr/share/webapps/trac/0.9.3/hostroot/cgi-bin/trac.fcgi", "socket" => "/tmp/trac.sock", "check-local" => "disable", "disable-time" => 1, "min-procs" => 1, "max-procs" => 1, "bin-environment" => ( "TRAC_ENV_PARENT_DIR" => "/var/lib/trac/", ), ), ), ) } # end of $HTTP["url"] =~ "^/trac_prefix" } # end of $HTTP["host"] == "trac.example.com" </pre> }}} Change "/trac_prefix" (neither "/trac_prefix/" nor "trac_prefix/", nor "trac_prefix") to anything else or even remove it if you want. '''For top level setup:''' In order to have Trac running at the top level of a virtual host, you also need an @alias.url@ `alias.url` entry for `"" => "/path/to/trac.fcgi"` If you only want one svn project, then replace "TRAC_ENV_PARENT_DIR" with "TRAC_ENV" and change "/var/lib/trac" to the correct subdirectory. h2. == Common setup using CGI == Take a look at the [[TracInstall|updated [wiki:TracInstall updated Trac setup documentation]] h2. documentation] == Separated setup == The webserver at lighttpd.net is living in a chroot which separates the webserver-root from the rest of the system and the subversion repositories. As trac requires physical access it couldn't be installed in the [[TracInstall|well [wiki:TracInstall well documented way]]. way]. trac provides a seperated tracd which is started locally at port 9090: <pre> {{{ #!ShellExample $ tracd -b 127.0.0.1 -p 9090 /path/to/trac/lighttpd/ </pre> }}} To forward all requests from the webserver to trac the "proxy module":http://www.lighttpd.net/documentation/proxy.html [http://www.lighttpd.net/documentation/proxy.html proxy module] is used: <pre> {{{ $HTTP["host"] == "trac.lighttpd.net" { # forward all requests at trac.lighttpd.net to the tracd proxy.server = ("" => ( "trac" => ( "host" => "127.0.0.1", "port" => 9090 ))) } </pre> }}}