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。注意这些操作都需要输入上面建立的用户名和密码来验证。