`
toprogrammer
  • 浏览: 64650 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SVN:服务的配置

阅读更多
在做上一个项目的时候,由于人不多,用的是本地CVS服务器,现在做的这个项目用的是杭州总公司的SVN服务器,
由于距离太远,网络状态不好的时候DOWN不下来,所以准备在本地建一个SVN服务器:


一、准备
  先安装下面两个软件:
  svn-1.4.5-setup.exe(将服务器的安装路径添加到Path中,后边要用到SVN的命令)
  TortoiseSVN V1.6.0.15855 -win32.msi
   
   
二、建立版本库(Repository)  
  运行Subversion服务器需要首先要建立一个版本库(Repository),有两种方法:
 
  1.通过命令行:svnadmin create E:\SVNRoot,就会在目录E:\SVNRoot下创建一个版本库。
   
  2.使用TortoiseSVN图形化的创建:  
     在目录E:\SVNRoot下"右键->TortoiseSVN->Create Repository here...“,也会在目录E:\SVNRoot下创建一个版本库。

   注意:(亲身经历,不得已又重新创建了一次^_^)如果版本不一致,比方说服务版是1.4,TortoiseSVN 是1.6的话,当版本库创建成功后,客户端连接服务器的时候,会出现:期望文件系统格式“2”,发现格式“4”,这样的问题,把版本库删掉,用第一种方法创建就可以了
   
   
三、配置用户和权限(注:如果连接的时候出现提示 403 error,一般都是权限问题)  
 
  1.来到E:\SVNRoot目录,修改svnserve.conf:
     anon-access = none 表示匿名用户无法使用
     auth-access = write  表示通过用户认证的有写的权限
     password-db = passwd  用户密码配置文件
     authz-db = authz       用户组权限配置文件
   在svnserve.conf文件中:去掉每行前边的#
  
  2.下面就该配置SVN的用户名和密码了,打开E:\SVNRoot目录下,passwd文件,
    在文件里的[users]下面添加用户和密码,格式为:用户名 = 密码,例如:
    [users]
    myz=123456
aa=123456
bb=123456

  3.下面该控制用户的权限了,打开E:\SVNRoot目录下,最后一个文件:authz。
    我们可以同过控制用户可以不可以访问某个目录来控制权限,
权限分配时,应遵从:
根目录到子目录、
从设置最广泛权限到最精细权限、
从只读权限到读写权限设置原则,
即从根目录开始设置最广泛的访问权限,
然后逐步设置下属子目录的访问权限。
提示:目录的访问权限既可以分配给组,也可以分配指定用户。

    在[groups]域里添加组,格式为:组名 = 用户名,用户名…
----------------------------------------
[groups]        //分组
mn =aa,bb       //把aa,bb分到组mn中
cpp=myz         //把myz分到组cpp中

----------------------------------------
[/]              //这个代表根目录
@mn = rw         //mn组可以访问所有目录,r代表读,w代表写,rw代表有读和写的权限
@cpp = r         //cpp组可以访问所有目录,但是权限为只读
[/cpp]
@cpp = rw        //cpp组可以访问根目录下文件名叫cpp的文件夹,权限为读写
   
四、运行服务
 
    1. svnserve -d E:\svndemo\repository   (svnserve -help 可以查看svnserve命令的用法)
 
   -d:表示svnserve 以守护进程方式运行,在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止


2.为了验证svnserve是否正常工作,使用TortoiseSVN -> Repo-browser 来查看版本库.
 
  url:svn://localhost/SVNRoot
   
3.如果不想每次都输入命令的话,可以写一个批处理文件,每次启动执行;
  也可以注册一个windows系统服务:
  sc create SVN binpath= "\"D:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto
  ------------------------
  sc 系统服务注册命令
 
  删除服务的命令:sc delete SVN
 
 
 
 

五、下面就是初始化导入数据和一些基本操作了,在这里就不详细说了。^_^
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics