I believe I figured this out myself: For some reason "trac.fcgi" is
referenced in the Trac Wiki as the required FastCGI cgi-bin file, but not
installed when you follow the method using "easy_install". I found the
required file in the Trac source gz and it "just worked"!
Here's my final Lighttpd conf:
290 $HTTP["host"] =~ "trac.foo.com" {
291 simple-vhost.server-root = "/srv/www/vhosts/"
292 simple-vhost.default-host = "trac.foo.com"
293 simple-vhost.document-root = "/htdocs/"
294 auth.backend = "htpasswd"
295 auth.backend.htpasswd.userfile = "/srv/www/vhosts/
trac.foo.com/lighttpd-htpasswd.user"
296 auth.require = ( "/" =>
297 (
298 "method" => "basic",
299 "realm" => "foouser",
300 "require" => "user=foouser"
301 ),
302 )
303 fastcgi.debug = 1
304 fastcgi.server = ("/" =>
305 ("" =>
306 (
307 "check-local" => "disable",
308 "socket" => "/tmp/trac-fastcgi.sock",
310 "bin-path" => "/srv/www/vhosts/trac.foo.com/trac.fcgi",
311 "bin-environment" => (
314 "TRAC_ENV" => "/srv/www/vhosts/
trac.foo.com/"
315 )
316 )
317 )
318 )
319 }
And here are the contents of trac.fcgi, which turns out to just be a python
script:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2003-2008 Edgewall Software
# Copyright (C) 2003-2004 Jonas Borgström <[EMAIL PROTECTED]>
# All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://trac.edgewall.org/wiki/TracLicense.
#
# This software consists of voluntary contributions made by many
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://trac.edgewall.org/log/.
#
# Author: Jonas Borgström <[EMAIL PROTECTED]>
try:
from trac.web import fcgi_frontend
fcgi_frontend.run()
except SystemExit:
raise
except Exception, e:
print 'Content-Type: text/plain\r\n\r\n',
print 'Oops...'
print
print 'Trac detected an internal error:'
print
print e
print
import traceback
import StringIO
tb = StringIO.StringIO()
traceback.print_exc(file=tb)
print tb.getvalue()
Now my lighty install is happy and connecting to my server works, but Trac
is giving me a new Subversion error I'm going to have to track down:
SubversionException: ("Expected FS format '2'; found format '3'", 160043)
On Thu, Sep 11, 2008 at 2:40 PM, dustin <[EMAIL PROTECTED]> wrote:
>
> I'm having a similar problem, but your solution mentioned here didn't
> solve it (in fact, it didn't even change the error message).
>
> I'm trying to get Trac installed using FastCGI for one vhost in my
> overall Lighty system. I already have FastCGI handling all ".php"
> requests on this server, and that is working wonderfully. I have about
> 10 vhosts, all working nicely, including the new one trying to serve
> trac out of "trac.foo.com".
>
> Here's my lighttpd conf:
>
> 327 $HTTP["host"] =~ "trac.foo.com" {
> 328 simple-vhost.server-root = "/srv/www/vhosts/"
> 329 simple-vhost.default-host = "trac.foo.com"
> 330 simple-vhost.document-root = "/htdocs/"
> 331 #auth.backend = "htdigest"
> 332 #auth.backend.htdigest.userfile = "/srv/www/vhosts/foo.com/
> wiki/htdocs/lighttpd-htdigest.user<http://foo.com/wiki/htdocs/lighttpd-htdigest.user>
> "
> 333 #auth.require = ( "/" =>
> 334 # (
> 335 # "method" => "digest",
> 336 # "realm" => "Foo Wiki",
> 337 # "require" => "user=foo"
> 338 # ),
> 339 # )
> 340 fastcgi.debug = 1
> 341 fastcgi.server = ("/trac" =>
> 342 ("trac" =>
> 343 (
> 344 "check-local" => "disable",
> 345 "socket" => "/tmp/trac-fastcgi.sock",
> 346 "bin-path" => "/usr/lib/python2.3/site-packages/
> Trac-0.11.1-py2.3.egg/trac/admin/templates/deploy_trac.fcgi",
> 347 "bin-environment" => (
> 348 "PYTHONPATH" => "/usr/lib/
> python2.3/site-packages",
> 349 "PYTHON_EGG_CACHE" => "/var/
> tmp/trac",
> 350 "TRAC_ENV" => "/srv/www/vhosts/
> foo.com/trac/"
> 351 )
> 352 )
> 353 )
> 354 )
> 355 }
>
> I suspect my problem is that when I installed Trac (
> http://trac.edgewall.org/wiki/TracInstall ) it didn't seem to come
> with the "trac.fcgi" that everyone references in their Lighttpd
> setups. Where is that file? Am I expected to write it myself? I found
> something that seems reasonable (see line 346 above), but it clearly
> isn't working.
>
> Any help is much appreciated!
>
>
>
> On Jun 4, 1:21 am, Michael Schmarck
> <[EMAIL PROTECTED]> wrote:
> > Hello!
> >
> >
> >
> > Michael Schmarck <[EMAIL PROTECTED]> writes:
> > > I can startup lighttpd just fine with this configuration. BUT when
> > > I try to access http://$SERVER/trac, I get this in the error log of
> > > lighttpd:
> >
> > > 2008-06-04 09:30:23: (log.c.75) server started
> > > 2008-06-04 09:30:28: (mod_fastcgi.c.1743) connect failed: Connection
> > > refused on unix:/tmp/trac-fastcgi.sock-3
> > > 2008-06-04 09:30:28: (mod_fastcgi.c.2912) backend died; we'll disable
> > > it for 5 seconds and send the request to another backend instead:
> > > reconnects: 0 load: 1
> > > 2008-06-04 09:30:28: (mod_fastcgi.c.2432) unexpected end-of-file
> > > (perhaps thefastcgiprocess died): 8
> > > 2008-06-04 09:30:28: (mod_fastcgi.c.3281) response not received,
> > > request sent: 931 on socket: unix:/tmp/trac-fastcgi.sock-3 for /trac,
> > > closing connection
> >
> > > $ ls -la /tmp/trac-fastcgi.sock-*
> > > srwxr-xr-x 1 webservd nobody 0 Jun 4 09:30
> /tmp/trac-fastcgi.sock-0
> > > srwxr-xr-x 1 webservd nobody 0 Jun 4 09:30
> /tmp/trac-fastcgi.sock-1
> > > srwxr-xr-x 1 webservd nobody 0 Jun 4 09:30
> /tmp/trac-fastcgi.sock-2
> > > srwxr-xr-x 1 webservd nobody 0 Jun 4 09:30
> /tmp/trac-fastcgi.sock-3
> >
> > As you can see/deduce here, I have lighttpd setup so, that it runs
> > as "webservd" user. To get everything to work, I needed to point
> > PYTHON_EGG_CACHE to some directory, were that user can write to.
> > So I changed my lighttpd.conf to read:
> >
> > $HTTP["url"] =~ "^/trac(?!/chrome/common)" {
> > # Even if you have otherfastcgi.server declarations for applications
> other thanTrac, do NOT use += here
> > fastcgi.server = ("/trac" =>
> > ("trac" =>
> > ("socket" => "/var/tmp/trac/fastcgi.sock",
> > "bin-path" =>
> > "/export/home/webservd/trac/Trac-0.11dev/cgi-bin/trac.fcgi",
> > "check-local" => "disable",
> > "bin-environment" =>
> > ("TRAC_ENV" =>
> "/export/home/webservd/trac/trac",
> > "LC_TIME" => "de_CH",
> > "PYTHONPATH" =>
> "/opt/csw/lib/python/site-packages",
> > "PYTHON_EGG_CACHE" => "/var/tmp/trac")
> > )
> > )
> > )
> >
> > }
> >
> > Ie. I needed to add PYTHON_EGG_CACHE to the "bin-environment".
> >
> > That's of course also covered in theTracdocumentation athttp://
> trac.edgewall.org/wiki/TracFastCgi#SimpleLighttpdConfiguration:)
> >
> > Out of interest: Where does lighttpd/python/trac/$whatever try to
> > write to, if PYTHON_EGG_CACHE is not set?
> >
> > Thanks a lot,
> > Michael
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/trac-users?hl=en
-~----------~----~----~----~------~----~------~--~---