[general reordering and split installation details in to their own file dan**20000103184414] { hunk ./doc/index.html 9 -written 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. +written (a) as a project to learn CL, and (b) because cl-http is +not free. + +

Prerequisites

+ + + +

If you've not used CMUCL before you might also want to look at my +CMUCL HOWTO for +setup instructions hunk ./doc/index.html 29 -

  • Non-portable - or at any rate, unported so far hunk ./doc/index.html 31 -
  • Designed to sit behing a caching proxy; can write appropriate -bits of Apache config +
  • Designed to sit behind a caching proxy; can write appropriate +bits of Apache config. +If this bothers you, pretend that mod_proxy is a typo for +mod_araneida. This includes playing nicely with SSL hunk ./doc/index.html 44 - -

    Examples

    hunk ./doc/index.html 45 -

    What you need

    +

    Documentation

    hunk ./doc/index.html 48 -
  • Linux/x86 -
  • CMUCL -
  • mk-defsystem -
  • Too much free time - -
  • Willingness to grapple with ipfw/ipchains to -prevent external access to tcp/8000 - +
  • Examples +
  • FAQ +
  • Tutorial, forthcoming eventually +
  • Reference documentation hunk ./doc/index.html 53 - hunk ./doc/index.html 57 -
  • Araneida web site, master copy +
  • Araneida web site, +canonical location of hunk ./doc/index.html 64 - -

    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 and it helps if you've used -mk-defsystem before. - -

      - -
    1. 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) - -
    2. Work out what Lisp thinks your FQDN is - -
      -* (ext:host-entry-name (ext:lookup-host-entry (unix:unix-gethostname)))
      -
      - -It will probably help if this is correct, for at least some value of -``correct''. - -
    3. You need to provide appropriate values for your host for the -variables in examples/variables.lisp. So that you can keep settings -for multiple hosts, these are stored in (your hostname with dots -replaced by hyphens).lisp - see e.g. -tninkpad-telent-net.lisp. Create the appropriate file in the -examples directory - -
    4. 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 are the relevant lines from my Debian laptop: -

      -LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
      -NameVirtualHost localhost
      -Include /tmp/apache.cf.inc
      -
      -(localhost should usually be the machine's actual hostname, -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) - -
    5. (make:compile-system 'araneida) - -
    6. (make:compile-system 'araneida-examples) - -
    7. Write the apache config file segment using -(araneida-examples::init) - now start or restart Apache - -
    8. Start the server event handlers using (araneida-examples::start) - -
    9. Fire up a web browser. Browse. - -
    10. Observe that the toplevel also still works - -
    11. Read ../examples/main.lisp -to see how it works - -
    12. Stop the web server event handlers with (araneida-examples:stop) hunk ./doc/index.html 65 -
    13. Send me mail and tell me how -badly broken these instructions are. +

      Linking

      hunk ./doc/index.html 67 -
    +

    Please don't link to pages on this site other than the one you're +looking at now: the documentation is in need of some restructuring and +its URLs will change. hunk ./doc/index.html 73 -$Date: 1999/12/28 20:26:29 $

    Daniel Barlow
    +$Date: 2000/01/03 18:44:14 $
    Daniel Barlow
    }