`
conanca
  • 浏览: 98672 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

VPS(ubuntu server 10.04)上搭建Mercurial 中央库服务器 通过nginx实现安全验证

 
阅读更多

1.安装mercurial 和 nginx

sudo apt-get install python2.6
sudo apt-get install python-all-dev 
sudo apt-get install python-setuptools 
sudo easy_install -U mercurial 
hg --version

 

nginx安装方法见我之前的博客。

 

2.配置中央库

新建一个本地库

mkdir -p /var/hg/depo1
cd /var/hg/depo1
hg init

 建立配置文件

vi /var/hg/depo1/hgweb.config

 内容如下:

[web]
push_ssl = false
allow_push = *
encoding = "UTF-8"
[paths]
/depo1 = /var/hg/depo1

[hooks]
changegroup = hg update

 (配置了一个hook,用于每次客户端push新的修改时,都自动update)

开启服务

hg --cwd /var/hg/depo1 serve -d -a localhost --webdir-conf hgweb.config

 
(-a localhost就可以杜绝其他人通过8000端口访问该服务器)

 

3.配置nginx

http://trac.edgewall.org/browser/trunk/contrib/htpasswd.py 下载该程序,并拷贝至/etc/nginx目录,用于创建密码文件。

创建密码文件(添加3个用户)

cd /etc/nginx/
python htpasswd.py -c -b htpasswd useraaa1 123
python htpasswd.py -b htpasswd useraaa2 123
python htpasswd.py -b htpasswd useraaa3 123

 

修改nginx的配置文件

vi /etc/nginx/nginx.conf

 在http{}段下增加:

client_max_body_size 20m;


修改nginx的配置文件

vi /etc/nginx/sites-enabled/default


增加如下:

location /depo1 {
	root   html;
	index  index.html index.htm;
	proxy_pass  http://127.0.0.1:8000;
	auth_basic "Restricted";
	auth_basic_user_file htpasswd;
}


重启ngxin

service nginx restart

 

4.完成
现在可以在客户端机器通过浏览器访问:
http://hostname/depo1
来浏览中央库;也可以直接通过hg来push和pull。注意这些操作都需要输入上面建立的用户名和密码来验证。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics