Fossil SCM

Moved the "Serving via althttpd" material from www/ssl.wiki to a new document, www/server/any/althttpd.md, linked from www/server.wiki.

wyoung 2019-08-16 10:11 server-docs
Commit 2e19fcee33b3268eb22d7256955560fb967a4105595a27d16f165e5303c88da2
+5 -1
--- www/server.wiki
+++ www/server.wiki
@@ -51,11 +51,11 @@
5151
</blockquote>
5252
5353
<table style="margin-left: 6em;">
5454
<tr>
5555
<th>&nbsp;</th>
56
- <th colspan="10" style="background-color: #efefef">Fossil Front-End Program</th>
56
+ <th colspan="11" style="background-color: #efefef">Fossil Front-End Program</th>
5757
</tr>
5858
5959
<tr>
6060
<th style="background-color: #e8e8e8; padding: 6px; text-align: right">Host OS</th>
6161
<th>none</th>
@@ -62,10 +62,11 @@
6262
<th>inetd</th>
6363
<th>xinetd</th>
6464
<th>stunnel</th>
6565
<th>CGI</th>
6666
<th>SCGI</th>
67
+ <th>althttpd</th>
6768
<th>nginx</th>
6869
<th>Apache</th>
6970
<th>IIS</th>
7071
<th>OS&nbsp;service</th>
7172
</tr>
@@ -76,10 +77,11 @@
7677
<td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
7778
<td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
7879
<td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
7980
<td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
8081
<td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
82
+ <td style="text-align: center"><a href="./server/any/althttpd.md">✅</a></td>
8183
<td style="text-align: center">❌</td>
8284
<td style="text-align: center">❌</td>
8385
<td style="text-align: center">❌</td>
8486
<td style="text-align: center">❌</td>
8587
</tr>
@@ -90,10 +92,11 @@
9092
<td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
9193
<td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
9294
<td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
9395
<td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
9496
<td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
97
+ <td style="text-align: center"><a href="./server/any/althttpd.md">✅</a></td>
9598
<td style="text-align: center"><a href="./server/debian/nginx.md">✅</a></td>
9699
<td style="text-align: center">❌</td>
97100
<td style="text-align: center">❌</td>
98101
<td style="text-align: center">❌</td>
99102
</tr>
@@ -102,10 +105,11 @@
102105
<th style="background-color: #e8e8e8; padding: 6px; text-align: right">Windows</th>
103106
<td style="text-align: center">❌</td>
104107
<td style="text-align: center">❌</td>
105108
<td style="text-align: center">❌</td>
106109
<td style="text-align: center"><a href="./server/windows/stunnel.md">✅</a></td>
110
+ <td style="text-align: center">❌</td>
107111
<td style="text-align: center">❌</td>
108112
<td style="text-align: center">❌</td>
109113
<td style="text-align: center">❌</td>
110114
<td style="text-align: center">❌</td>
111115
<td style="text-align: center">❌</td>
112116
113117
ADDED www/server/any/althttpd.md
--- www/server.wiki
+++ www/server.wiki
@@ -51,11 +51,11 @@
51 </blockquote>
52
53 <table style="margin-left: 6em;">
54 <tr>
55 <th>&nbsp;</th>
56 <th colspan="10" style="background-color: #efefef">Fossil Front-End Program</th>
57 </tr>
58
59 <tr>
60 <th style="background-color: #e8e8e8; padding: 6px; text-align: right">Host OS</th>
61 <th>none</th>
@@ -62,10 +62,11 @@
62 <th>inetd</th>
63 <th>xinetd</th>
64 <th>stunnel</th>
65 <th>CGI</th>
66 <th>SCGI</th>
 
67 <th>nginx</th>
68 <th>Apache</th>
69 <th>IIS</th>
70 <th>OS&nbsp;service</th>
71 </tr>
@@ -76,10 +77,11 @@
76 <td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
77 <td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
78 <td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
79 <td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
80 <td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
 
81 <td style="text-align: center">❌</td>
82 <td style="text-align: center">❌</td>
83 <td style="text-align: center">❌</td>
84 <td style="text-align: center">❌</td>
85 </tr>
@@ -90,10 +92,11 @@
90 <td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
91 <td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
92 <td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
93 <td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
94 <td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
 
95 <td style="text-align: center"><a href="./server/debian/nginx.md">✅</a></td>
96 <td style="text-align: center">❌</td>
97 <td style="text-align: center">❌</td>
98 <td style="text-align: center">❌</td>
99 </tr>
@@ -102,10 +105,11 @@
102 <th style="background-color: #e8e8e8; padding: 6px; text-align: right">Windows</th>
103 <td style="text-align: center">❌</td>
104 <td style="text-align: center">❌</td>
105 <td style="text-align: center">❌</td>
106 <td style="text-align: center"><a href="./server/windows/stunnel.md">✅</a></td>
 
