1 安装svn
执行svnserve –version 查看系统中是否安装了svn
[root@localhost project]# svnserve --version
svnserve,版本 1.7.14 (r1542130)
编译于 Apr 11 2018,02:40:28
版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
如果没有安装,直接使用yum安装
yum install -y subversion
2 新建svn的工作路径
mkdir /ext/data/svndir
3 新建svn的仓库/项目
svnadmin create /ext/data/svndir/project
1
4 进入svn的仓库目录
[root@localhost project]# ls
conf db format hooks locks README.txt
[root@localhost project]# cd conf/
[root@localhost conf]# ls
authz passwd svnserve.conf
已经看到在仓库下面生成了三个文件
authz #权限配置文件
passwd #用户名密码文件
svnserve.conf #资源库配置文件
5 配置用户名密码权限
vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
lirui = lirui
新增一行:
lirui = lirui
新增用户“lirui”,密码是“lirui”
vi authz
新增如下内容
[project:/] #svn根目录
* = rw #所有用户有读权限
vi svnserve.conf
打开如下几行前面的注释,一定要删除前面的空格
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
6 启动svn
在这里有个坑就是启动时候的路径问题,会造成认证失败,原因就是配置文件authz和启动时候的路径要对应上,否则会出现认证失败。
要注意
authz文件中 使用的是svnadmin create project出来的目录 [project:/]
所以我们对应启动时候要以/ext/data/svndir目录启动,这里一定要对应上,否则会出现认证失败,我出错的原因就是启动时候使用svnserve -d -r /ext/data/svndir/project启动导致的
svnserve -d -r /ext/data/svndir
1
7 测试
以之上的配置启动后,对应的仓库url为
svn://ip/project ip替换为启动svn服务的服务器的ip
在linux命令行下 执行
svn checkout svn://ip/project
1
在windows下使用svn工具
输入账号密码都可以登录操作。
8 遇到其他的认证失败问题
如网上搜索的认证失败原因可能是本地保留了之前输入认证信息
在linux端可以直接删除本地的认证记录
rm ~/.subversion/auth/ -rf
1
https://www.cnblogs.com/mangu-uu/archive/2012/09/05/2671467.html
window端可以右键文件夹TortoiseSVN==>>settings==>>saved Data==>>Authentication data==>>clear
https://blog.csdn.net/changyinling520/article/details/78093986?foxhandler=RssReadRenderProcessHandler
9 拓展
如果有需要新增用户的话,直接在conf/passwd文件中继续添加即可
[users]
# harry = harryssecret
# sally = sallyssecret
lirui = lirui
cuill = cuill123
dush = dush001
更改用户权限authz文件
让某些用户具有读写权限,其他用户只要访问读权限
[project:/] #svn根目录
lirui = rw
* = r
---------------------
作者:wq3028
来源:CSDN
原文:https://blog.csdn.net/wq3028/article/details/81459643