This walks through install Pyblosxom as a FastCGI application on a Lighttpd web server with mod_fcgi installed.
If you find any issues, please let us know.
If you can help with the documentation efforts, please let us know.
Make sure mod_fcgi is installed correctly and working.
Create a blog—see the instructions for the blog directories, config.py setup and other bits of Setting up a blog in install_cgi.
Create a pyblosxom.wsgi script that looks something like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env python
# This is the pyblosxom.wsgi script that powers the _______
# blog.
import sys
def add_to_path(d):
if d not in sys.path:
sys.path.insert(0, d)
# call add_to_path with the directory that your config.py lives in.
add_to_path("/home/joe/blog")
# if you have Pyblosxom installed in a directory and NOT as a
# Python library, then call add_to_path with the directory that
# Pyblosxom lives in. For example, if I untar'd
# pyblosxom-1.5.tar.gz into /home/joe/, then add like this:
# add_to_path("/home/joe/pyblosxom-1.5/")
import Pyblosxom.pyblosxom
application = Pyblosxom.pyblosxom.PyblosxomWSGIApp()
from flup.server.fcgi import WSGIServer
WSGIServer(application).run()
|
Don’t forget to make it executable by Lighttpd. I did it like this:
chown :www-data pyblosxom.wsgi
chmod g+x pyblosxom.wsgi
This way you change group ownership to the group that lighty belongs to and give all group members execution permission.
Create /etc/lighttpd/conf-available/90-myblog.conf with this content:
server.modules += ( "mod_fastcgi" )
$HTTP["host"] =~ "(^|\.*)yourhost\.com$" {
#### fastcgi module
## read fastcgi.txt for more info
# this line may help with finding what's wrong, check out errorlog file
fastcgi.debug=1
fastcgi.server = (
"/myblog" => (
"main" => (
"host" => "127.0.0.1",
"port" => 3033,
"check-local" => "disable",
"max-procs" => 1,
"bin-path" => "/path/to/pyblosxom.wsgi"
)
)
)
}
You must change yourhost.com to match your domain.
Fascgi.debug line is useful for finding out why your app doesn’t work. Error messages go to /var/log/lighttpd/errors.log unless configured otherwise. When it all works, set it to 0.
Change /myblog to the url path you want your blog to live at. If you want it at root node (like http://yourhost.com/ ), set it to /.
Select any not used port number.
Checkout what check-local and max-procs mean in Lighttpd docs.
Change /path/to/pyblosxom.wsgi to be the absolute path to the .wsgi file set up in step 3.
Now you can enable and disable this part of configuration with lighttpd-enable-mod and lighttpd-disable-mod, so now do:
lighttpd-enable-mod myblog
service lighttpd force-reload
Note
Any time you make changes to Pyblosxom (update, add plugins, change configuration), you’ll have to force-reload configuration of Lighttpd.