|
1 Windows setup for mercurial-server |
|
2 ================================== |
|
3 |
|
4 WARNING: Windows is *not* a supported system. We've gotten this guide to work ok |
|
5 but the permissions are still broken in various ways to do with the underlying |
|
6 issues in Windows' permissions system. Unix-based systems, especially Debian and |
|
7 derivatives are still the main target. Patches to this guide to improve the |
|
8 support are welcome however! |
|
9 |
|
10 1) Install Cygwin (http://cygwin.com/) using the setup.exe from there. Tested |
|
11 against 1.7.12-1, may work with earlier versions. You'll need the base install |
|
12 plus the following additional packages: |
|
13 |
|
14 - docbook-xsl |
|
15 - libxslt |
|
16 - make |
|
17 - mercurial |
|
18 - openssh |
|
19 - python |
|
20 |
|
21 Note that even if you've already got them installed in Windows, Python and |
|
22 Mercurial still need to be installed in Cygwin. |
|
23 |
|
24 2) Open a new Cygwin terminal as Adminstrator (right click on "Cygwin Terminal" |
|
25 start menu option and pick "Run as administrator") |
|
26 |
|
27 3) Run "ssh-host-config -y" and "cygrunsrv -S sshd" to get sshd running. We need |
|
28 this because there's no proper su in Cygwin (see |
|
29 http://cygwin.com/faq-nochunks.html#faq.using.su for why this is) |
|
30 |
|
31 3) Goto the mercurial-server folder and "make setup-windows" |
|
32 |
|
33 4) Run "passwd hg" and set the password for the hg user. |
|
34 |
|
35 5) Following the example from the main mercurial-server documentation (in that the server |
|
36 is called 'jeeves', your username is 'jay' and the client is called 'spoon'), |
|
37 but with a few differences for Cygwin, we can now get you initial access. We |
|
38 assume that you've generated a key with PuTTYgen |
|
39 (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) and then |
|
40 copied the contents of the "public key" box into a file called my-key. |
|
41 |
|
42 jay@jeeves:~$ mkdir -p /etc/mercurial-server/keys/root/jay |
|
43 jay@jeeves:~$ cp my-key /etc/mercurial-server/keys/root/jay/spoon |
|
44 jay@jeeves:~$ chown hg /etc/mercurial-server/keys/root/jay/spoon |
|
45 jay@jeeves:~$ ssh hg@localhost /usr/share/mercurial-server/refresh-auth |
|
46 |
|
47 The rest of the instructions in the normal mercurial-server documentation should |
|
48 now work. Note that although it's possible to add keys/access info to |
|
49 /etc/mercurial-server it's much easier to do things via the hgadmin repository, |
|
50 and doing things via /etc should probably be limited to only if you mess up the |
|
51 setup in hgadmin. |
|
52 |
|
53 # vim: tw=80 fo=cqt wm=0 |