yankj12 / blog

技术研究、管理实践、其他的一些文章
MIT License
1 stars 2 forks source link

搭建svnserver #11

Open yankj12 opened 6 years ago

yankj12 commented 6 years ago

使用svn即可搭建svnserver,我是在windows7上搭建的,linux上搭建应该是类似的

使用到的工具:TortoiseSVN

  1. 创建svn仓库 在硬盘上创建一个文件夹(比如我创建了E:/svnrepo),在这个文件夹内使用TortoiseSVN 右键 create repository here 可以选择“Create folder structure”,工具会自动生成“trunk”,“tags”,“branches”三个空目录(不是必须要选择“Create folder structure”,另一个选项也可以)。 此时svnrepo文件夹内有了如下几个文件夹 conf, db, hooks, locks等

  2. 设置用户验证 进入conf目录,修改相关配置

    • 2.1 在 svnserver.conf 配置文件中,打开相关的权限控制 如下内容放开注释 password-db = passwd #用户名密码的数据在passwd文件中 anon-access = none #匿名用户没有权限 auth-access = write #登陆认证的用户有写的权限 authz-db = authz #用户权限的数据在authz文件中 realm = xxxx (这个起一个名字即可)

    • 2.2 在passwd文件中配置用户名密码

    • 2.3 在authz文件中配置组合文件夹的访问权限 对于组的配置可以参考authz文件中的说明 authz中文件夹路径权限控制,需要注意的是 需要配置根路径 [/] super = rw 对于根下的一个文件夹 project [/project] user1 = rw

    • 2.4 启动 svnserve -d -r e:/svnrepo

    • 2.5 如果是本地访问的话,访问project,repo-browser,选择 svn://localhost/project,是不需要输入svnrepo的

    • 2.6 window上安装为服务

      sc create svn binpath= "\"C:\Program Files(86)\Subversion\bin\svnserve.exe\" --service -r E:\svnrepo" displayname= "Subversion Server" depend= Tcpip start= auto

常见的问题:

  1. 客户端svn出现authorization failed异常 出现authorization failed异常,一般都是authz文件或者svnserve.conf里,用户组或者用户权限没有配置好,对根路径配置权限,设置[/]就可以,代表根目录下所有的资源,如果要限定子路径的权限,可以对子路径配置权限控制。