Fossil SCM

Replaced the content of "Running Fossil in SCGI Mode" within www/server/debian/nginx.md with references to our other Fossil server docs. This also reduces the prior focus of this section on fslsrv to a single sentence, since we now prefer the systemd option, now that we have it.

wyoung 2019-08-25 12:39 trunk
Commit a4bb92f7916cafff936ad23c4fbb38da47aeea47b8a5cd20f90f1ce3e5281b35
1 file changed +12 -45
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -107,55 +107,22 @@
107107
$ sudo apt install fossil nginx
108108
109109
110110
## <a name="scgi"></a>Running Fossil in SCGI Mode
111111
112
-I run my Fossil SCGI server instances with a variant of [the `fslsrv`
113
-shell script](/file/tools/fslsrv) currently hosted in the Fossil source
114
-code repository. You’ll want to download that and make a copy of it, so
115
-you can customize it to your particular needs.
116
-
117
-This script allows running multiple Fossil SCGI servers, one per
118
-repository, each bound to a different high-numbered `localhost` port, so
119
-that only nginx can see and proxy them out to the public. The
120
-“`example`” repo is on TCP port localhost:12345, and the “`foo`” repo is
121
-on localhost:12346.
122
-
123
-As written, the `fslsrv` script expects repositories to be stored in the
124
-calling user’s home directory under `~/museum`, because where else do
125
-you keep Fossils?
126
-
127
-That home directory also needs to have a directory to hold log files,
128
-`~/log/fossil/*.log`. Fossil doesn’t put out much logging, but when it
129
-does, it’s better to have it captured than to need to re-create the
130
-problem after the fact.
131
-
132
-The use of `--baseurl` in this script lets us have each Fossil
133
-repository mounted in a different location in the URL scheme. Here, for
134
-example, we’re saying that the “`example`” repository is hosted under
135
-the `/code` URI on its domains, but that the “`foo`” repo is hosted at
136
-the top level of its domain. You’ll want to do something like the
137
-former for a Fossil repo that’s just one piece of a larger site, but the
138
-latter for a repo that is basically the whole point of the site.
139
-
140
-You might also want another script to automate the update, build, and
141
-deployment steps for new Fossil versions:
142
-
143
- #!/bin/sh
144
- cd $HOME/src/fossil/trunk
145
- fossil up
146
- make -j11
147
- killall fossil
148
- sudo make install
149
- fslsrv
150
-
151
-The `killall fossil` step is needed only on OSes that refuse to let you
152
-replace a running binary on disk.
153
-
154
-As written, the `fslsrv` script assumes a Linux environment. It expects
155
-`/bin/bash` to exist, and it depends on non-POSIX tools like `pgrep`.
156
-It should not be difficult to port to systems like macOS or the BSDs.
112
+For the following nginx configuration to work, it needs to contact a
113
+Fossil instance speaking the SCGI protocol. There are [many ways](../)
114
+to set that up. For Debian type systems, we primarily recommend
115
+following [our systemd user service guide](service.md).
116
+
117
+Another option would be to customize [the `fslsrv` shell
118
+script](/file/tools/fslsrv) that ships with Fossil as an example of
119
+launching multiple Fossil instances in the background to serve multiple
120
+URLs.
121
+
122
+However you do it, you need to match up the TCP port numbers between it
123
+and those in the nginx configuration below.
157124
158125
159126
## <a name="config"></a>Configuration
160127
161128
On Debian and Ubuntu systems the primary user-level configuration file
162129
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -107,55 +107,22 @@
107 $ sudo apt install fossil nginx
108
109
110 ## <a name="scgi"></a>Running Fossil in SCGI Mode
111
112 I run my Fossil SCGI server instances with a variant of [the `fslsrv`
113 shell script](/file/tools/fslsrv) currently hosted in the Fossil source
114 code repository. You’ll want to download that and make a copy of it, so
115 you can customize it to your particular needs.
116
117 This script allows running multiple Fossil SCGI servers, one per
118 repository, each bound to a different high-numbered `localhost` port, so
119 that only nginx can see and proxy them out to the public. The
120 “`example`” repo is on TCP port localhost:12345, and the “`foo`” repo is
121 on localhost:12346.
122
123 As written, the `fslsrv` script expects repositories to be stored in the
124 calling user’s home directory under `~/museum`, because where else do
125 you keep Fossils?
126
127 That home directory also needs to have a directory to hold log files,
128 `~/log/fossil/*.log`. Fossil doesn’t put out much logging, but when it
129 does, it’s better to have it captured than to need to re-create the
130 problem after the fact.
131
132 The use of `--baseurl` in this script lets us have each Fossil
133 repository mounted in a different location in the URL scheme. Here, for
134 example, we’re saying that the “`example`” repository is hosted under
135 the `/code` URI on its domains, but that the “`foo`” repo is hosted at
136 the top level of its domain. You’ll want to do something like the
137 former for a Fossil repo that’s just one piece of a larger site, but the
138 latter for a repo that is basically the whole point of the site.
139
140 You might also want another script to automate the update, build, and
141 deployment steps for new Fossil versions:
142
143 #!/bin/sh
144 cd $HOME/src/fossil/trunk
145 fossil up
146 make -j11
147 killall fossil
148 sudo make install
149 fslsrv
150
151 The `killall fossil` step is needed only on OSes that refuse to let you
152 replace a running binary on disk.
153
154 As written, the `fslsrv` script assumes a Linux environment. It expects
155 `/bin/bash` to exist, and it depends on non-POSIX tools like `pgrep`.
156 It should not be difficult to port to systems like macOS or the BSDs.
157
158
159 ## <a name="config"></a>Configuration
160
161 On Debian and Ubuntu systems the primary user-level configuration file
162
--- www/server/debian/nginx.md
+++ www/server/debian/nginx.md
@@ -107,55 +107,22 @@
107 $ sudo apt install fossil nginx
108
109
110 ## <a name="scgi"></a>Running Fossil in SCGI Mode
111
112 For the following nginx configuration to work, it needs to contact a
113 Fossil instance speaking the SCGI protocol. There are [many ways](../)
114 to set that up. For Debian type systems, we primarily recommend
115 following [our systemd user service guide](service.md).
116
117 Another option would be to customize [the `fslsrv` shell
118 script](/file/tools/fslsrv) that ships with Fossil as an example of
119 launching multiple Fossil instances in the background to serve multiple
120 URLs.
121
122 However you do it, you need to match up the TCP port numbers between it
123 and those in the nginx configuration below.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
125
126 ## <a name="config"></a>Configuration
127
128 On Debian and Ubuntu systems the primary user-level configuration file
129

Keyboard Shortcuts

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