107 <td style="text-align: center">❌</td>
108 <td style="text-align: center">❌</td>
109 <td style="text-align: center">❌</td>
110 <td style="text-align: center">❌</td>
111 <td style="text-align: center">❌</td>
112
113 DDED www/server/any/althttpd.md
--- www/server.wiki
+++ www/server.wiki
@@ -51,11 +51,11 @@
51 </blockquote>
52
53 <table style="margin-left: 6em;">
54 <tr>
55 <th>&nbsp;</th>
56 <th colspan="11" style="background-color: #efefef">Fossil Front-End Program</th>
57 </tr>
58
59 <tr>
60 <th style="background-color: #e8e8e8; padding: 6px; text-align: right">Host OS</th>
61 <th>none</th>
@@ -62,10 +62,11 @@
62 <th>inetd</th>
63 <th>xinetd</th>
64 <th>stunnel</th>
65 <th>CGI</th>
66 <th>SCGI</th>
67 <th>althttpd</th>
68 <th>nginx</th>
69 <th>Apache</th>
70 <th>IIS</th>
71 <th>OS&nbsp;service</th>
72 </tr>
@@ -76,10 +77,11 @@
77 <td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
78 <td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
79 <td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
80 <td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
81 <td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
82 <td style="text-align: center"><a href="./server/any/althttpd.md">✅</a></td>
83 <td style="text-align: center">❌</td>
84 <td style="text-align: center">❌</td>
85 <td style="text-align: center">❌</td>
86 <td style="text-align: center">❌</td>
87 </tr>
@@ -90,10 +92,11 @@
92 <td style="text-align: center"><a href="./server/any/inetd.md">✅</a></td>
93 <td style="text-align: center"><a href="./server/any/xinetd.md">✅</a></td>
94 <td style="text-align: center"><a href="./server/any/stunnel.md">✅</a></td>
95 <td style="text-align: center"><a href="./server/any/cgi.md">✅</a></td>
96 <td style="text-align: center"><a href="./server/any/scgi.md">✅</a></td>
97 <td style="text-align: center"><a href="./server/any/althttpd.md">✅</a></td>
98 <td style="text-align: center"><a href="./server/debian/nginx.md">✅</a></td>
99 <td style="text-align: center">❌</td>
100 <td style="text-align: center">❌</td>
101 <td style="text-align: center">❌</td>
102 </tr>
@@ -102,10 +105,11 @@
105 <th style="background-color: #e8e8e8; padding: 6px; text-align: right">Windows</th>
106 <td style="text-align: center">❌</td>
107 <td style="text-align: center">❌</td>
108 <td style="text-align: center">❌</td>
109 <td style="text-align: center"><a href="./server/windows/stunnel.md">✅</a></td>
110 <td style="text-align: center">❌</td>
111 <td style="text-align: center">❌</td>
112 <td style="text-align: center">❌</td>
113 <td style="text-align: center">❌</td>
114 <td style="text-align: center">❌</td>
115 <td style="text-align: center">❌</td>
116
117 DDED www/server/any/althttpd.md
--- a/www/server/any/althttpd.md
+++ b/www/server/any/althttpd.md
@@ -0,0 +1,32 @@
1
+# Serving via althttpd
2
+
3
+The public SQLite and Fossil web sites are not purely served by Fossil
4
+for two reasons:
5
+
6
+1. We want access to these sites to be secured with TLS, which we do
7
+ [via `stunnel`](./stunnel.md).
8
+
9
+2. Parts of these web sites are static, stored as plain files on disk,
10
+ not as Fossil artifacts. We serve such files using a separate web
11
+ server called [`althttpd`][ah], written by the primary author of
12
+ both SQLite and Fossil, D. Richard Hipp. `althttpd` is a lightweight
13
+ HTTP-only web server. It handles the static HTTP hits on
14
+ <tt>sqlite.org</tt> and <tt>fossil-scm.org</tt>, delegating HTTPS
15
+ hits to `stunnel` and dynamic content hits to Fossil [via
16
+ CGI][cgi].
17
+
18
+The largest single chunk of static content served directly by `althttpd`
19
+rather than via Fossil is the [SQLite documentation][sd], which is built
20
+[from source files][ds]. We don’t want those output files stored in
21
+Fossil; we already keep that process’s *input* files in Fossil. Thus the
22
+choice to serve the output statically.
23
+
24
+In addition to the [server’s documentation page][ah], there is a large,
25
+helpful header comment in the server’s [single-file C
26
+implementation][ac]. Between that and the generic [Serving via CGI][cgi]
27
+docs, you should be able to figure out how to ser
28
+[ac]: https://sqlite.org/docsrc/file/misc/althttpd.c
29
+[ah]: https://sqlite.org/docsrc/doc/trunk/misc/althttpd.md
30
+[cgi]: ./cgi.md
31
+[ds]: https://sqlite.org/docsrc/
32
+[sd]: ht
--- a/www/server/any/althttpd.md
+++ b/www/server/any/althttpd.md
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/server/any/althttpd.md
+++ b/www/server/any/althttpd.md
@@ -0,0 +1,32 @@
1 # Serving via althttpd
2
3 The public SQLite and Fossil web sites are not purely served by Fossil
4 for two reasons:
5
6 1. We want access to these sites to be secured with TLS, which we do
7 [via `stunnel`](./stunnel.md).
8
9 2. Parts of these web sites are static, stored as plain files on disk,
10 not as Fossil artifacts. We serve such files using a separate web
11 server called [`althttpd`][ah], written by the primary author of
12 both SQLite and Fossil, D. Richard Hipp. `althttpd` is a lightweight
13 HTTP-only web server. It handles the static HTTP hits on
14 <tt>sqlite.org</tt> and <tt>fossil-scm.org</tt>, delegating HTTPS
15 hits to `stunnel` and dynamic content hits to Fossil [via
16 CGI][cgi].
17
18 The largest single chunk of static content served directly by `althttpd`
19 rather than via Fossil is the [SQLite documentation][sd], which is built
20 [from source files][ds]. We don’t want those output files stored in
21 Fossil; we already keep that process’s *input* files in Fossil. Thus the
22 choice to serve the output statically.
23
24 In addition to the [server’s documentation page][ah], there is a large,
25 helpful header comment in the server’s [single-file C
26 implementation][ac]. Between that and the generic [Serving via CGI][cgi]
27 docs, you should be able to figure out how to ser
28 [ac]: https://sqlite.org/docsrc/file/misc/althttpd.c
29 [ah]: https://sqlite.org/docsrc/doc/trunk/misc/althttpd.md
30 [cgi]: ./cgi.md
31 [ds]: https://sqlite.org/docsrc/
32 [sd]: ht
+1 -18
--- www/ssl.wiki
+++ www/ssl.wiki
@@ -216,28 +216,11 @@
216216
That's covered [./server/any/stunnel.md | elsewhere].
217217
218218
219219
<h3 id="althttpd">stunnel + althttpd</h3>
220220
221
-The public SQLite and Fossil web sites can't just use stunnel + Fossil
222
-because parts of the web site are static, served by
223
-[https://sqlite.org/docsrc/doc/trunk/misc/althttpd.md|a separate web
224
-server called <tt>althttpd</tt>], written by the primary author of both
225
-SQLite and Fossil. <tt>althttpd</tt> is a lightweight HTTP-only web
226
-server. It handles the static HTTP hits on <tt>sqlite.org</tt> and
227
-<tt>fossil-scm.org</tt>, delegating HTTPS hits to stunnel and dynamic
228
-content hits to Fossil.
229
-
230
-(The largest single chunk of static content served directly by
231
-<tt>althttpd</tt> rather than via Fossil is the
232
-[https://sqlite.org/docs.html | SQLite documentation], which is built
233
-[https://sqlite.org/docsrc/ | from source files] and then served
234
-statically.)
235
-
236
-In addition to the documentation linked above, there is a large header
237
-comment in the [https://sqlite.org/docsrc/file/misc/althttpd.c|single C
238
-file] of <tt>althttpd</tt> which is most helpful.
221
+That's covered [./server/any/althttpd.md | elsewhere].
239222
240223
241224
<h3 id="nginx">nginx</h3>
242225
243226
If your needs are more complex than althttpd can handle or you'd prefer
244227
--- www/ssl.wiki
+++ www/ssl.wiki
@@ -216,28 +216,11 @@
216 That's covered [./server/any/stunnel.md | elsewhere].
217
218
219 <h3 id="althttpd">stunnel + althttpd</h3>
220
221 The public SQLite and Fossil web sites can't just use stunnel + Fossil
222 because parts of the web site are static, served by
223 [https://sqlite.org/docsrc/doc/trunk/misc/althttpd.md|a separate web
224 server called <tt>althttpd</tt>], written by the primary author of both
225 SQLite and Fossil. <tt>althttpd</tt> is a lightweight HTTP-only web
226 server. It handles the static HTTP hits on <tt>sqlite.org</tt> and
227 <tt>fossil-scm.org</tt>, delegating HTTPS hits to stunnel and dynamic
228 content hits to Fossil.
229
230 (The largest single chunk of static content served directly by
231 <tt>althttpd</tt> rather than via Fossil is the
232 [https://sqlite.org/docs.html | SQLite documentation], which is built
233 [https://sqlite.org/docsrc/ | from source files] and then served
234 statically.)
235
236 In addition to the documentation linked above, there is a large header
237 comment in the [https://sqlite.org/docsrc/file/misc/althttpd.c|single C
238 file] of <tt>althttpd</tt> which is most helpful.
239
240
241 <h3 id="nginx">nginx</h3>
242
243 If your needs are more complex than althttpd can handle or you'd prefer
244
--- www/ssl.wiki
+++ www/ssl.wiki
@@ -216,28 +216,11 @@
216 That's covered [./server/any/stunnel.md | elsewhere].
217
218
219 <h3 id="althttpd">stunnel + althttpd</h3>
220
221 That's covered [./server/any/althttpd.md | elsewhere].
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
223
224 <h3 id="nginx">nginx</h3>
225
226 If your needs are more complex than althttpd can handle or you'd prefer
227

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button