-
SVN的安装
#svn的下载安装命令
yun -y install subversion
#检查是否安装成功
svnserve --version
#如图表示安装成功(可以看到其中安装的版本号 version 1.6.11)
-
SVN的配置
# 创建svn库的存放目录 (mkdir是linux创建目录命令)
mkdir /depot/svn/svndepot
# 指定svn库 (svn会在此目录下生成一些所需文件)
svnadmin create /depot/svn/svndepot
生成后的目录结构
conf : 用于配置svn成员的权限、账户密码等
db : 版本数据存储目录
format : 存储一个整数的文件,此整数代表库层次结构版本
hooks : 存放版本库勾子目录
locks : 用来跟踪库的访问者
### 修改svn库的配置信息
#添加账号(编辑conf/passwd )
vi /depot/svn/svndepot/conf/passwd
如图:添加了一个账号为chenfei 密码为123456的账号
#修改账号权限
vi /depot/svn/svndepot/conf/authz
如图:修改账号为chenfei的权限为读写 rw (read write)
[/] 表示限定账号可操作权限的目录为为根目录
[/foot/bar] 表示限定账号可操作权限的目录为/foo/bar
[groups] 表示为用户分组,格式为 group_name = user1,user2 多个用户用逗号分隔。
@group_name = rw 为此组下的账号分配读写权限
[repository:/baz/fuz] 表示名为repository的仓库下/baz/fuz/目录进行权限控制
* = r 表示为所有用户分配权限可读权限
#指定已添加的账号及权限的配置文件地址
vi svnserve.conf
如图:
anon-access:none 未授权用户不可用 可选[read none write]
auth-access: write 为授权后(登录) 的用户分配权限为读写 可选[read none write]
authz-db = authz :用户权限配置文件为当前目录(conf)下的authz文件
password-db = passwd: 账户配置文件为当前目录(conf)下的passwd文件
realm = My First Repository :显示名 客户端查看svn服务器上文件时所显示的名字
-
SVN服务启动与停止
#服务启动 (/depot/svn/ 启动svn库的所在目录)
svnserve -r -d /depot/svn/
#服务停止
killall svnserve
-
SVN的测试
- 客户端安装好svn的工具
- 右击 选择SVN checkout 输入svn的地址(svn://192.168.1.1/depot/svn/svndepot/)
- 将此目录下的文件更新到本地(刚创建的服务 里面是空文件)
- 测试新建一个文件 commit到服务器上测试是否保存成功
-
总结
- 网上配置权限、账号的配置方式有两种。一种使用自动生成的authz和passwd文件。一种是自己生成authz.conf和passwd文件。我第一次测试时候使用的是自己生成的方式。出现了提交不显示登录输入框。但是,提交时却显示用户未授权(没有权限)。可能是我自己配置有问题。建议新手使用系统自动生成的文件配置。
- svn地址输入的时候最后尽量添加/ 不添加可能出现无权限 之类的问题
- svn服务器上的配置文件修改后不要重启
- 配置账号密码时候用户名时首行不要有空格不然会出错。配置svnserve.conf时也是如此
- 服务器与客户端的SVN版本可以不一致
- 如若出现了权限问题。一般是 三个配置文件中 账号、权限、指定权限与账号路径地方配置错误(zuthz、passwd、svnserve)
- svn客户端之前有配置过账号密码且svn库地址相同、账号密码不同时 清理svn账号密码。右击Tortoies SVN >settings>Saved Data>Authentication data >Clear 或 Clear all 。Clear 可以选择清理指定库地址的账号密码。Clear all 表示清理全部
- 如遇到问题可在评论。很乐意为您解答。如博客中错误的地方也请评论,期待您的指正。
日期:2017-05-06 03:09:04