Getting PyBlosxom SCGI working under Lighttpd
Took another whack at getting PyBlosxom/SCGI working with Lighttpd, this time with better success. (I'm still getting up-to-speed with Lighttpd). This is working with the exact same SCGI setup I was working on the other day.
To elaborate a bit, the setup I'm trying to achieve is to:
-
Have the blog to be completely under "
/blog/
" in the URL namespace - Not get it confused with anything else that begins with "/blog" such as "/blog2".
-
Use "
/blog/static/
" URLs for serving static resources like CSS stylesheets and images off the disk (instead of running those requests through PyBlosxom's CGI code).
This is what I ended up with, seems to work fairly well, and I'm impressed with how Lighttpd makes it easy to put together a understandable configuration.
#
# External redirection to add a trailing "/" if exactly
# "/blog" is requested
#
url.redirect = (
"^/blog$" => "http://barryp.org:81/blog/",
)
#
# The PyBlosxom Blog, lives under the "/blog/" url namespace
#
$HTTP["url"] =~ "^/blog/" {
#
# Static resources served from the disk
#
$HTTP["url"] =~ "^/blog/static/" {
alias.url = ("/blog/static/" => "/data/blog/static/")
}
#
# Everything non-static goes through SCGI
#
$HTTP["url"] !~ "^/blog/static/" {
scgi.server = ( "/blog" => (
(
"host" => "127.0.0.1",
"port" => 8040,
"check-local" => "disable",
)
)
)
}
}