## Linux搭建SVN及问题的小货
搭建步骤:
第一步:安装 SVN
yum install subversion
第二步创建仓库
我们这里在 /usr/local/svnrep 下建立一个仓库 (repository) , 名字也是 svnrep :
cd /usr/local/
mkdir svnrep 建立仓库目录
svnadmin create /usr/local/svnrep 将此目录创建为svn仓库
创建成功后在 /usr/local/svnrep 会有相关文件夹 :
drwxr-xr-x 2 root root 4096 Mar 30 20:05 conf
drwxr-sr-x 6 root root 4096 Mar 30 20:05 db
-r–r--r-- 1 root root 2 Mar 30 20:05 format
drwxr-xr-x 2 root root 4096 Mar 30 20:05 hooks
drwxr-xr-x 2 root root 4096 Mar 30 20:05 locks
-rw-r–r-- 1 root root 229 Mar 30 20:05 README.txt
配置文件讲解
上面的文件中 , 文件夹 conf 是用来存放配置文件的 :
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务配置文件
配置 passwd(增加用户)
[users]
#harry = harryssecret
#sally = sallyssecret
tojohn = 123456
guest = 123456
创建了 tojohn 和 guest 的用户 , 密码都是 123456 ;
配置 authz
[/]
tojohn = rw
guest = r
上面配置的含义是 对于仓库 (/usr/local/svnrep) 下所有文件 , 用户 tojohn 有 读写 权限 , guest 用户只有 读 权限 , 其它用户 无任何权限 (由最后一行 * = 表示) ;
如果要进行分组 , 配置如下 :
[groups]
group1 = tojohn
group2 = guest
[/]
@group1 = rw
@group2 = r
*=
上面配置中创建了 2 个分组 , 分组 1 的用户可读可写 , 分组2的用户只读 , 组内的用户有多个的话用逗号隔开 ;
配置 svnserve.conf
打开下面的5个注释 :
anon-access = read # 匿名用户可读
auth-access = write # 授权用户可写
password-db = passwd # 使用哪个文件作为账号文件
authz-db = authz # 使用哪个文件作为权限文件
realm = Ensk’s SvnRep # 版本库认证域 , 使用 SVN 客户端访问时 , 会出现在提示信息中 , 最好自定义下域的标志以方便辨别库
打开注释时前面不要留有空格 , 否则访问库会报错(这个很重要)
启动服务
svnserve -d -r /usr/local/svnrep
客户端连接
使用 TortoiseSVN , 输入地址 svn://192.168.22.159:3690/ 即可 , 再输入用户名和密码就能访问了
默认端口 3690 , 如果你修改了端口 , 那么要记得加上修改后的端口号 ;
修改端口号
服务器默认使用 3690 端口号 , 要使用非默认端口 , 可以在启动命令后面加一个 --listen-port xxxx :
svnserve -d -r /usr/local/svnrep --listen-port 3691
则端口号变为 3691 , 同时还可以为同一个服务器上不同的 SVN 项目设定不同的端口号 , 比如还建有另一个项目那么可以启动 :
svnserve -d -r /usr/local/svnrep1 --listen-port 3692
则 svnrep1 项目监听 3692 端口号 , 这样在使用 netstat -ntlp 进程查看时会查看到另个 svnserver , 客户端可以指定端口来访问不同的项目 ;
本文来自 Ensk 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/tojohnonly/article/details/79765583?utm_source=copy
问题处理方式
①首先svn端口(3690或其他自定义的)允许访问;
②所有的配置文件中的内容每行前不许有空格;(用户名称前不准有空格,如下配置文件)
删除操作:使用Tortoise删除远程SVN文件操作,如下图:
删除后再提交防止远程有缓存
修改锁定等不同状态对应图: