14 14
15 15 <h2><a name="CGI">Using <cite>Fossil</cite>'s Built-In CGI</a></h2>
16 16 <h3>Motivation</h3>
17 17 * You want to share a repository through your existing web infrastructure.
18 18 * You want to share more than one repository at the same time.
19 19
20 20 <h3>Problem</h3>
21 -Unlike some other distributed SCMs, <cite>Fossil</cite> can only clone, push, pull and and otherwise interact through repositories over HTTP. This can be simply and easily managed through use of the <code>fossil server</code> and/or <code>fossil ui</code> commands, of course, but this is really only adequate for ad-hoc repository sharing. Consider, for example, sharing ten repositories. Using the built-in server would require you to open ten ports in your firewall to permit access. Any serious sharing will require something more robust and permanent.
21 +Unlike some other distributed SCMs, <cite>Fossil</cite> can only clone, push, pull and and otherwise interact through repositories over HTTP. This can be simply and easily managed through use of the <code>fossil server</code> and/or <code>fossil ui</code> commands, of course, but this is really only adequate for ad-hoc repository sharing. Consider, for example, sharing ten repositories. Using the built-in server would require you to open ten ports in your firewall to permit access. Any serious sharing will require something more robust and permanent, and solutions for doing so are described below.
22 22
23 23 <h3>Solution</h3>
24 24 <cite>Fossil</cite> supports three different ways to share repositories. For ad-hoc sharing <code>fossil server/ui</code> is more than adequate. For more robust solutions, however, the use of <cite>(x)inetd</cite> or CGI support is indicated.
25 25
26 26 Setting up fossil for CGI support is simple. (Setting up your web server for CGI support may or may not be simple, but it is out of scope of this recipe. Consult your web server/service provider's documentation for this.)
27 27
28 28 <h4>UNIX</h4>