Fossil SCM

Small tweaks to the Debian nginx doc.

wyoung 2020-11-16 02:42 trunk
Commit 14406b7ca25cb9f75c50b09c534272ed9c42a108e1b2733fa4b2639246f22f95
1 file changed +18 -16
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -34,21 +34,21 @@
3434
To give you some idea of the sort of thing you can readily
3535
accomplish with nginx, your author runs a single public web server
3636
that provides transparent name-based virtual hosting for four
3737
separate domains:
3838
39
- * One is entirely static, not involving any dynamic content or
40
- Fossil integration at all.
39
+ * <p>One is entirely static, not involving any dynamic content or
40
+ Fossil integration at all.</p>
4141
42
- * Another is served almost entirely by Fossil, with a few select
42
+ * <p>Another is served almost entirely by Fossil, with a few select
4343
static content exceptions punched past Fossil, which are handled
44
- entirely via nginx.
44
+ entirely via nginx.</p>
4545
46
- * The other two domains are aliases for one another — e.g.
46
+ * <p>The other two domains are aliases for one another — e.g.
4747
`example.com` and `example.net` — with most of the content being
48
- static. This pair of domains has three different Fossil repo
49
- proxies attached to various sections of the URI hierarchy.
48
+ static. This pair of domains has several unrelated Fossil repo
49
+ proxies attached to various sections of the URI hierarchy.</p>
5050
5151
By using nginx, I was able to do all of the above with minimal
5252
repetition between the site configurations.
5353
5454
* **Integration** — Because nginx is so popular, it integrates with
@@ -64,37 +64,35 @@
6464
## <a name="modes"></a>Fossil Service Modes
6565
6666
Fossil provides four major ways to access a repository it’s serving
6767
remotely, three of which are straightforward to use with nginx:
6868
69
-* **HTTP** — Fossil has a built-in HTTP server: [`fossil
70
- server`](../any/none.md). While this method is efficient and it’s
69
+* **HTTP** — Fossil has [a built-in HTTP server](../any/none.md).
70
+ While this method is efficient and it’s
7171
possible to use nginx to proxy access to another HTTP server, we
7272
don’t see any particularly good reason to make nginx reinterpret
7373
Fossil’s own implementation of HTTP when we have a better option.
7474
(But see [below](#http).)
75
+
76
+* **SSH** — This method exists primarily to avoid the need for HTTPS,
77
+ but we *want* HTTPS. (We’ll get to that [below](#tls).)
78
+ There is probably a way to get nginx to proxy Fossil to HTTPS via
79
+ SSH, but it would be pointlessly complicated.
7580
7681
* **CGI** — This method is simple but inefficient, because it launches
7782
a separate Fossil instance on every HTTP hit.
78
-
7983
Since Fossil is a relatively small self-contained program, and it’s
8084
designed to start up quickly, this method can work well in a
8185
surprisingly large number of cases.
82
-
8386
Nevertheless, we will avoid this option in this document because
8487
we’re already buying into a certain amount of complexity here in
8588
order to gain power. There’s no sense in throwing away any of that
8689
hard-won performance on CGI overhead.
8790
8891
* **SCGI** — The [SCGI protocol][scgip] provides the simplicity of CGI
8992
without its performance problems.
9093
91
-* **SSH** — This method exists primarily to avoid the need for HTTPS,
92
- but we *want* HTTPS. (We’ll get to that [below](#tls).)
93
- There is probably a way to get nginx to proxy Fossil to HTTPS via
94
- SSH, but it would be pointlessly complicated.
95
-
9694
SCGI it is, then.
9795
9896
[scgip]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface
9997
10098
@@ -102,10 +100,14 @@
102100
103101
The first step is to install some non-default packages we’ll need. SSH into
104102
your server, then say:
105103
106104
$ sudo apt install fossil nginx
105
+
106
+You can leave “`fossil`” out of that if you’re building Fossil from
107
+source to get a more up-to-date version than is shipped with the host
108
+OS.
107109
108110
109111
## <a name="scgi"></a>Running Fossil in SCGI Mode
110112
111113
For the following nginx configuration to work, it needs to contact a
112114
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -34,21 +34,21 @@
34 To give you some idea of the sort of thing you can readily
35 accomplish with nginx, your author runs a single public web server
36 that provides transparent name-based virtual hosting for four
37 separate domains:
38
39 * One is entirely static, not involving any dynamic content or
40 Fossil integration at all.
41
42 * Another is served almost entirely by Fossil, with a few select
43 static content exceptions punched past Fossil, which are handled
44 entirely via nginx.
45
46 * The other two domains are aliases for one another — e.g.
47 `example.com` and `example.net` — with most of the content being
48 static. This pair of domains has three different Fossil repo
49 proxies attached to various sections of the URI hierarchy.
50
51 By using nginx, I was able to do all of the above with minimal
52 repetition between the site configurations.
53
54 * **Integration** — Because nginx is so popular, it integrates with
@@ -64,37 +64,35 @@
64 ## <a name="modes"></a>Fossil Service Modes
65
66 Fossil provides four major ways to access a repository it’s serving
67 remotely, three of which are straightforward to use with nginx:
68
69 * **HTTP** — Fossil has a built-in HTTP server: [`fossil
70 server`](../any/none.md). While this method is efficient and it’s
71 possible to use nginx to proxy access to another HTTP server, we
72 don’t see any particularly good reason to make nginx reinterpret
73 Fossil’s own implementation of HTTP when we have a better option.
74 (But see [below](#http).)
 
 
 
 
 
75
76 * **CGI** — This method is simple but inefficient, because it launches
77 a separate Fossil instance on every HTTP hit.
78
79 Since Fossil is a relatively small self-contained program, and it’s
80 designed to start up quickly, this method can work well in a
81 surprisingly large number of cases.
82
83 Nevertheless, we will avoid this option in this document because
84 we’re already buying into a certain amount of complexity here in
85 order to gain power. There’s no sense in throwing away any of that
86 hard-won performance on CGI overhead.
87
88 * **SCGI** — The [SCGI protocol][scgip] provides the simplicity of CGI
89 without its performance problems.
90
91 * **SSH** — This method exists primarily to avoid the need for HTTPS,
92 but we *want* HTTPS. (We’ll get to that [below](#tls).)
93 There is probably a way to get nginx to proxy Fossil to HTTPS via
94 SSH, but it would be pointlessly complicated.
95
96 SCGI it is, then.
97
98 [scgip]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface
99
100
@@ -102,10 +100,14 @@
102
103 The first step is to install some non-default packages we’ll need. SSH into
104 your server, then say:
105
106 $ sudo apt install fossil nginx
 
 
 
 
107
108
109 ## <a name="scgi"></a>Running Fossil in SCGI Mode
110
111 For the following nginx configuration to work, it needs to contact a
112
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -34,21 +34,21 @@
34 To give you some idea of the sort of thing you can readily
35 accomplish with nginx, your author runs a single public web server
36 that provides transparent name-based virtual hosting for four
37 separate domains:
38
39 * <p>One is entirely static, not involving any dynamic content or
40 Fossil integration at all.</p>
41
42 * <p>Another is served almost entirely by Fossil, with a few select
43 static content exceptions punched past Fossil, which are handled
44 entirely via nginx.</p>
45
46 * <p>The other two domains are aliases for one another — e.g.
47 `example.com` and `example.net` — with most of the content being
48 static. This pair of domains has several unrelated Fossil repo
49 proxies attached to various sections of the URI hierarchy.</p>
50
51 By using nginx, I was able to do all of the above with minimal
52 repetition between the site configurations.
53
54 * **Integration** — Because nginx is so popular, it integrates with
@@ -64,37 +64,35 @@
64 ## <a name="modes"></a>Fossil Service Modes
65
66 Fossil provides four major ways to access a repository it’s serving
67 remotely, three of which are straightforward to use with nginx:
68
69 * **HTTP** — Fossil has [a built-in HTTP server](../any/none.md).
70 While this method is efficient and it’s
71 possible to use nginx to proxy access to another HTTP server, we
72 don’t see any particularly good reason to make nginx reinterpret
73 Fossil’s own implementation of HTTP when we have a better option.
74 (But see [below](#http).)
75
76 * **SSH** — This method exists primarily to avoid the need for HTTPS,
77 but we *want* HTTPS. (We’ll get to that [below](#tls).)
78 There is probably a way to get nginx to proxy Fossil to HTTPS via
79 SSH, but it would be pointlessly complicated.
80
81 * **CGI** — This method is simple but inefficient, because it launches
82 a separate Fossil instance on every HTTP hit.
 
83 Since Fossil is a relatively small self-contained program, and it’s
84 designed to start up quickly, this method can work well in a
85 surprisingly large number of cases.
 
86 Nevertheless, we will avoid this option in this document because
87 we’re already buying into a certain amount of complexity here in
88 order to gain power. There’s no sense in throwing away any of that
89 hard-won performance on CGI overhead.
90
91 * **SCGI** — The [SCGI protocol][scgip] provides the simplicity of CGI
92 without its performance problems.
93
 
 
 
 
 
94 SCGI it is, then.
95
96 [scgip]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface
97
98
@@ -102,10 +100,14 @@
100
101 The first step is to install some non-default packages we’ll need. SSH into
102 your server, then say:
103
104 $ sudo apt install fossil nginx
105
106 You can leave “`fossil`” out of that if you’re building Fossil from
107 source to get a more up-to-date version than is shipped with the host
108 OS.
109
110
111 ## <a name="scgi"></a>Running Fossil in SCGI Mode
112
113 For the following nginx configuration to work, it needs to contact a
114

Keyboard Shortcuts

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