安装SVN服务
安装命令:yum install subversion
安装过程如果出现选择输入“y”按回车。
![](https://img-blog.csdnimg.cn/img_convert/096028b269d356342b648bbc0838cbba.png)
出现该截图内容,表示安装成功(就是最下面那个complete)。
配置
(1):目录创建
在服务器根目录创建“www”目录,然后在www下创建“svn”目录,
mkdir -p /www/svn
在“svn”文件下创建两个目录,“conf” 和 “warehouse”。
mkdir -p /www/svn/{conf,warehouse}
“conf”目录下的文件是管理账户和权限
“warehouse” 是仓库的总目录
(2):创建仓库(多项目仓库地址)
在svn仓库总目录下创建单个仓库
svnadmin create /www/svn/warehouse/仓库名称1
svnadmin create /www/svn/warehouse/仓库名称2
在创建的单个仓库里面会有以下文件:
![](https://img-blog.csdnimg.cn/img_convert/282d30d2f009f61079a86bb8d9bc8401.png)
需要特别关注一下仓库里面的“conf”目录。
![](https://img-blog.csdnimg.cn/img_convert/54a6fb664ede21e4f5c224fcecd2d76e.png)
“authz” 是权限控制文件
“passwd” 是 用户控制文件
“svnserve.conf” 是SVN服务配置文件
(3):配置authz和passwd
因为是多项目仓库,所以我们不去操作单个仓库的下的“authz”和“passwd”。在/www/svn/conf下创建“authz”和“passwd”文件,统一配置,方便管理。
touch /www/svn/conf/{authz,passwd}
编辑passwd,在此创建了两个测试用户。
![](https://img-blog.csdnimg.cn/img_convert/e1783cadc5db5592bd83774e2834cf97.png)
编辑authz:设置的项目为work-note,注意格式!!!
![](https://img-blog.csdnimg.cn/img_convert/500aae468f1352f23e8b632e5392e6b1.png)
设置work-note仓库的访问权限。
r:读
w:写
rw:读写
* = 表示其他用户无任何权限。
authz扩展 - group分组设置权限
![](https://img-blog.csdnimg.cn/img_convert/ffa8ca966a3a5d3a4cdfad6f78ab070c.png)
有时候一个版本库面向多个用户,但是针对特定用户只给予版本库下的某一指定目录的权限。
![](https://img-blog.csdnimg.cn/img_convert/980be2deb7303f3248e1376543ac0f6a.png)
(4):配置svnserve.conf
在单个仓库(上面的例子仓库名叫做“work-note”)的仓库“conf”目录下的svnserve.conf文件最后面追加如下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = /www/svn/conf/passwd
#访问控制文件
authz-db = /www/svn/conf/authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /www/svn/warehouse/仓库名称
以上配置信息其实在源文件自带的就有,解开注释也行,但是难得找,直接重新追加也是没有问题的。注意"[general]"
启动与停止
启动
svnserve -d -r /www/svn/warehouse
需要注意的是,这里的启动目录是上面描述的仓库总目录。别启动到单个项目里了。这样启动是默认启动3690端口,如果需要其他端口号则在命令后面追加 “--listen-port 端口号”。
svnserve -d -r /www/svn/warehouse --listen-port 端口号
检查启动
ps -ef|grep svn 或者 ps -aux|grep svn
![](https://img-blog.csdnimg.cn/img_convert/4594ffa03ca44c68345a388e1c37894a.png)
![](https://img-blog.csdnimg.cn/img_convert/35f4e4f0a8d1b8127e4643cd4eb452d5.png)
停止
Kill 端口号
客户端检出
使用TortoiesSVN 客户端工具,地址:“svn://服务器IP:3690/库名”。然后根据提示输入账户名和密码。如果修改了端口号这里也要修改端口号。
总结
总得来说,还是比较简单的,这个是多库的配置。如果是单库的更简单一点。多库和单库区别也不是很大,自己稍微摸索下就行了。如果SVN不能正常连接,先检查目录,再检查用户和授权,然后在从头在看一次文章吧。