首先說為什么是Windows平臺,因?yàn)閘inux/unix下已經(jīng)有很多人寫過了,windows下還很少有人寫。
其實(shí)也沒什么太大不同就是幾個小細(xì)節(jié),當(dāng)作自己的備忘,給其他人一個參考而已
我的目的是建立一個基于http的 mercurial服務(wù)器,而且支持用戶認(rèn)證的訪問,mercurial本來是自帶一個輕量級的http服務(wù)的,但是出于安全
我用Nginx的反向代理功能提供Mercurial的對外訪問。
1. 下載
http://mercurial.selenic.com/http://nginx.org/en/download.html2. 安裝
Mercurial需要安裝,Nginx不需要,隨便找個目錄解壓縮就好了。
3. 建立Mercurial的代碼倉庫
隨便建個目錄,比如 c:\mercurial\repos
hg init4. 配置mercurial 并啟動 mercurial 的http服務(wù)
hg serve -d -a localhost -p 8000 --webdir-conf hgweb.config-d 是指后臺運(yùn)行
-a 指定 localhost是為了限制mercurial只能從本機(jī)訪問
--webdir-conf 指定 mercurial的 web配置文件為 hgweb.config
hgweb.config的內(nèi)容很簡單
[web]
push_ssl = false
allow_push = *
[paths]
/myhg = c:\mercurial\repos\
允許push的時候不需要 https ,允許所有人push,把mercurial的代碼庫映射到web上的 /myhg 目錄
5. 修改nginx的配置
到nginx/conf 目錄下打開 nginx.conf,修改成如下的樣子。
location / {
root html;
index index.html index.htm;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
proxy_pass http://localhost:8000;
}
使用簡單的密碼校驗(yàn),反向代理到 localhost:8000
6. 配置用戶和密碼
在 nginx的 conf下,建立一個叫 htpasswd 的文件,純文本,每一行是一對 用戶名密碼,冒號分隔,比如:
tom:1234
mike:5678
7. 最后啟動nginx
直接運(yùn)行 nginx.exe就好了,用瀏覽器打開 你的主頁看看吧