Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

92 lines (54 sloc) 2.38 KB
This file explains how to build perpubplat. This is not for the
uninitiated or faint of heart, and I'll assume that you've got a good
level of familiarity with Apache (or some other FastCGI container like
lighttpd), Haskell, and standard *nix environments. (That said, what
you don't know is probably readily available by Googling.)
The "per" in perpubplat is for "personal", and I haven't gone out of
my way to make perpubplat configurable or customizable beyond my
immediate purposes. That said, I do intend to continue making
enhancements and customizations. On my roadmap:
- Better configuration (properties versus compiled in)
- Draft management (AtomPub and web interface)
- Threaded comments
- HTTP referer management
- Component management (turn off sidebar components, etc.)
You will need:
- GHC 6.8.3
- cabal-install (0.5.2 or greater)
- FastCGI libraries, installed somewhere your linker will know how to
find them. Download the source from
I will track the latest released version of GHC, so expect a bump when
new versions of GHC are released.
The git repository for perpubplat is hosted at github:
To clone the repository, do:
$ git clone git://
Or you can ask github to make you a tarball.
All of the relevant configuration parameters are in the Blog.Constants
module in the perpubplat library.
The libraries and executables all build the standard cabal-install
way, e.g.:
$ cd perpubplat
$ cabal install
This places the perpubplat.fcgi executable in ~/.cabal/bin. If you
want the executable in a different location:
$ cd perpubplat
$ cabal install --prefix=/path/to/other/location
Point your favorite FastCGI web container at perpubplat.fcgi. Some
help selecting and configuring a container is available from here:
Some sample Apache2 configuration fragments are included in the
*** NB: It is critically important that only one perpubplat.fcgi
process is running at a time, so configure the web container
accordingly. ***
Bootstrapping content is explained in this blog post:
Feel free to send me an email ( or a patch!
Jump to Line
Something went wrong with that request. Please try again.