Since version 0.9, Trac supports being run through the [http://www.fastcgi.com/ FastCGI] interface. Like [wiki:TracModPython mod_python], this allows Trac to remain resident, and is faster than external CGI interfaces which must start a new process for each request. However, unlike mod_python, it is able to support [http://httpd.apache.org/docs/suexec.html SuEXEC]. Additionally, it is supported by much wider variety of web servers.
4
5
== Simple Apache configuration ==
6
{{{
7
# Enable fastcgi for .fcgi files
8
# (If you're using a distro package for mod_fcgi, something like
Configure `ScriptAlias` or similar options as described in TracCgi, but calling `trac.fcgi` instead of `trac.cgi`.
28
29
== Simple Lighttpd Configuration ==
30
31
The FastCGI front-end was developed primarily for use with alternative webservers, such as [http://www.lighttpd.net/ lighttpd].
32
33
lighttpd is a secure, fast, compliant and very flexible web-server that has been optimized for high-performance
34
environments. It has a very low memory footprint compared to other web servers and takes care of CPU load.
35
36
For using `trac.fcgi` with lighttpd add the following to your lighttpd.conf:
37
{{{
38
fastcgi.server = ("/trac" =>
39
("trac" =>
40
("socket" => "/tmp/trac-fastcgi.sock",
41
"bin-path" => "/path/to/cgi-bin/trac.fcgi",
42
"check-local" => "disable",
43
"bin-environment" =>
44
("TRAC_ENV" => "/path/to/projenv")
45
)
46
)
47
)
48
}}}
49
50
Note that you will need to add a new entry to `fastcgi.server` for each separate Trac instance that you wish to run. Alternatively, you may use the `TRAC_ENV_PARENT_DIR` variable instead of `TRAC_ENV` as described above.
51
52
Other important information like [http://trac.lighttpd.net/trac/wiki/TracInstall this updated TracInstall page], [wiki:TracCgi#MappingStaticResources and this] are useful for non-fastcgi specific installation aspects.
53
54
Relaunch lighttpd, and browse to `http://yourhost.example.org/trac` to access Trac.
55
56
----
57
See also TracCgi, TracModPython, TracInstall, TracGuide