@@ -10,28 +10,61 @@
10 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
11 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## Place Fossil on Server
12 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
13 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
However you obtained your copy of Fossil, it is recommended that you follow
14 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Windows conventions and place it within `\Program Files\FossilSCM`. Since
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Fossil 2.10 is a 64bit binary, this is the proper location for the executable. This
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- way Fossil is in an expected location and you will have minimal issues with
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Fossil 2.10 is a 64bit binary, this is the proper location for the executable.
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ This way Fossil is at an expected location and you will have minimal issues with
17 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Windows interfering in your ability to run Fossil as a service. You will need
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Administrative rights to place fossil at the recommended location. You do NOT
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- need to add this location to the path, though you may do so if you wish.
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Administrative rights to place fossil at the recommended location. If you will
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ only be running Fossil as a service, you do not need to add this location to the
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ path, though you may do so if you wish.
20 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ## Make Fossil a Windows Service
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ## Installing Fossil as a Service
22 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
23 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Luckily the hard work to use Fossil as a Windows Service has been done by the
24 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Fossil team. We simply have to install it with the proper command line options.
25 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Fossil on Windows has a command `fossil winsrv` to allow installing Fossil as a
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- service on Windows, but the options are limited, so an alternative service
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- install using PowerShell is documented here. The below should all be entered
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- as a single line in an Administrative PowerShell console.
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ service on Windows. This command is only documented on the windows executable
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ of Fossil. You must also run the command as administrator for it to be
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ successful.
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ### Fossil winsrv Example
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ The simplest form of the command is:
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ```
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil winsrv create --repository D:/Path/to/Repo.fossil
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ```
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ This will create a windows service named 'Fossil-DSCM' running under the local
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ system account and accessible on port 8080 by default. `fossil winsrv` can also
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ start, stop, and delete the service. For all available options, please execute
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ `fossil help winsrv` on a windows install of Fossil.
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ If you wish to server a directory of repositories, the `fossil winsrv` command
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ requires a slightly different set of options vs. `fossil server`:
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ```
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil winsrv create --repository D:/Path/to/Repos --repolist
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ```
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a name='PowerShell'></a>
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ### Advanced service installation using PowerShell
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ As great as `fossil winsrv` is, it does not have one to one reflection of all of
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ the `fossil server` [options](/help?cmd=server). When you need to use some of
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ the more advanced options, such as `--https`, `--skin`, or `--extroot`, you will
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ need to use PowerShell to configure and install the Windows service.
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ PowerShell provides the [New-Service](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-5.1)
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ command, which we can use to install and configure Fossil as a service. The
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ below should all be entered as a single line in an Administrative PowerShell
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ console.
29 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
30 64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
```PowerShell
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- New-Service -Name fossil -DisplayName fossil -BinaryPathName '"C:\Program Files\FossilSCM\fossil.exe"
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- server --port 8080 --repolist "D:/Path/to/Repos"' -StartupType Automatic
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ New-Service -Name fossil -DisplayName fossil -BinaryPathName '"C:\Program Files\FossilSCM\fossil.exe" server --port 8080 --repolist "D:/Path/to/Repos"' -StartupType Automatic
33 66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
```
34 67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
35 68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Please note the use of forward slashes in the repolist path passed to Fossil.
36 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Windows will accept either back slashes or forward slashes in path names, but
37 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Fossil has a preference for forward slashes. The use of `--repolist` will make
38 71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!