Toadhttpd distributes with a tcl based build tool that can perform local installations or shrink wrap all of the critical pieces into a self-contained executable. Toadhttpd prefers to maintain its own copies of modules, rather than rely on packages managed by teapot or the local operating system. This means that two independent copies of toadhttpd can be resident on the same server at the same time.
These instructions will become more elaborate as we move out of the design phase and into the this is production software! phase.
For now the instructions to set up toadhttpd are to unpack the fossil repository into a folder. (Not the folder you are going to install to!). And then use the make.tcl script to have toadhttpd assemble everything it will need.
Toadhttpd depends on the following external projects:
Tcl Standard Library. NOTE: You will need to check out the hypnotoad branch. It has the most up-to-date implementation of the httpd module.
The Tcl Architecture of objects. Basically, a big reusable framework for TclOO code.
When I got to set things up, here are the steps:
mkdir -p ~/tcl/download fossil clone http://fossil.etoyoc.com/fossil/tcllib ~/tcl/download/tcllib.fossil fossil clone http://fossil.etoyoc.com/fossil/taolib ~/tcl/download/taolib.fossil fossil clone http://fossil.etoyoc.com/fossil/toadhttpd ~/tcl/download/toadhttpd.fossil mkdir -p ~/tcl/sandbox/tcllib cd ~/tcl/sandbox/tcllib fossil open ~/tcl/download/tcllib.fossil hypnotoad mkdir -p ~/tcl/sandbox/taolib cd ~/tcl/sandbox/taolib fossil open ~/tcl/download/taolib.fossil trunk mkdir -p ~/tcl/sandbox/toadhttpd cd ~/tcl/sandbox/toadhttpd fossil open ~/tcl/download/toadhttpd.fossil trunk tclsh make.tcl install ~/www/mynewsite
This will install all of the code needed to run toadhttpd in the directory ~/www/mysite. Change that to whatever suits for your needs.
To run toadhttpd:
cd ~/www/mysite tclsh httpd.tcl
The stock server will serve up content from the htdocs directory inside of wherever toadhttpd was installed.
For more on customizing your installation see Configuration.