日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

廖宇雷的Weblog Subversion: 用 Apache2 作為 Subversion 的服務(wù)平臺(tái)

 ekylin 2006-08-07

Subversion: 用 Apache2 作為 Subversion 的服務(wù)平臺(tái)

dualface 在 2005-06-04 13:40:54 發(fā)表,類別: 開發(fā)和工作。

我以前一直是用 Svnserve 做為 Subversion 服務(wù)器。這樣簡(jiǎn)單易行,而且訪問速度也不錯(cuò)。

但 Svnserve 做服務(wù)器有幾個(gè)不足之處:
1、權(quán)限管理太簡(jiǎn)單,只能為整個(gè)倉庫設(shè)置訪問權(quán)限,不能為目錄設(shè)置訪問權(quán)限;
2、訪問用戶的密碼以明文形式保存在文本文件里面;
3、只能提供一個(gè)倉庫,如果要提供多個(gè)倉庫,就必須啟動(dòng)多個(gè) Svnserve 實(shí)例;
4、Svnserve.exe 必須借助第三方工具軟件(例如 FireDaemon)才能安裝為 Windows 系統(tǒng)服務(wù);
5、必須在防火墻上打開單獨(dú)的端口,而不能直接通過 HTTP 協(xié)議訪問。

而換成用 Apache2 作為 Subversion 的服務(wù)平臺(tái),具有下列好處:
1、可以為每個(gè)倉庫、目錄設(shè)置訪問權(quán)限;
2、密碼采用 MD5 或者 Crypt 加密存儲(chǔ),并可以利用其他驗(yàn)證方式;
3、可以同時(shí)服務(wù)多個(gè) Subversion 倉庫;
4、通過 HTTP 協(xié)議即可訪問倉庫,幾乎不會(huì)受到防火墻影響;
5、可以通過瀏覽器直接瀏覽、下載文件;
6、任何支持 WebDAV 的軟件都可以操作 Subversion 倉庫。

廢話不說了,安裝步驟如下:

第一步:安裝 Apache2
很遺憾,必須使用 Apache2,而不能是 Apache1 或者 IIS。如果你的系統(tǒng)正在使用 IIS 或者 Apache1,那么可以將 Apache2 綁定到其他端口,例如 8080。這只需要修改 httpd.conf 的 Listen 80 為 Listen 8080 (注意去掉該行前面的 # 注釋符號(hào)) 即可。

第二步:集成 Subversion 到 Apache2 中
修改 httpd.conf,加入下面兩行:
LoadModule dav_svn_module d:/svn-1.2.0-win32/bin/mod_dav_svn.so
LoadModule dav_svn_module d:/svn-1.2.0-win32/bin/mod_authz_svn.so

第三步:創(chuàng)建倉庫
在命令行窗口運(yùn)行:
d:/svn-1.2.0-win32/bin/svnadmin create d:/svnrepo
然后繼續(xù)修改 httpd.conf,加入下面的內(nèi)容:

DAV svn
SVNPath d:/svnrepo

現(xiàn)在啟動(dòng) Apache2,通過瀏覽器訪問
http://127.0.0.1:8080/public/
應(yīng)該就可以看到如下畫面了。當(dāng)然了,如果你的倉庫里面什么都沒有,就只能看到一個(gè)空目錄而已。

第四步:權(quán)限驗(yàn)證
經(jīng)過前面三個(gè)步驟,我們建立了一個(gè)任何人都可以訪問并操作的 Subversion 倉庫。所以現(xiàn)在就是該為這個(gè)倉庫加上鎖的時(shí)候了。

修改 httpd.conf,找到剛剛輸入的 ,修改為如下內(nèi)容:

DAV svn
SVNPath d:/svnrepo

AuthzSVNAccessFile "d:/svn-1.2.0-win32/conf/repo-access-file"

Satisfy Any
Require valid-user

AuthType Basic
AuthName "我的 Subversion 倉庫"
AuthUserFile "d:/svn-1.2.0-win32/conf/auth-file"

這里我們指定了兩個(gè)文件。repo-access-file 文件用于指定倉庫的訪問策略,auth-file 則保存用戶名和密碼。

repo-access-file 文件的內(nèi)容如下:


[/]
dualface = rw
* = r

[/private]
dualface = rw

這個(gè)文件里面,[/] 表示要為根目錄指定訪問策略,而 [/private] 則表示為 /private 目錄指定訪問策略。
[/] 后面的 dualface = rw 表示名為 dualface 的用戶在這個(gè)目錄及其子目錄中具有讀寫權(quán)限(r = 讀,w = 寫)。* = r 則表示任何用戶都具有只讀權(quán)限。[/private] 后面沒有 * = r,因此除了 dualface 以外的任何其他用戶都無法訪問這個(gè)目錄。
這里要注意的是,雖然我們?yōu)?/ 根目錄指定的訪問策略是允許任何人具有只讀權(quán)限,但 /private 目錄單獨(dú)的訪問策略具有更高的優(yōu)先級(jí)。

接下來,還要?jiǎng)?chuàng)建保存用戶名和密碼的 auth-file 文件。這個(gè)文件不能直接建立,需要使用 Apache2 的 htpasswd 程序來建立。使用格式如下:
htpasswd -cm d:/svn-1.2.0-win32/conf/auth-file dualface

-cm 參數(shù)表示創(chuàng)建文件,并添加用戶。而 dualface 則是要添加的用戶名。執(zhí)行命令后,htpasswd 會(huì)提示輸入兩次為用戶指定的密碼。

如果要添加更多用戶,將參數(shù) -cm 改為 -m 即可。最后重新啟動(dòng) Apache2,如果一切順利,我們的倉庫就完全建立好了!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多