SVN服务器有两种运行方式:svn服务和借用apache运行(http服务)。
svn协议
软件:subversion
svn服务遵循的协议是svn协议,也是为svn://localhost/bos之类的地址提供服务的svn服务器。Subversion是开发人员常用到版本控制系统,一般情况都是dos操作,对于不熟悉的人来说存在一定难度。
HTTP/HTTPS协议
软件:VisualSVN-Server
说明:VisualSVN Serve集成了Subversion和Apache
svn服务是svn服务默认的访问形式,但是大家习惯使用域名或者IP地址来访问项目,把svn服务器当做一个项目,使用http协议来访问svn服务比较符合大家的使用习惯,而且遵循http服务是基于Apache的subversion界面化的操作更是易于管理和操作。尤其对没有接触svn的运维人员,http访问版本服务器明显优于svn版本服务器。
问题
一般常遇到问题是svn服务器不能以SVN://协议访问,只能用http://协议访问。
主要原因可能是svn服务端集成了apache的安装包,安装后自动配置成了http协议访问。如果需要svn协议访问,需要重新架设服务器,不能集成apache,使用纯SVN安装包即subversion安装包。但是subversion配置起来比较麻烦,中间的错误都可能导致服务起不来。因为配置起来比较麻烦,下问特此送上配置教程。
软件:TortoiseSVN-1.11.1.28492-x64-svn-1.11.1.msi
链接:https://pan.baidu.com/s/1JuW2LetxM_a6Lwm_1_cwDQ
提取码:x3jo
软件:LanguagePack_1.11.1.28492-x64-zh_CN.msi
链接:https://pan.baidu.com/s/1_FriDtwVA-SzkmueJxEiPw
提取码:okhu
软件:Setup-Subversion-1.8.17.msi
链接:https://pan.baidu.com/s/1n3kbteiOEQU5j45tR3B61g
提取码:q359
sc create SVN-Service binpath="D:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r D:\SVN\jsd1903" displayname="SVN-Service" start=auto depend=Tcpip
sc命令:
create:创建服务
SVN-Service:服务名称
binpath:执行命令所在的路径
displayname:显示的名称
start:启动一个服务
delete:删除服务
stop:停止服务
depend:启动这个服务必须的依赖服务
svnserve命令:
--service:windows服务方式(服务管理器)
-r:服务的根目录
查看svn版本:
svnadmin --version
先创建版本库:
svnadmin create d:\svn\test
修改配置文件:
或者:
备注:
admin = lqb,test2 创建admin组,组成员为:lqb,test2
user = test1 创建用户组,用户成员:test1
[test:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录
@admin = rw admin组有读写的权限
@user = r user组只有读的权限
*= 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
备注:版本库的目录格式如下:
[<版本库>:/项目/目录]
@<用户组名> = 权限
<用户名> = 权限
其中[]內容有許多写法:
[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限
[test:/],表示对版本库test设置权限;
[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;
[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;
权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户
权限分为:r ,w, rw和null ,null空表示没有任何权限。
auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。
启动服务:
软件:VisualSVN-Server-3.9.4-x64.msi
链接:https://pan.baidu.com/s/1PTS0j5U7UdHqbXNkRBJa3A
提取码:c9h6
1)创建版本库
2)创建用户
3)创建用户组(此步骤可以省略)
4)配置权限(第三步如果没有创建组,那就直接添加用户,而不是添加组)
注:通过计算机—管理也能访问到svn管理工具界面: