Toadhttpd

Hex Artifact Content
Login

Artifact 9cb52e9c50de2f09f33b694f336c953c79188aaa184ec85d97427e63ffe8f2b0:

Wiki page [Deploying] by hypnotoad 2018-05-03 20:50:58.
0000: 44 20 32 30 31 38 2d 30 35 2d 30 33 54 32 30 3a  D 2018-05-03T20:
0010: 35 30 3a 35 38 2e 31 30 32 0a 4c 20 44 65 70 6c  50:58.102.L Depl
0020: 6f 79 69 6e 67 0a 50 20 36 38 37 39 37 62 65 66  oying.P 68797bef
0030: 65 64 35 64 32 66 39 33 31 61 32 34 64 31 33 31  ed5d2f931a24d131
0040: 39 33 38 35 37 63 61 38 65 64 66 38 38 64 37 32  93857ca8edf88d72
0050: 64 65 35 62 63 32 62 38 34 31 31 39 34 36 34 35  de5bc2b841194645
0060: 62 65 65 35 30 39 37 36 0a 55 20 68 79 70 6e 6f  bee50976.U hypno
0070: 74 6f 61 64 0a 57 20 32 37 31 37 0a 44 65 70 6c  toad.W 2717.Depl
0080: 6f 79 69 6e 67 20 7c 20 5b 43 6f 6e 66 69 67 75  oying | [Configu
0090: 72 61 74 69 6f 6e 5d 20 7c 20 5b 43 75 73 74 6f  ration] | [Custo
00a0: 6d 69 7a 69 6e 67 5d 0d 0a 3c 68 31 3e 44 65 70  mizing]..<h1>Dep
00b0: 6c 6f 79 69 6e 67 20 54 6f 61 64 68 74 74 70 64  loying Toadhttpd
00c0: 3c 2f 68 31 3e 0d 0a 0d 0a 54 6f 61 64 68 74 74  </h1>....Toadhtt
00d0: 70 64 20 64 69 73 74 72 69 62 75 74 65 73 20 77  pd distributes w
00e0: 69 74 68 20 61 20 74 63 6c 20 62 61 73 65 64 20  ith a tcl based 
00f0: 62 75 69 6c 64 20 74 6f 6f 6c 20 74 68 61 74 20  build tool that 
0100: 63 61 6e 20 70 65 72 66 6f 72 6d 20 6c 6f 63 61  can perform loca
0110: 6c 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 73 20  l installations 
0120: 6f 72 20 73 68 72 69 6e 6b 20 77 72 61 70 20 61  or shrink wrap a
0130: 6c 6c 20 6f 66 20 74 68 65 20 63 72 69 74 69 63  ll of the critic
0140: 61 6c 20 70 69 65 63 65 73 20 69 6e 74 6f 20 61  al pieces into a
0150: 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20   self-contained 
0160: 65 78 65 63 75 74 61 62 6c 65 2e 20 54 6f 61 64  executable. Toad
0170: 68 74 74 70 64 20 70 72 65 66 65 72 73 20 74 6f  httpd prefers to
0180: 20 6d 61 69 6e 74 61 69 6e 20 69 74 73 20 6f 77   maintain its ow
0190: 6e 20 63 6f 70 69 65 73 20 6f 66 20 6d 6f 64 75  n copies of modu
01a0: 6c 65 73 2c 20 72 61 74 68 65 72 20 74 68 61 6e  les, rather than
01b0: 20 72 65 6c 79 20 6f 6e 20 70 61 63 6b 61 67 65   rely on package
01c0: 73 20 6d 61 6e 61 67 65 64 20 62 79 20 74 65 61  s managed by tea
01d0: 70 6f 74 20 6f 72 20 74 68 65 20 6c 6f 63 61 6c  pot or the local
01e0: 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65   operating syste
01f0: 6d 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68  m. This means th
0200: 61 74 20 74 77 6f 20 69 6e 64 65 70 65 6e 64 65  at two independe
0210: 6e 74 20 63 6f 70 69 65 73 20 6f 66 20 74 6f 61  nt copies of toa
0220: 64 68 74 74 70 64 20 63 61 6e 20 62 65 20 72 65  dhttpd can be re
0230: 73 69 64 65 6e 74 20 6f 6e 20 74 68 65 20 73 61  sident on the sa
0240: 6d 65 20 73 65 72 76 65 72 20 61 74 20 74 68 65  me server at the
0250: 20 73 61 6d 65 20 74 69 6d 65 2e 0d 0a 3c 70 3e   same time...<p>
0260: 0d 0a 54 68 65 73 65 20 69 6e 73 74 72 75 63 74  ..These instruct
0270: 69 6f 6e 73 20 77 69 6c 6c 20 62 65 63 6f 6d 65  ions will become
0280: 20 6d 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 20   more elaborate 
0290: 61 73 20 77 65 20 6d 6f 76 65 20 6f 75 74 20 6f  as we move out o
02a0: 66 20 74 68 65 20 64 65 73 69 67 6e 20 70 68 61  f the design pha
02b0: 73 65 20 61 6e 64 20 69 6e 74 6f 20 74 68 65 20  se and into the 
02c0: 3c 69 3e 74 68 69 73 20 69 73 20 70 72 6f 64 75  <i>this is produ
02d0: 63 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 21 3c  ction software!<
02e0: 2f 69 3e 20 70 68 61 73 65 2e 0d 0a 3c 70 3e 0d  /i> phase...<p>.
02f0: 0a 46 6f 72 20 6e 6f 77 20 74 68 65 20 69 6e 73  .For now the ins
0300: 74 72 75 63 74 69 6f 6e 73 20 74 6f 20 73 65 74  tructions to set
0310: 20 75 70 20 74 6f 61 64 68 74 74 70 64 20 61 72   up toadhttpd ar
0320: 65 20 74 6f 20 75 6e 70 61 63 6b 20 74 68 65 20  e to unpack the 
0330: 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72  fossil repositor
0340: 79 20 69 6e 74 6f 20 61 20 66 6f 6c 64 65 72 2e  y into a folder.
0350: 20 28 4e 6f 74 20 74 68 65 20 66 6f 6c 64 65 72   (Not the folder
0360: 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74   you are going t
0370: 6f 20 69 6e 73 74 61 6c 6c 20 74 6f 21 29 2e 20  o install to!). 
0380: 41 6e 64 20 74 68 65 6e 20 75 73 65 20 74 68 65  And then use the
0390: 20 6d 61 6b 65 2e 74 63 6c 20 73 63 72 69 70 74   make.tcl script
03a0: 20 74 6f 20 68 61 76 65 20 74 6f 61 64 68 74 74   to have toadhtt
03b0: 70 64 20 61 73 73 65 6d 62 6c 65 20 65 76 65 72  pd assemble ever
03c0: 79 74 68 69 6e 67 20 69 74 20 77 69 6c 6c 20 6e  ything it will n
03d0: 65 65 64 2e 0d 0a 3c 70 3e 0d 0a 54 6f 61 64 68  eed...<p>..Toadh
03e0: 74 74 70 64 20 64 65 70 65 6e 64 73 20 6f 6e 20  ttpd depends on 
03f0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78  the following ex
0400: 74 65 72 6e 61 6c 20 70 72 6f 6a 65 63 74 73 3a  ternal projects:
0410: 0d 0a 0d 0a 3c 68 32 3e 74 63 6c 6c 69 62 3c 2f  ....<h2>tcllib</
0420: 68 32 3e 0d 0a 4f 66 66 69 63 69 61 6c 3a 20 3c  h2>..Official: <
0430: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
0440: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72  core.tcl-lang.or
0450: 67 2f 74 63 6c 6c 69 62 22 3e 68 74 74 70 73 3a  g/tcllib">https:
0460: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e  //core.tcl-lang.
0470: 6f 72 67 2f 74 63 6c 6c 69 62 3c 2f 61 3e 3c 62  org/tcllib</a><b
0480: 72 3e 0d 0a 4d 69 72 72 6f 72 3a 20 3c 61 20 68  r>..Mirror: <a h
0490: 72 65 66 3d 22 2f 66 6f 73 73 69 6c 2f 74 63 6c  ref="/fossil/tcl
04a0: 6c 69 62 22 3e 68 74 74 70 3a 2f 2f 66 6f 73 73  lib">http://foss
04b0: 69 6c 2e 65 74 6f 79 6f 63 2e 63 6f 6d 2f 66 6f  il.etoyoc.com/fo
04c0: 73 73 69 6c 2f 74 63 6c 6c 69 62 3c 2f 61 3e 0d  ssil/tcllib</a>.
04d0: 0a 3c 70 3e 0d 0a 54 63 6c 20 53 74 61 6e 64 61  .<p>..Tcl Standa
04e0: 72 64 20 4c 69 62 72 61 72 79 2e 20 4e 4f 54 45  rd Library. NOTE
04f0: 3a 20 59 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20  : You will need 
0500: 74 6f 20 63 68 65 63 6b 20 6f 75 74 20 74 68 65  to check out the
0510: 20 3c 69 3e 68 79 70 6e 6f 74 6f 61 64 3c 2f 69   <i>hypnotoad</i
0520: 3e 20 62 72 61 6e 63 68 2e 20 49 74 20 68 61 73  > branch. It has
0530: 20 74 68 65 20 6d 6f 73 74 20 75 70 2d 74 6f 2d   the most up-to-
0540: 64 61 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74  date implementat
0550: 69 6f 6e 20 6f 66 20 74 68 65 20 68 74 74 70 64  ion of the httpd
0560: 20 6d 6f 64 75 6c 65 2e 0d 0a 0d 0a 3c 68 32 3e   module.....<h2>
0570: 54 61 6f 6c 69 62 3c 2f 68 32 3e 0d 0a 4f 66 66  Taolib</h2>..Off
0580: 69 63 69 61 6c 3a 20 3c 61 20 68 72 65 66 3d 22  icial: <a href="
0590: 2f 66 6f 73 73 69 6c 2f 74 61 6f 6c 69 62 22 3e  /fossil/taolib">
05a0: 68 74 74 70 3a 2f 2f 66 6f 73 73 69 6c 2e 65 74  http://fossil.et
05b0: 6f 79 6f 63 2e 63 6f 6d 2f 66 6f 73 73 69 6c 2f  oyoc.com/fossil/
05c0: 74 61 6f 6c 69 62 3c 2f 61 3e 0d 0a 3c 70 3e 0d  taolib</a>..<p>.
05d0: 0a 54 68 65 20 54 63 6c 20 41 72 63 68 69 74 65  .The Tcl Archite
05e0: 63 74 75 72 65 20 6f 66 20 6f 62 6a 65 63 74 73  cture of objects
05f0: 2e 20 42 61 73 69 63 61 6c 6c 79 2c 20 61 20 62  . Basically, a b
0600: 69 67 20 72 65 75 73 61 62 6c 65 20 66 72 61 6d  ig reusable fram
0610: 65 77 6f 72 6b 20 66 6f 72 20 54 63 6c 4f 4f 20  ework for TclOO 
0620: 63 6f 64 65 2e 0d 0a 0d 0a 3c 68 32 3e 54 6f 61  code.....<h2>Toa
0630: 64 68 74 74 70 64 3c 2f 68 32 3e 0d 0a 4f 66 66  dhttpd</h2>..Off
0640: 69 63 69 61 6c 3a 20 3c 61 20 68 72 65 66 3d 22  icial: <a href="
0650: 2f 66 6f 73 73 69 6c 2f 74 6f 61 64 68 74 74 70  /fossil/toadhttp
0660: 64 22 3e 68 74 74 70 3a 2f 2f 66 6f 73 73 69 6c  d">http://fossil
0670: 2e 65 74 6f 79 6f 63 2e 63 6f 6d 2f 66 6f 73 73  .etoyoc.com/foss
0680: 69 6c 2f 74 6f 61 64 68 74 74 70 64 3c 2f 61 3e  il/toadhttpd</a>
0690: 0d 0a 3c 70 3e 0d 0a 54 68 69 73 20 70 72 6f 6a  ..<p>..This proj
06a0: 65 63 74 0d 0a 3c 68 72 3e 0d 0a 0d 0a 57 68 65  ect..<hr>....Whe
06b0: 6e 20 49 20 67 6f 74 20 74 6f 20 73 65 74 20 74  n I got to set t
06c0: 68 69 6e 67 73 20 75 70 2c 20 68 65 72 65 20 61  hings up, here a
06d0: 72 65 20 74 68 65 20 73 74 65 70 73 3a 0d 0a 0d  re the steps:...
06e0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 6d 6b 64  .<verbatim>..mkd
06f0: 69 72 20 2d 70 20 7e 2f 74 63 6c 2f 64 6f 77 6e  ir -p ~/tcl/down
0700: 6c 6f 61 64 0d 0a 66 6f 73 73 69 6c 20 63 6c 6f  load..fossil clo
0710: 6e 65 20 68 74 74 70 3a 2f 2f 66 6f 73 73 69 6c  ne http://fossil
0720: 2e 65 74 6f 79 6f 63 2e 63 6f 6d 2f 66 6f 73 73  .etoyoc.com/foss
0730: 69 6c 2f 74 63 6c 6c 69 62 20 7e 2f 74 63 6c 2f  il/tcllib ~/tcl/
0740: 64 6f 77 6e 6c 6f 61 64 2f 74 63 6c 6c 69 62 2e  download/tcllib.
0750: 66 6f 73 73 69 6c 0d 0a 66 6f 73 73 69 6c 20 63  fossil..fossil c
0760: 6c 6f 6e 65 20 68 74 74 70 3a 2f 2f 66 6f 73 73  lone http://foss
0770: 69 6c 2e 65 74 6f 79 6f 63 2e 63 6f 6d 2f 66 6f  il.etoyoc.com/fo
0780: 73 73 69 6c 2f 74 61 6f 6c 69 62 20 7e 2f 74 63  ssil/taolib ~/tc
0790: 6c 2f 64 6f 77 6e 6c 6f 61 64 2f 74 61 6f 6c 69  l/download/taoli
07a0: 62 2e 66 6f 73 73 69 6c 0d 0a 66 6f 73 73 69 6c  b.fossil..fossil
07b0: 20 63 6c 6f 6e 65 20 68 74 74 70 3a 2f 2f 66 6f   clone http://fo
07c0: 73 73 69 6c 2e 65 74 6f 79 6f 63 2e 63 6f 6d 2f  ssil.etoyoc.com/
07d0: 66 6f 73 73 69 6c 2f 74 6f 61 64 68 74 74 70 64  fossil/toadhttpd
07e0: 20 7e 2f 74 63 6c 2f 64 6f 77 6e 6c 6f 61 64 2f   ~/tcl/download/
07f0: 74 6f 61 64 68 74 74 70 64 2e 66 6f 73 73 69 6c  toadhttpd.fossil
0800: 0d 0a 6d 6b 64 69 72 20 2d 70 20 7e 2f 74 63 6c  ..mkdir -p ~/tcl
0810: 2f 73 61 6e 64 62 6f 78 2f 74 63 6c 6c 69 62 0d  /sandbox/tcllib.
0820: 0a 63 64 20 7e 2f 74 63 6c 2f 73 61 6e 64 62 6f  .cd ~/tcl/sandbo
0830: 78 2f 74 63 6c 6c 69 62 0d 0a 66 6f 73 73 69 6c  x/tcllib..fossil
0840: 20 6f 70 65 6e 20 7e 2f 74 63 6c 2f 64 6f 77 6e   open ~/tcl/down
0850: 6c 6f 61 64 2f 74 63 6c 6c 69 62 2e 66 6f 73 73  load/tcllib.foss
0860: 69 6c 20 68 79 70 6e 6f 74 6f 61 64 0d 0a 6d 6b  il hypnotoad..mk
0870: 64 69 72 20 2d 70 20 7e 2f 74 63 6c 2f 73 61 6e  dir -p ~/tcl/san
0880: 64 62 6f 78 2f 74 61 6f 6c 69 62 0d 0a 63 64 20  dbox/taolib..cd 
0890: 7e 2f 74 63 6c 2f 73 61 6e 64 62 6f 78 2f 74 61  ~/tcl/sandbox/ta
08a0: 6f 6c 69 62 0d 0a 66 6f 73 73 69 6c 20 6f 70 65  olib..fossil ope
08b0: 6e 20 7e 2f 74 63 6c 2f 64 6f 77 6e 6c 6f 61 64  n ~/tcl/download
08c0: 2f 74 61 6f 6c 69 62 2e 66 6f 73 73 69 6c 20 74  /taolib.fossil t
08d0: 72 75 6e 6b 0d 0a 6d 6b 64 69 72 20 2d 70 20 7e  runk..mkdir -p ~
08e0: 2f 74 63 6c 2f 73 61 6e 64 62 6f 78 2f 74 6f 61  /tcl/sandbox/toa
08f0: 64 68 74 74 70 64 0d 0a 63 64 20 7e 2f 74 63 6c  dhttpd..cd ~/tcl
0900: 2f 73 61 6e 64 62 6f 78 2f 74 6f 61 64 68 74 74  /sandbox/toadhtt
0910: 70 64 0d 0a 66 6f 73 73 69 6c 20 6f 70 65 6e 20  pd..fossil open 
0920: 7e 2f 74 63 6c 2f 64 6f 77 6e 6c 6f 61 64 2f 74  ~/tcl/download/t
0930: 6f 61 64 68 74 74 70 64 2e 66 6f 73 73 69 6c 20  oadhttpd.fossil 
0940: 74 72 75 6e 6b 0d 0a 0d 0a 74 63 6c 73 68 20 6d  trunk....tclsh m
0950: 61 6b 65 2e 74 63 6c 20 69 6e 73 74 61 6c 6c 20  ake.tcl install 
0960: 7e 2f 77 77 77 2f 6d 79 6e 65 77 73 69 74 65 0d  ~/www/mynewsite.
0970: 0a 3c 2f 76 65 72 62 61 74 69 6d 20 3e 0d 0a 0d  .</verbatim >...
0980: 0a 54 68 69 73 20 77 69 6c 6c 20 69 6e 73 74 61  .This will insta
0990: 6c 6c 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 6f  ll all of the co
09a0: 64 65 20 6e 65 65 64 65 64 20 74 6f 20 72 75 6e  de needed to run
09b0: 20 74 6f 61 64 68 74 74 70 64 20 69 6e 20 74 68   toadhttpd in th
09c0: 65 20 64 69 72 65 63 74 6f 72 79 20 3c 62 3e 7e  e directory <b>~
09d0: 2f 77 77 77 2f 6d 79 73 69 74 65 3c 2f 62 3e 2e  /www/mysite</b>.
09e0: 20 43 68 61 6e 67 65 20 74 68 61 74 20 74 6f 20   Change that to 
09f0: 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 66  whatever suits f
0a00: 6f 72 20 79 6f 75 72 20 6e 65 65 64 73 2e 0d 0a  or your needs...
0a10: 0d 0a 54 6f 20 72 75 6e 20 74 6f 61 64 68 74 74  ..To run toadhtt
0a20: 70 64 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d  pd:....<verbatim
0a30: 3e 0d 0a 63 64 20 7e 2f 77 77 77 2f 6d 79 73 69  >..cd ~/www/mysi
0a40: 74 65 0d 0a 74 63 6c 73 68 20 68 74 74 70 64 2e  te..tclsh httpd.
0a50: 74 63 6c 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  tcl..</verbatim>
0a60: 0d 0a 0d 0a 54 68 65 20 73 74 6f 63 6b 20 73 65  ....The stock se
0a70: 72 76 65 72 20 77 69 6c 6c 20 73 65 72 76 65 20  rver will serve 
0a80: 75 70 20 63 6f 6e 74 65 6e 74 20 66 72 6f 6d 20  up content from 
0a90: 74 68 65 20 3c 62 3e 68 74 64 6f 63 73 3c 2f 62  the <b>htdocs</b
0aa0: 3e 20 64 69 72 65 63 74 6f 72 79 20 69 6e 73 69  > directory insi
0ab0: 64 65 20 6f 66 20 77 68 65 72 65 76 65 72 20 74  de of wherever t
0ac0: 6f 61 64 68 74 74 70 64 20 77 61 73 20 69 6e 73  oadhttpd was ins
0ad0: 74 61 6c 6c 65 64 2e 0d 0a 0d 0a 46 6f 72 20 6d  talled.....For m
0ae0: 6f 72 65 20 6f 6e 20 63 75 73 74 6f 6d 69 7a 69  ore on customizi
0af0: 6e 67 20 79 6f 75 72 20 69 6e 73 74 61 6c 6c 61  ng your installa
0b00: 74 69 6f 6e 20 73 65 65 20 5b 43 6f 6e 66 69 67  tion see [Config
0b10: 75 72 61 74 69 6f 6e 5d 2e 0a 5a 20 66 36 65 65  uration]..Z f6ee
0b20: 30 66 35 63 30 63 34 38 64 61 31 33 32 35 39 39  0f5c0c48da132599
0b30: 34 35 62 32 38 64 39 34 33 63 63 33 0a           45b28d943cc3.