Setting up Trac as FastCGI
- From: Grigory Batalov <bga (at) tepkom.ru>
- Date: Wed, 1 Mar 2006 16:35:27 +0300
Hi!
I feel something goes wrong when I start Trac as FastCGI
application.
Every time I request URL in browser, trac turns me back to
the projects list and appends selected link to the end of the
current URL. So I can easily get something like
http://localhost:8081/projects/project1/project2/project3
And I got again to the projects list.
I guess, some environment variable (like SCRIPT_NAME or
PATH_INFO) isn't set correctly. Here is a script to watch
variables:
$ cat /tmp/getenv.pl
#!/usr/bin/perl -w
use FCGI;
while( FCGI::accept() >= 0 )
{
print( "Content-Type: text/plain", "\n\n" );
foreach $key (sort keys(%ENV)) {
print "$key = $ENV{$key}\n";
}
}
And what it returns (in Firefox browser):
DOCUMENT_ROOT = /html
FCGI_ROLE = RESPONDER
HTTP_ACCEPT = text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET = ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING = gzip,deflate
HTTP_ACCEPT_LANGUAGE = ru,en-us;q=0.7,en;q=0.3
HTTP_CONNECTION = keep-alive
HTTP_COOKIE = trac_session=a07db4a5cb8088d6ea4885c6
HTTP_HOST = localhost:8081
HTTP_KEEP_ALIVE = 300
HTTP_USER_AGENT = Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050520 Firefox/1.0.4
PATH = /bin:/usr/bin
PATH_INFO = /projects/aster/login
PATH_TRANSLATED = /usr/share/trac/cgi-bin/projects/aster/login
PHP_FCGI_CHILDREN = 5
PWD = /home/bga
QUERY_STRING =
REMOTE_ADDR = 127.0.0.1
REMOTE_USER =
REQUEST_METHOD = GET
REQUEST_URI = /projects/aster/login
SCRIPT_FILENAME = /usr/share/trac/cgi-bin/projects/aster/login
SCRIPT_NAME = /projects/aster/login
SERVER_NAME = bga.tepkom.spb.su
SERVER_PORT = 8081
SERVER_PROTOCOL = HTTP/1.1
SHLVL = 0
_ = sh
Trac users and developers, please, check what also is missing
or what is incorrect?
P.S. I use nginx web-server (http://www.sysoev.ru/en/) and it's
config looks like
location /projects/ {
fastcgi_pass localhost:1027;
fastcgi_param SCRIPT_FILENAME /usr/share/trac/cgi-bin$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_URI $fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/trac/cgi-bin$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REQUEST_METHOD $request_method;
# fastcgi_param CONTENT_TYPE $content_type;
# fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param DOCUMENT_ROOT $document_root;
}
_______________________________________________
Trac mailing list
Trac (at) lists.edgewall.com
http://lists.edgewall.com/mailman/listinfo/trac