一.軟件下載
下載Subversion與TortoiseSVN。
服務端:
Subversion的地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
客戶端:
TortoiseSVN的地址:http://tortoisesvn.net/downloads
二.軟件安裝
1.首先安裝apache服務器,確保apache服務器可以訪問
2.安裝subversion軟件
3. 把 Subversion/bin/ 目錄下的mod_dav_svn.so 和 mod_authz_svn.so 複製到 Apache的 /modules/ 目錄下。
把 Subversion/bin/ 目錄下的 libdb44.dll、libeay32.dll、以及 ssleay32.dll文件複製到 Apache目錄底下的 bin 目錄下。
4. 然後用文本編輯器打開 Apache 的Apache/conf/httpd.conf,尋找一堆LoadModule 指令,先找到以下兩行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
把這兩行最前面的 '#' 字元刪除,然後把下面這行加到這羣 LoadModule 指令的後面:
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
5.在apache的配置文件中進行相應的配置,以便客戶端 TortoiseSVN和瀏覽器知道如何訪問:
例:
<Location/svn>
DAV svn
SVNParentPath E:/svn
</Location>
6.創建倉庫目錄:
命令行模式下進入Subversion安裝目錄中的bin目錄中
命令如下:svnadmin create e:/svn/food
7. http://localhost/svn/food/在客戶端填入url就可以checkout代碼了
三.權限控制
1.在apache的配置文件中加入如下配置:
<Location/svn>
DAV svn
SVNParentPath E:/svn
#啓用基本的驗證,使用用戶名/密碼驗證
AuthZSVNAccessFile E:/svn/authz
AuthUserFile E:/svn/passwd
# 上述兩行分別代表用戶權限表, 用戶密碼錶.
Satisfy Any
Require valid-user
AuthType Basic
#啓用基本的驗證,使用用戶名/密碼驗證
AuthName "test"
</Location>
2.使用apache的htpasswd工具添加用戶:
注意:-c代表新創建,如果是第2次及以後再次增加用戶,不要用-c,否則前面的用戶都丟失了.
3.添加權限配置文件:
在e:/svn文件中創建一個authz文件
在authz裏寫權限規則
例: 在E:/svn/orange,和apple兩個倉庫
[orange:/]
stu= r
dev= rw
[apple:/]
stu= rw
dev= r
*= r
如上配置中,即說明
對於orange倉庫
stu只讀權限
dev讀寫權限
apple倉庫
stu讀寫權限
dev只讀
任意用戶讀權限