所需的安装文件:

  • xampp-win32-1.8.3-4-VC11-installer.exe
  • python-2.7.7.amd64.msi
  • tortoisehg-3.0.1-x64.msi
  • mercurial-3.0.1.win-amd64-py2.7.exe
  • mercurial-3.0.1-x64.msi
  • server-jre-8u5-windows-x64.tar.gz

1.     使用TortoiseHg建立一个版本库:在D:下建立hg文件夹,进行D:\hg,右击,选择TortoiseHg | Create Repository Here。

2.     在C:\xampp\htdocs下建立一个文件夹,hgweb

3.     在C:\xampp\htdocs\hgweb中建立hgweb.cgi文件,内容如下(最新的内容可http://www.selenic.com/hg/file/tip/hgweb.cgi找到):

  • 将首行改成指向python.exe位置
#!C:/Python26/python.exe
  • 去掉第十行的注释
importcgitb; cgitb.enable()  
  • 第六行的注释:# Path to repo or hgweb config to serve (see 'hg help hgweb'),是说config变量可以指向仓库,也可以指向一个配置文件。先简单点,指向仓库,将第七行改为
config= "D:/hg"  
  • 安装mercurial-3.0.1.win-amd64-py2.7.exe,显示安装在C:\Program Files\Lib\site-packages,将
importsys; sys.path.insert(0, "C:/xampp/mlib")  

  改为

importsys; sys.path.insert(0, "C:/Python26/Lib/site-packages") 
  1. 修改Apache的配置文件http.conf,在最后添加一行
ScriptAlias /hg "C:/xampp/htdocs/hgweb/hgweb.cgi"  
  1. 不过这样只能访问一个库,想访问多个库,需要使用hgweb.config文件,hgweb.cgi中将config变量赋值为hgweb.config
config= "hgweb.config" 
  1. hgweb.config文件内容为
[collections]
D:/hg= D:/hg [web]
allow_push= false
allow_pull= false
allow_read= false
push_ssl= false
style= gitweb
  1. 用htpasswd.exe建立用户密码文件。htpasswd.exe在apache的bin目录可以找到,使用方法主要有
    • htpasswd -c 文件名 用户名               //参数-c创建密码文件,输入后会提示你输入密码
    • htpasswd 文件名 用户名                 //如果用户名一样会更新密码

举个例子,我现在要建两个用户

  1. htpasswd -c hguser fatkun.com
    htpasswd hguser aaaa

这时会得到一个hguser的文件,把它拷贝到conf目录下

  1. 在httpd.conf配置末尾加上
<Location/hg>
AuthType Basic
AuthName "Mercurialrepositories"
AuthUserFile"D:/JAVASoftTool/xampplite/apache/conf/hguser"
Require valid-user
</Location>

另外解压server-jre-8u5-windows-x64.tar.gz文件,加上JAVA_HOME、Path等环境变量后XAMPP中的tomcat还是无法启动,需要将注册表中HKEY_LOCAL_MACHINE\Software\JavaSoft\JavaRuntime Environment\ 添加

JavaHome REG_SZ C:\JAVA  

参考文件:

在Windows使用apache搭建Mercurial WEB版本控制服务

Mercurial(HG)版本控制服务用户名验证

apache搭建Mercurial(HG)版本控制服务及权限控制

java配置环境中jdk和jre

在Windows2012下配置Mercurial的更多相关文章

  1. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  2. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  3. 如何在Nginx下配置PHP程序环境

    1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...

  4. 记录下WIN下配置LINUX虚拟机及PYTHON环境

    因为听说服务器端大多都是LINUX/UNIX,LINUX是程序员必须适应的编程环境,所以今天折腾了一下,给笔记本装了个LINUX虚拟机,并顺便给WINDOWS和LINUX都配置了PYTHON环境. 这 ...

  5. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

  6. 【经验之谈】Windows环境下配置WordPress

    前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...

  7. Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  8. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  9. HalconMFC(二)之VS2010下配置Halcon11教程

    现在halcon最新版本是halcon11.0.3,所以在此说说halcon11.0.3的配置方法(至今还不知道halcon11怎么破解...halcon10早都可以破解了) 我们可以把相应的文件(头 ...

随机推荐

  1. 关于重装系统与Visual Studio 2015

    开始入坑  ... 9.25左右,由于本人电脑上同时安装了社区版vs2013与社区版vs2015,.无奈天公不作美,vs2015我每次一点击右上角的“登录”,马上就白屏,并弹窗提示,停止运行(忘了截屏 ...

  2. sql server2008安装错误(无法处理异常)

    我在安装sql server2008时出现安装错误,无法处理的异常,问题如下: 解决方法:在地址栏输入C:\Users\Administrator\AppData\Local ,找到Microsoft ...

  3. 状态压缩DP--Mondriaan's Dream

    题目网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110044#problem/A Description Squares and ...

  4. Python 学习笔记1

    1.Python2.x与3​​.x版本区别 2.常量与变量 3.if  elif  else 4.注释 5.用户交互 6.字符串拼接 7.文件扩展名 8.缩进 9.运算符 10.while循环 Pyt ...

  5. Oracle不足与MySQL优势

    Oracle库主要不足:1.单点故障:2.付费License;3.不支持水平扩展. MySQL及水平拆库的优势:1.单点故障影响率1/N:2.免费:3.可低成本水平扩展,近乎无限的水平扩展能力.

  6. QTimer太让人失望了,一秒触发一次事件都不准确。。

    今天做项目中,我用QTimer来模拟数据生成,在另外的设备上接受.另外设备上有时1秒读不到数据,查询原因很久,终于发现是QTimer的问题. 测试代码如下 有兴趣同学可以自己试试. t = new Q ...

  7. Erlang高阶函数

    对于函数式语言来说,函数也想普通的数据类型一样无处不在.函数即可以当成参数进行传递,也可以当成函数的返回值.当我第一次学习函数式编程的时候,我被这样的写法弄的头昏脑涨.下面我举例说明下(例子摘录自Le ...

  8. 关于使用ResultSet ---结果集没有当前行

    Resultset返回的结果集是从结果的前一句开始的,也就是说一开始的resultset是没有的,所以,一般使用的时候,需要这样子写:      while( resultSet.next() ){ ...

  9. C# 线程同步

    Mutex 类 使用Mutex类来同步两个单独的程序.Mutex是一种原始的同步方式,其只对一个线程授予对共享资源的独占访问. const string NutexName = "C&quo ...

  10. Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010

    from:http://blog.tallan.com/2012/07/18/creating-a-sharepoint-bcs-net-assembly-connector-to-crawl-rss ...