云服务器如何搭建 SVN 服务器

SVN是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。

一、安装SVN

代码语言:javascript
复制
yum install -y subversion

二、创建SVN版本库

  • 创建项目版本库
代码语言:javascript
复制
 mkdir -p /data/svn/myproject
 svnadmin create /data/svn/myproject

三、配置SVN信息

1、配置文件说明

版本库中的配置目录 conf 有三个文件:

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务综合配置文件

2、配置权限配置文件

  • 编辑authz权限控制文件
代码语言:javascript
复制
[groups]            
#用户组
admin = admin,root,test  
#用户组所对应的用户
[/]                 
#库目录权限
@admin = rw         
#用户组权限
*=r               
#非用户组权限

3、配置账号密码文件

  • 编辑passwd账号密码文件
代码语言:javascript
复制
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
root = 123456
test = 123456

4、配置 SVN 服务综合配置文件

  • 编辑SVN综合配置文件svnserve.conf
代码语言:javascript
复制
[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /data/svn/myproject

[sasl]

四、启动 SVN 服务

1、启动SVN

代码语言:javascript
复制
svnserve -d -r /data/svn

2、checkout SVN项目

代码语言:javascript
复制
mkdir -p /data/workspace/myproject
svn co svn://...(你的IP)/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache

3、提交文件到 SVN 服务器

从本地提交文件到 SVN 服务器,其中root密码为/data/svn/myproject/conf/passwd文件存储的密码

代码语言:javascript
复制
cd /data/workspace/myproject
echo test >> test.txt
svn add test.txt
svn commit test.txt -m 'test'

提交成功后可以通过如下命令从本地项目删除文件

代码语言:javascript
复制
cd /data/workspace/myproject
rm -rf test.txt

删除后可以通过 SVN 服务器恢复

代码语言:javascript
复制
cd /data/workspace/myproject
svn update

最后就大功告成!!!