Fossil SCM

Added the Hacker How-To page with a link on the home page. Other documentation enhancements and typo fixes.

drh 2013-08-14 14:30 trunk
Commit 04af93e6198ce7f2604ffec60373cfc052d474b5
--- www/adding_code.wiki
+++ www/adding_code.wiki
@@ -156,11 +156,11 @@
156156
157157
Once you have the command running, you can then start adding code to
158158
make it do useful things. There are lots of utility functions in
159159
Fossil for parsing command-line options and for
160160
opening and accessing and manipulating the repository and
161
-the working check-out. Study at the implementations of existing commands
161
+the working check-out. Study implementations of existing commands
162162
to get an idea of how things are done. You can easily find the implementations
163163
of existing commands by searching for "COMMAND: <i>name</i>" in the
164164
files of the "src/" directory.
165165
166166
<h2>5.0 Creating A New Web Page</h2>
167167
168168
ADDED www/hacker-howto.wiki
--- www/adding_code.wiki
+++ www/adding_code.wiki
@@ -156,11 +156,11 @@
156
157 Once you have the command running, you can then start adding code to
158 make it do useful things. There are lots of utility functions in
159 Fossil for parsing command-line options and for
160 opening and accessing and manipulating the repository and
161 the working check-out. Study at the implementations of existing commands
162 to get an idea of how things are done. You can easily find the implementations
163 of existing commands by searching for "COMMAND: <i>name</i>" in the
164 files of the "src/" directory.
165
166 <h2>5.0 Creating A New Web Page</h2>
167
168 DDED www/hacker-howto.wiki
--- www/adding_code.wiki
+++ www/adding_code.wiki
@@ -156,11 +156,11 @@
156
157 Once you have the command running, you can then start adding code to
158 make it do useful things. There are lots of utility functions in
159 Fossil for parsing command-line options and for
160 opening and accessing and manipulating the repository and
161 the working check-out. Study implementations of existing commands
162 to get an idea of how things are done. You can easily find the implementations
163 of existing commands by searching for "COMMAND: <i>name</i>" in the
164 files of the "src/" directory.
165
166 <h2>5.0 Creating A New Web Page</h2>
167
168 DDED www/hacker-howto.wiki
--- a/www/hacker-howto.wiki
+++ b/www/hacker-howto.wiki
@@ -0,0 +1,13 @@
1
+<title>Fossil Hackers How-To</title>
2
+
3
+The following links are of interest to programmers who want . Ordinary users can safely ignore this information.
4
+
5
+ * [./build.wiki | How To Compile And Install Fossil]
6
+ * [./d_in_ide.md | Using]
7
+ * [./tech_overview.wiki | ts To The Fossil Project]
8
+ * [./fileformat.wiki|Fossil Artifact File Format]
9
+ * [./sync.wiki|The Sync Protocol]
10
+ * [./style.wiki | Coding Style Guidelines]
11
+ * [./checkin.wiki | Pre-checkinlease Checklist]
12
+ * [./backoffice.md | Tadding_cod Fossil]
13
+ * [./contribute.wiki|Contributing Code Or Enhancements To The Fossil Project]
--- a/www/hacker-howto.wiki
+++ b/www/hacker-howto.wiki
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/hacker-howto.wiki
+++ b/www/hacker-howto.wiki
@@ -0,0 +1,13 @@
1 <title>Fossil Hackers How-To</title>
2
3 The following links are of interest to programmers who want . Ordinary users can safely ignore this information.
4
5 * [./build.wiki | How To Compile And Install Fossil]
6 * [./d_in_ide.md | Using]
7 * [./tech_overview.wiki | ts To The Fossil Project]
8 * [./fileformat.wiki|Fossil Artifact File Format]
9 * [./sync.wiki|The Sync Protocol]
10 * [./style.wiki | Coding Style Guidelines]
11 * [./checkin.wiki | Pre-checkinlease Checklist]
12 * [./backoffice.md | Tadding_cod Fossil]
13 * [./contribute.wiki|Contributing Code Or Enhancements To The Fossil Project]
+3 -3
--- www/index.wiki
+++ www/index.wiki
@@ -20,11 +20,11 @@
2020
<li> [./quickstart.wiki | Quick Start]
2121
<li> [./build.wiki | Install]
2222
<li> [../COPYRIGHT-BSD2.txt | License]
2323
<li> [/timeline | Recent changes]
2424
<li> [./faq.wiki | FAQ]
25
-<li> [./contribute.wiki | Contributing]
25
+<li> [./hacker-howto.wiki | Hacker How-To]
2626
<li> [./changes.wiki | Change Log]
2727
<li> [./hints.wiki | Tip &amp; Hints]
2828
<li> [./permutedindex.wiki#pindex | Documentation Index]
2929
<li> [http://www.fossil-scm.org/schimpf-book/home | Jim Schimpf's book]
3030
<li> Mailing list
@@ -81,11 +81,11 @@
8181
Installation is trivial: simply download a
8282
<a href="http://www.fossil-scm.org/download.html">precompiled binary</a>
8383
for Linux, Mac, or Windows and put it on your $PATH.
8484
[./build.wiki | Easy-to-compile source code] is available for
8585
users on other platforms. Fossil sources are also mostly self-contained,
86
- requiring only the "zlib" library and the standard C library to build.
86
+ requiring only the standard C library to build.
8787
8888
5. <b>Simple Networking</b> -
8989
Fossil uses plain old HTTP (with
9090
[./quickstart.wiki#proxy | proxy support])
9191
for all network communications, meaning that it works fine from behind
@@ -103,11 +103,11 @@
103103
7. <b>Robust &amp; Reliable</b> -
104104
Fossil stores content using an [./fileformat.wiki | enduring file format]
105105
in an SQLite database so that transactions are
106106
atomic even if interrupted by a power loss or system crash. Furthermore,
107107
automatic [./selfcheck.wiki | self-checks] verify that all aspects of
108
- the repository are consistent prior to each commit. In over three years
108
+ the repository are consistent prior to each commit. In over six years
109109
of operation, no work has ever been lost after having been committed to
110110
a Fossil repository.
111111
112112
<hr>
113113
<h3>Links For Fossil Users:</h3>
114114
--- www/index.wiki
+++ www/index.wiki
@@ -20,11 +20,11 @@
20 <li> [./quickstart.wiki | Quick Start]
21 <li> [./build.wiki | Install]
22 <li> [../COPYRIGHT-BSD2.txt | License]
23 <li> [/timeline | Recent changes]
24 <li> [./faq.wiki | FAQ]
25 <li> [./contribute.wiki | Contributing]
26 <li> [./changes.wiki | Change Log]
27 <li> [./hints.wiki | Tip &amp; Hints]
28 <li> [./permutedindex.wiki#pindex | Documentation Index]
29 <li> [http://www.fossil-scm.org/schimpf-book/home | Jim Schimpf's book]
30 <li> Mailing list
@@ -81,11 +81,11 @@
81 Installation is trivial: simply download a
82 <a href="http://www.fossil-scm.org/download.html">precompiled binary</a>
83 for Linux, Mac, or Windows and put it on your $PATH.
84 [./build.wiki | Easy-to-compile source code] is available for
85 users on other platforms. Fossil sources are also mostly self-contained,
86 requiring only the "zlib" library and the standard C library to build.
87
88 5. <b>Simple Networking</b> -
89 Fossil uses plain old HTTP (with
90 [./quickstart.wiki#proxy | proxy support])
91 for all network communications, meaning that it works fine from behind
@@ -103,11 +103,11 @@
103 7. <b>Robust &amp; Reliable</b> -
104 Fossil stores content using an [./fileformat.wiki | enduring file format]
105 in an SQLite database so that transactions are
106 atomic even if interrupted by a power loss or system crash. Furthermore,
107 automatic [./selfcheck.wiki | self-checks] verify that all aspects of
108 the repository are consistent prior to each commit. In over three years
109 of operation, no work has ever been lost after having been committed to
110 a Fossil repository.
111
112 <hr>
113 <h3>Links For Fossil Users:</h3>
114
--- www/index.wiki
+++ www/index.wiki
@@ -20,11 +20,11 @@
20 <li> [./quickstart.wiki | Quick Start]
21 <li> [./build.wiki | Install]
22 <li> [../COPYRIGHT-BSD2.txt | License]
23 <li> [/timeline | Recent changes]
24 <li> [./faq.wiki | FAQ]
25 <li> [./hacker-howto.wiki | Hacker How-To]
26 <li> [./changes.wiki | Change Log]
27 <li> [./hints.wiki | Tip &amp; Hints]
28 <li> [./permutedindex.wiki#pindex | Documentation Index]
29 <li> [http://www.fossil-scm.org/schimpf-book/home | Jim Schimpf's book]
30 <li> Mailing list
@@ -81,11 +81,11 @@
81 Installation is trivial: simply download a
82 <a href="http://www.fossil-scm.org/download.html">precompiled binary</a>
83 for Linux, Mac, or Windows and put it on your $PATH.
84 [./build.wiki | Easy-to-compile source code] is available for
85 users on other platforms. Fossil sources are also mostly self-contained,
86 requiring only the standard C library to build.
87
88 5. <b>Simple Networking</b> -
89 Fossil uses plain old HTTP (with
90 [./quickstart.wiki#proxy | proxy support])
91 for all network communications, meaning that it works fine from behind
@@ -103,11 +103,11 @@
103 7. <b>Robust &amp; Reliable</b> -
104 Fossil stores content using an [./fileformat.wiki | enduring file format]
105 in an SQLite database so that transactions are
106 atomic even if interrupted by a power loss or system crash. Furthermore,
107 automatic [./selfcheck.wiki | self-checks] verify that all aspects of
108 the repository are consistent prior to each commit. In over six years
109 of operation, no work has ever been lost after having been committed to
110 a Fossil repository.
111
112 <hr>
113 <h3>Links For Fossil Users:</h3>
114
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -28,10 +28,11 @@
2828
fileformat.wiki {Fossil File Format}
2929
fiveminutes.wiki {Update and Running in 5 Minutes as a Single User}
3030
foss-cklist.wiki {Checklist For Successful Open-Source Projects}
3131
fossil-from-msvc.wiki {Integrating Fossil in the Microsoft Express 2010 IDE}
3232
fossil-v-git.wiki {Fossil Versus Git}
33
+ hacker-howto.wiki {Hacker How-To}
3334
hints.wiki {Fossil Tips And Usage Hints}
3435
index.wiki {Home Page}
3536
inout.wiki {Import And Export To And From Git}
3637
makefile.wiki {The Fossil Build Process}
3738
newrepo.wiki {How To Create A New Fossil Repository}
3839
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -28,10 +28,11 @@
28 fileformat.wiki {Fossil File Format}
29 fiveminutes.wiki {Update and Running in 5 Minutes as a Single User}
30 foss-cklist.wiki {Checklist For Successful Open-Source Projects}
31 fossil-from-msvc.wiki {Integrating Fossil in the Microsoft Express 2010 IDE}
32 fossil-v-git.wiki {Fossil Versus Git}
 
33 hints.wiki {Fossil Tips And Usage Hints}
34 index.wiki {Home Page}
35 inout.wiki {Import And Export To And From Git}
36 makefile.wiki {The Fossil Build Process}
37 newrepo.wiki {How To Create A New Fossil Repository}
38
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -28,10 +28,11 @@
28 fileformat.wiki {Fossil File Format}
29 fiveminutes.wiki {Update and Running in 5 Minutes as a Single User}
30 foss-cklist.wiki {Checklist For Successful Open-Source Projects}
31 fossil-from-msvc.wiki {Integrating Fossil in the Microsoft Express 2010 IDE}
32 fossil-v-git.wiki {Fossil Versus Git}
33 hacker-howto.wiki {Hacker How-To}
34 hints.wiki {Fossil Tips And Usage Hints}
35 index.wiki {Home Page}
36 inout.wiki {Import And Export To And From Git}
37 makefile.wiki {The Fossil Build Process}
38 newrepo.wiki {How To Create A New Fossil Repository}
39
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -88,16 +88,18 @@
8888
<li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
8989
<li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
9090
<li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
9191
<li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
9292
<li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
93
+<li><a href="hacker-howto.wiki">Hacker How-To</a></li>
9394
<li><a href="adding_code.wiki">Hacking Fossil</a></li>
9495
<li><a href="hints.wiki">Hints &mdash; Fossil Tips And Usage</a></li>
9596
<li><a href="index.wiki">Home Page</a></li>
9697
<li><a href="selfhost.wiki">Hosting Repositories &mdash; Fossil Self</a></li>
9798
<li><a href="server.wiki">How To Configure A Fossil Server</a></li>
9899
<li><a href="newrepo.wiki">How To Create A New Fossil Repository</a></li>
100
+<li><a href="hacker-howto.wiki">How-To &mdash; Hacker</a></li>
99101
<li><a href="fossil-from-msvc.wiki">IDE &mdash; Integrating Fossil in the Microsoft Express 2010</a></li>
100102
<li><a href="tech_overview.wiki">Implementation Of Fossil &mdash; A Technical Overview Of The Design And</a></li>
101103
<li><a href="inout.wiki">Import And Export To And From Git</a></li>
102104
<li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
103105
<li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
104106
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -88,16 +88,18 @@
88 <li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
89 <li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
90 <li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
91 <li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
92 <li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
 
93 <li><a href="adding_code.wiki">Hacking Fossil</a></li>
94 <li><a href="hints.wiki">Hints &mdash; Fossil Tips And Usage</a></li>
95 <li><a href="index.wiki">Home Page</a></li>
96 <li><a href="selfhost.wiki">Hosting Repositories &mdash; Fossil Self</a></li>
97 <li><a href="server.wiki">How To Configure A Fossil Server</a></li>
98 <li><a href="newrepo.wiki">How To Create A New Fossil Repository</a></li>
 
99 <li><a href="fossil-from-msvc.wiki">IDE &mdash; Integrating Fossil in the Microsoft Express 2010</a></li>
100 <li><a href="tech_overview.wiki">Implementation Of Fossil &mdash; A Technical Overview Of The Design And</a></li>
101 <li><a href="inout.wiki">Import And Export To And From Git</a></li>
102 <li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
103 <li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
104
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -88,16 +88,18 @@
88 <li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
89 <li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
90 <li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
91 <li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
92 <li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
93 <li><a href="hacker-howto.wiki">Hacker How-To</a></li>
94 <li><a href="adding_code.wiki">Hacking Fossil</a></li>
95 <li><a href="hints.wiki">Hints &mdash; Fossil Tips And Usage</a></li>
96 <li><a href="index.wiki">Home Page</a></li>
97 <li><a href="selfhost.wiki">Hosting Repositories &mdash; Fossil Self</a></li>
98 <li><a href="server.wiki">How To Configure A Fossil Server</a></li>
99 <li><a href="newrepo.wiki">How To Create A New Fossil Repository</a></li>
100 <li><a href="hacker-howto.wiki">How-To &mdash; Hacker</a></li>
101 <li><a href="fossil-from-msvc.wiki">IDE &mdash; Integrating Fossil in the Microsoft Express 2010</a></li>
102 <li><a href="tech_overview.wiki">Implementation Of Fossil &mdash; A Technical Overview Of The Design And</a></li>
103 <li><a href="inout.wiki">Import And Export To And From Git</a></li>
104 <li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
105 <li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
106
--- www/selfhost.wiki
+++ www/selfhost.wiki
@@ -21,12 +21,12 @@
2121
2222
Server (1) runs as a CGI script on a
2323
<a href="http://www.linode.com/">Linode 1024</a> located in Dallas, TX
2424
- on the same virtual machine that
2525
hosts <a href="http://www.sqlite.org/">SQLite</a> and over a
26
-dozen other smaller projects. This demonstrates that Fossil does not
27
-require much server power.
26
+dozen other smaller projects. This demonstrates that Fossil can run on
27
+a low-power host processor.
2828
Multiple fossil-based projects can easily be hosted on the same machine,
2929
even if that machine is itself one of several dozen virtual machines on
3030
single physical box. The CGI script that runs the canonical Fossil
3131
self-hosting repository is as follows:
3232
@@ -38,11 +38,12 @@
3838
Server (3) runs as a CGI script on a shared hosting account at
3939
<a href="http://www.he.net/">Hurricane Electric</a> in Fremont, CA.
4040
This server demonstrates the ability of
4141
Fossil to run on an economical shared-host web account with no
4242
privileges beyond port 80 HTTP access and CGI. It is not necessary
43
-to have a dedicated server to run Fossil. As far as we are aware,
43
+to have a dedicated computer with administrator to run Fossil.
44
+As far as we are aware,
4445
Fossil is the only full-featured configuration management system
4546
that can run in
4647
such a restricted environment. The CGI script that runs on the
4748
Hurricane Electric server is the same as the CGI script shown above,
4849
except that the pathnames are modified to suit the environment:
4950
--- www/selfhost.wiki
+++ www/selfhost.wiki
@@ -21,12 +21,12 @@
21
22 Server (1) runs as a CGI script on a
23 <a href="http://www.linode.com/">Linode 1024</a> located in Dallas, TX
24 - on the same virtual machine that
25 hosts <a href="http://www.sqlite.org/">SQLite</a> and over a
26 dozen other smaller projects. This demonstrates that Fossil does not
27 require much server power.
28 Multiple fossil-based projects can easily be hosted on the same machine,
29 even if that machine is itself one of several dozen virtual machines on
30 single physical box. The CGI script that runs the canonical Fossil
31 self-hosting repository is as follows:
32
@@ -38,11 +38,12 @@
38 Server (3) runs as a CGI script on a shared hosting account at
39 <a href="http://www.he.net/">Hurricane Electric</a> in Fremont, CA.
40 This server demonstrates the ability of
41 Fossil to run on an economical shared-host web account with no
42 privileges beyond port 80 HTTP access and CGI. It is not necessary
43 to have a dedicated server to run Fossil. As far as we are aware,
 
44 Fossil is the only full-featured configuration management system
45 that can run in
46 such a restricted environment. The CGI script that runs on the
47 Hurricane Electric server is the same as the CGI script shown above,
48 except that the pathnames are modified to suit the environment:
49
--- www/selfhost.wiki
+++ www/selfhost.wiki
@@ -21,12 +21,12 @@
21
22 Server (1) runs as a CGI script on a
23 <a href="http://www.linode.com/">Linode 1024</a> located in Dallas, TX
24 - on the same virtual machine that
25 hosts <a href="http://www.sqlite.org/">SQLite</a> and over a
26 dozen other smaller projects. This demonstrates that Fossil can run on
27 a low-power host processor.
28 Multiple fossil-based projects can easily be hosted on the same machine,
29 even if that machine is itself one of several dozen virtual machines on
30 single physical box. The CGI script that runs the canonical Fossil
31 self-hosting repository is as follows:
32
@@ -38,11 +38,12 @@
38 Server (3) runs as a CGI script on a shared hosting account at
39 <a href="http://www.he.net/">Hurricane Electric</a> in Fremont, CA.
40 This server demonstrates the ability of
41 Fossil to run on an economical shared-host web account with no
42 privileges beyond port 80 HTTP access and CGI. It is not necessary
43 to have a dedicated computer with administrator to run Fossil.
44 As far as we are aware,
45 Fossil is the only full-featured configuration management system
46 that can run in
47 such a restricted environment. The CGI script that runs on the
48 Hurricane Electric server is the same as the CGI script shown above,
49 except that the pathnames are modified to suit the environment:
50
+21 -8
--- www/server.wiki
+++ www/server.wiki
@@ -1,15 +1,21 @@
11
<title>How To Configure A Fossil Server</title>
2
-<p>A server is not necessary to use Fossil, but it does help in collaborating with
3
-peers. This article is a guide for setting up a Fossil server.</p>
2
+<h2>Introduction</h2><blockquote>
3
+<p>A server is not necessary to use Fossil, but a server does help in collaborating with
4
+peers. A Fossil server also works well as a complete website for a project.
5
+For example, the complete <b>http://www.fossil-scm.org/</b> website, including the
6
+page you are now reading (but excepting the download page),
7
+is just a Fossil server displaying the content of the
8
+self-hosting repository for Fossil.</p>
9
+<p>This article is a guide for setting up your own Fossil server.</p></blockquote>
410
<h2>Overview</h2><blockquote>
511
There are basically four ways to set up a Fossil server:
612
<ol>
713
<li>A stand-alone server
8
-<li>Using inetd or xinetd
9
-<li>[https://en.wikipedia.org/wiki/Common_Gateway_Interface|CGI]
10
-<li>[http://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface|SCGI]
14
+<li>Using inetd or xinetd or stunnel
15
+<li>CGI
16
+<li>SCGI (a.k.a. SimpleCGI)
1117
</ol>
1218
Each of these can serve either a single repository, or a directory hierarchy
1319
containing many repositories with names ending in ".fossil".
1420
</blockquote>
1521
<a name="standalone"></a>
@@ -44,11 +50,11 @@
4450
Both commands have additional command-line options that can be used to refine
4551
their behavior. See the [/help/server|online documentation] for an overview.
4652
</p>
4753
</blockquote>
4854
<a name="inetd"></a>
49
-<h2>Fossil as an inetd/xinetd service</h2><blockquote>
55
+<h2>Fossil as an inetd/xinetd or stunnel service</h2><blockquote>
5056
<p>
5157
A Fossil server can be launched on-demand by inetd or xinetd using
5258
the [/help/http|fossil http] command. To launch Fossil from inetd, modify
5359
your inetd configuration file (typically "/etc/inetd.conf") to contain a
5460
line something like this:
@@ -91,11 +97,18 @@
9197
but if it is done, then Fossil will automatically put itself into a chroot
9298
jail for the user who owns the fossil repository before reading any information
9399
off of the wire.
94100
</p>
95101
<p>
96
-Using inetd or xinetd is a more complex setup
102
+[http://www.stunnel.org/ | Stunnel version 4] is an inetd-like process that
103
+accepts and decodes SSL-encrypted connections. Fossil can be run directly from
104
+stunnel in a mannar similar to inetd and xinetd. This can be used to provide
105
+a secure link to a Fossil project. The configure needed to get stunnel4
106
+to invoke Fossil is very similar to the inetd and xinetd examples shown above.
107
+See the stunnel4 documentation for details.
108
+<p>
109
+Using inetd or xinetd or stunnel is a more complex setup
97110
than the "standalone" server, but it has the
98111
advantage of only using system resources when an actual connection is
99112
attempted. If no-one ever connects to that port, a Fossil server will
100113
not (automatically) run. It has the disadvantage of requiring "root" access
101114
and therefore may not normally be available to lower-priced "shared" servers
@@ -164,11 +177,11 @@
164177
scgi_param SCRIPT_NAME "/demo_project";
165178
}
166179
</pre></blockquote>
167180
<p>
168181
Note that Fossil requires the SCRIPT_NAME variable
169
-in order to function properly, but Nginx provides does not provide this
182
+in order to function properly, but Nginx does not provide this
170183
variable by default.
171184
So it is necessary to provide the SCRIPT_NAME parameter in the configuration.
172185
Failure to do this will cause Fossil to return an error.
173186
</p>
174187
<p>
175188
--- www/server.wiki
+++ www/server.wiki
@@ -1,15 +1,21 @@
1 <title>How To Configure A Fossil Server</title>
2 <p>A server is not necessary to use Fossil, but it does help in collaborating with
3 peers. This article is a guide for setting up a Fossil server.</p>
 
 
 
 
 
 
4 <h2>Overview</h2><blockquote>
5 There are basically four ways to set up a Fossil server:
6 <ol>
7 <li>A stand-alone server
8 <li>Using inetd or xinetd
9 <li>[https://en.wikipedia.org/wiki/Common_Gateway_Interface|CGI]
10 <li>[http://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface|SCGI]
11 </ol>
12 Each of these can serve either a single repository, or a directory hierarchy
13 containing many repositories with names ending in ".fossil".
14 </blockquote>
15 <a name="standalone"></a>
@@ -44,11 +50,11 @@
44 Both commands have additional command-line options that can be used to refine
45 their behavior. See the [/help/server|online documentation] for an overview.
46 </p>
47 </blockquote>
48 <a name="inetd"></a>
49 <h2>Fossil as an inetd/xinetd service</h2><blockquote>
50 <p>
51 A Fossil server can be launched on-demand by inetd or xinetd using
52 the [/help/http|fossil http] command. To launch Fossil from inetd, modify
53 your inetd configuration file (typically "/etc/inetd.conf") to contain a
54 line something like this:
@@ -91,11 +97,18 @@
91 but if it is done, then Fossil will automatically put itself into a chroot
92 jail for the user who owns the fossil repository before reading any information
93 off of the wire.
94 </p>
95 <p>
96 Using inetd or xinetd is a more complex setup
 
 
 
 
 
 
 
97 than the "standalone" server, but it has the
98 advantage of only using system resources when an actual connection is
99 attempted. If no-one ever connects to that port, a Fossil server will
100 not (automatically) run. It has the disadvantage of requiring "root" access
101 and therefore may not normally be available to lower-priced "shared" servers
@@ -164,11 +177,11 @@
164 scgi_param SCRIPT_NAME "/demo_project";
165 }
166 </pre></blockquote>
167 <p>
168 Note that Fossil requires the SCRIPT_NAME variable
169 in order to function properly, but Nginx provides does not provide this
170 variable by default.
171 So it is necessary to provide the SCRIPT_NAME parameter in the configuration.
172 Failure to do this will cause Fossil to return an error.
173 </p>
174 <p>
175
--- www/server.wiki
+++ www/server.wiki
@@ -1,15 +1,21 @@
1 <title>How To Configure A Fossil Server</title>
2 <h2>Introduction</h2><blockquote>
3 <p>A server is not necessary to use Fossil, but a server does help in collaborating with
4 peers. A Fossil server also works well as a complete website for a project.
5 For example, the complete <b>http://www.fossil-scm.org/</b> website, including the
6 page you are now reading (but excepting the download page),
7 is just a Fossil server displaying the content of the
8 self-hosting repository for Fossil.</p>
9 <p>This article is a guide for setting up your own Fossil server.</p></blockquote>
10 <h2>Overview</h2><blockquote>
11 There are basically four ways to set up a Fossil server:
12 <ol>
13 <li>A stand-alone server
14 <li>Using inetd or xinetd or stunnel
15 <li>CGI
16 <li>SCGI (a.k.a. SimpleCGI)
17 </ol>
18 Each of these can serve either a single repository, or a directory hierarchy
19 containing many repositories with names ending in ".fossil".
20 </blockquote>
21 <a name="standalone"></a>
@@ -44,11 +50,11 @@
50 Both commands have additional command-line options that can be used to refine
51 their behavior. See the [/help/server|online documentation] for an overview.
52 </p>
53 </blockquote>
54 <a name="inetd"></a>
55 <h2>Fossil as an inetd/xinetd or stunnel service</h2><blockquote>
56 <p>
57 A Fossil server can be launched on-demand by inetd or xinetd using
58 the [/help/http|fossil http] command. To launch Fossil from inetd, modify
59 your inetd configuration file (typically "/etc/inetd.conf") to contain a
60 line something like this:
@@ -91,11 +97,18 @@
97 but if it is done, then Fossil will automatically put itself into a chroot
98 jail for the user who owns the fossil repository before reading any information
99 off of the wire.
100 </p>
101 <p>
102 [http://www.stunnel.org/ | Stunnel version 4] is an inetd-like process that
103 accepts and decodes SSL-encrypted connections. Fossil can be run directly from
104 stunnel in a mannar similar to inetd and xinetd. This can be used to provide
105 a secure link to a Fossil project. The configure needed to get stunnel4
106 to invoke Fossil is very similar to the inetd and xinetd examples shown above.
107 See the stunnel4 documentation for details.
108 <p>
109 Using inetd or xinetd or stunnel is a more complex setup
110 than the "standalone" server, but it has the
111 advantage of only using system resources when an actual connection is
112 attempted. If no-one ever connects to that port, a Fossil server will
113 not (automatically) run. It has the disadvantage of requiring "root" access
114 and therefore may not normally be available to lower-priced "shared" servers
@@ -164,11 +177,11 @@
177 scgi_param SCRIPT_NAME "/demo_project";
178 }
179 </pre></blockquote>
180 <p>
181 Note that Fossil requires the SCRIPT_NAME variable
182 in order to function properly, but Nginx does not provide this
183 variable by default.
184 So it is necessary to provide the SCRIPT_NAME parameter in the configuration.
185 Failure to do this will cause Fossil to return an error.
186 </p>
187 <p>
188

Keyboard Shortcuts

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