先安装nginx和mercurial,这里只把nginx当做前端的代理
mkdir /var/www/hgrep cd /var/www/hgrep hg init
创建一个mercurial项目,建立一个配置文件 vi /var/www/hgrep/hgweb.config 内容如下:
[web] push_ssl = false allow_push = * encoding = "UTF-8" [paths] /hgrep = /var/www/hgrep [hooks] changegroup = hg update
这里建立了一个hook,当用户提交时自动更新
开启服务
hg serve -d -a localhost --webdir-conf hgweb.config
开始配置nginx:
在http://trac.edgewall.org/browser/trunk/contrib/htpasswd.py下载该程序(点击此处直接下载),并拷贝至/etc/nginx目录,用于创建密码文件。
我是直接打开这个连接复制的,复制下来的文件是有行号的,先保存到/etc/nginx/htpasswd.py,再使用sed替换行号
sed -i 's/^[0-9]*//g' htpasswd.py
创建你的用户
cd /etc/nginx/ python htpasswd.py -c -b htpasswd user1 123 python htpasswd.py -b htpasswd user2 123
修改nginx的配置文件
vi /etc/nginx/sites-enabled/default
增加如下:
location /hgrep { root html; index index.html index.htm; proxy_pass http://127.0.0.1:8000; auth_basic "Restricted"; auth_basic_user_file htpasswd; }
重启nginx服务器即可
在浏览器可以使用localhost/hirep访问
局域网内也能直接访问,需要clone的可以用 hg clone http://user1@host/hirep 此处host换成服务器IP