[new 'examples' subdirectory
dan**19991223015144
new 'examples' subdirectory
new doc directory which will eventually have useful documentation in it
] {
adddir ./doc
addfile ./doc/index.html
hunk ./doc/index.html 1
+
Araneida
+
+Araneida: a free CMUCL-based web server
+
+
+
Araneida: a free CMUCL-based web server
+
+
Araneida is the third version of a small extensible CL-based web
+server that I wrote as a project to learn CL. That's a
+circumlocutious way to say that it may not be a really great body of
+code to learn Lisp style from.
+
+
Features/non-features
+
+
Free - BSD-without-advertising license, but for the modification
+that I'm not the Regents of the University of California
+
Non-portable - or at any rate, unported so far
+
Single-threaded, but (new in 0.3) uses the CMCUL event loop so
+you probably won't notice much
+
Designed to sit behing a caching proxy; can write appropriate
+bits of Apache config
+
Understands HTTP/1.1 Host: header for multiple host support
+
All content is dynamic and created by calling user-defined
+handler functions (there is a handler in there already that outputs
+files, if you need it)
+
Cheesy HTML-from-sexpr generation function makes balancing </td>
+tags suddenly trivially simple
+
Individual files for the current CVS version are also near that
+URL, if you can guess their names. Directory listings for the flat
+file server are, I guess, in the next version...
+
+
How to install it
+
+
Nobody has really got nice clean installation sorted out for CL
+programs, afaics. I tend to take the view that exposing people to the
+gritty Lisp details is probably more constructive than wrapping it all
+up in shell scripts that don't work on anyone else's system. So,
+installation takes a bit of fiddling.
+
+
+
Make your defsystem know how to find araneida.system. This
+probably means putting it into the current directory or a directory in
+your *central-registry* list (see mk-defsystem docs)
+
+
In the examples/ directory, copy
+loaclhost-telent-net.lisp to the appropriate name for your computer:
+usually this is the FQDN with #\. replaced by #\_) but if you
+get the wrong name it will stop and ask when you try to build the thing.
+
+
Prepare an Apache installation with proxy support. Configure it
+to include /tmp/apache.cf.inc or whatever you specified for
+*apache-config-segment* above.
+
+
Configuring Apache is Outside The Scope of these instructions, but
+as a start, here's what I do on my Debian laptop:
+
+(localhost should be the machine's actual hostname usually,
+but this thing has to run both standalone and on two different
+networks, and it's too much of a headache to make it behave entirely
+reasonably)
+
+