所需的安装文件:
- 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")
- 修改Apache的配置文件http.conf,在最后添加一行
ScriptAlias /hg "C:/xampp/htdocs/hgweb/hgweb.cgi"
- 不过这样只能访问一个库,想访问多个库,需要使用hgweb.config文件,hgweb.cgi中将config变量赋值为hgweb.config
<span style="white-space:pre"> </span>config= "hgweb.config"
- hgweb.config文件内容为
[collections] D:/hg= D:/hg [web] allow_push= false allow_pull= false allow_read= false push_ssl= false style= gitweb
- 用htpasswd.exe建立用户密码文件。htpasswd.exe在apache的bin目录可以找到,使用方法主要有
- htpasswd -c 文件名 用户名 //参数-c创建密码文件,输入后会提示你输入密码
- htpasswd 文件名 用户名 //如果用户名一样会更新密码
举个例子,我现在要建两个用户
htpasswd-c hguser fatkun.com htpasswdhguser aaaa
这时会得到一个hguser的文件,把它拷贝到conf目录下
- 在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版本控制服务
apache搭建Mercurial(HG)版本控制服务及权限控制