Project

General

Profile

Actions

HowToSetupTrac » History » Revision 12

« Previous | Revision 12/18 (diff) | Next »
cuerty, 2009-06-07 23:32
Added the needed fastcgi.server section in a top-level installation.


How to setup trac with Lighttpd

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.

Common setup using FastCGI


$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" 

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 entry for `"" => "/path/to/trac.fcgi"` and "fix-root-scriptname" => "enable" in fastcgi.server.

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.

Common setup using CGI

Take a look at the updated Trac setup 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 well documented way.

trac provides a seperated tracd which is started locally at port 9090:


#!ShellExample
$ tracd -b 127.0.0.1 -p 9090 /path/to/trac/lighttpd/

To forward all requests from the webserver to trac the proxy module is used:


$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 )))
}

Updated by cuerty over 15 years ago · 12 revisions