在之前的文章中,在Windows使用apache搭建Mercurial版本控制服务,并没有说到如何验证用户,而是允许所有人都提交。当时还不会怎么配置。 以下就是配置方法:
1,用htpasswd.exe建立用户密码文件
htpasswd.exe在apache的bin目录可以找到,使用方法主要有 htpasswd -c 文件名 用户名 //参数-c创建密码文件,输入后会提示你输入密码 htpasswd 文件名 用户名 //如果用户名一样会更新密码 举个例子,我现在要建两个用户
htpasswd -c hguser fatkun.com
htpasswd hguser aaaa
这时会得到一个hguser的文件,把它拷贝到conf目录下
2,修改httpd.conf配置
在httpd.conf配置最末尾加入,注意路径改为你的
<Location /hg>
AuthType Basic
AuthName "Mercurial repositories"
AuthUserFile "D:/Program Files/Apache2.2/conf/hguser"
<LimitExcept GET>
Require valid-user
</LimitExcept>
</Location>
这样就可以了,重启apache服务以后,试试从浏览器访问hg的网页?会提示你输入用户名和密码。
3,针对某些项目的权限设置
在服务器存放项目的文件中,在.hg目录新建一个hgrc文件,里面可以配置为
这里是配置单个项目的,如果需要对所有项目配置,可以修改hgweb.config文件
[web]
allowpull = false //不允许所有人下载该项目
allow_read = "John Doe, PhD", fatkun//允许哪些人可以下载,如果有空格或特殊字符用引号""括起来
//还有deny_read,allow_push 等等
更多的配置可以查看这里http://www.selenic.com/mercurial/hgrc.5.html