一.软件下载
下载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只读
任意用户读权限