README-windows.txt
changeset 355 63d8fe4e9450
parent 349 b271be84da5e
equal deleted inserted replaced
354:70d9be61232d 355:63d8fe4e9450
       
     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 (under Windows 7, that's right
       
    25 click on "Cygwin Terminal" 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 "sh windows.sh setup-windows"
       
    32 
       
    33 4) Run "passwd hg" and set the password for the hg user (created by
       
    34 setup-windows), then "mkpasswd -l > /etc/passwd" to add them to the Cygwin user
       
    35 database
       
    36 
       
    37 5) Run "sh windows.sh inituser-windows" to finish setting up the hg user
       
    38 
       
    39 5) Following the example from the main mercurial-server documentation (in that
       
    40 the server is called 'jeeves', your username is 'jay' and the client is called
       
    41 'spoon'), but with a few differences for Cygwin, we can now get you initial
       
    42 access. We assume that you've generated a key with PuTTYgen
       
    43 (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) and then
       
    44 copied the contents of the "public key" box into a file called my-key. Run the
       
    45 following, altered as appropriate for your local system:
       
    46 
       
    47   mkdir -p /etc/mercurial-server/keys/root/jay
       
    48   cp my-key /etc/mercurial-server/keys/root/jay/spoon
       
    49   chown hg /etc/mercurial-server/keys/root/jay/spoon
       
    50   ssh hg@localhost /usr/local/share/mercurial-server/refresh-auth
       
    51 
       
    52 The rest of the instructions in the normal mercurial-server documentation should
       
    53 now work. Note that although it's possible to add keys/access info to
       
    54 /etc/mercurial-server it's much easier to do things via the hgadmin repository,
       
    55 and doing things via /etc should probably be limited to only if you mess up the
       
    56 setup in hgadmin.
       
    57 
       
    58 # vim: tw=80 fo=cqt wm=0