两种配置的区别
一、 使用自带svnserve搭建服务
- 访问地址以svn://ip/...开头
- 各版本库下分别有三个配置文件(可修改为统一配置文件)
- 用户密码明文
二、 基于apache服务
- 访问地址以http://ip/...开头
- 统一配置文件
- 用户密码密文
svnserve具体配置方法
一、svnserve
1. 下载subversion
下载工具:Apache Subversion command line tools
2. 解压后存放到路径(最好不要有空格和中文)
解压后存放到准备好的路径中。
将bin的路径添加系统环境变量。
我的路径:D:\develop\SubversionCmdLineTools\Apache-Subversion-1.14.0
所以我的bin环境变量:D:\develop\SubversionCmdLineTools\Apache-Subversion-1.14.0\bin
配置好后可以在cmd中输入命令svnserve --version
验证是否成功
PS. 打开环境变量快捷键:win+R输入sysdm.cpl
3. 创建版本库
首先创建版本库的根目录,在选好的路径下新建空文件夹
我的路径:E:\testRepository
打开cmd,输入如下命令,创建名为project1和project2的版本库
svnadmin create E:\testRepository\project1
svnadmin create E:\testRepository\project2
4. 用户及权限设置
在版本库project1\conf下有三个文件
- svnserve.conf文件修改
[general]
anon-access=none
// 未验证用户无任何权限auth-access=write
// 已验证用户给予写权限password-db=passwd
// 密码数据存放到passwd文件中authz-db = authz
// authz-db指明权限配置文件路径realm = repository
// realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。
- passwd文件,修改用户
[users]
admin = 1234 // =前用户名,=后密码
- authz文件,修改权限
[groups]
svnadmin = admin,user1[/]
admin = rw
user1 =
[project1:/假如有文件]
@svnadmin = rw// groups表示用户组,名称前加@表示
// r可读,w可写
// /表示版本库内根目录权限
// *表示所有人
// =后为空表示无权限
5. 启动服务
- 输入命令启动svnserve服务
svnserve -d -r E:\testRepository
1. 此命令中-d相当于--daemon,作用:以守护进程方式运行,服务在手动终止之前不会退出,关闭窗口或ctrl+C会停止 svnserve
2. -r相当于--root,作用:设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间。
不加root参数,服务url为:svn://localhost/svn/project1,
加root,服务url为:svn://localhost/project1
-
服务成功启动,可成功访问
svn://localhost/project1
注册服务,避免每次启动服务手动输入命令
sc create svnservice binpath= "D:\\develop\SubversionCmdLineTools\\Apache-Subversion-1.14.0\\bin\\svnserve.exe --service -r E:\\testRepository" displayname= "SVNService" depend= Tcpip start= auto
binpath 为安装subversion可执行文件的路径
E:\\testRepository 为你的版本库根目录
1. sc 表示sc.exe = Service Control
2. svnservice 为命令行中的服务名
3. displayname 为注册后系统服务中显示的名称
6. 实现互联网访问
使用内网映射本机ip到公网ip即可,svnserve默认端口3690
参考文档:
从subversion开始(svn安装配置全过程(+全套安装文件与配置文件))
subversion服务器两种配置方式所用的配置文件及格式
windows 安装subversion1.9.4及配置
subversion配置及权限管理