SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。本实验带您一步步搭建属于自己的 SVN 服务器。
任务大纲
1、安装 SVN 服务端(耗时:1min ~ 2min)
2、创建 SVN 版本库(耗时:1min ~ 2min)
3、配置 SVN 信息(耗时:2min ~ 5min
4、启动 SVN 服务(耗时:2min ~ 5min)
5、部署完成耗时:时间未知
一、安装 SVN 服务端
安装 Subversion
Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。
# yum install -y subversion
二、创建 SVN 版本库
创建项目版本库
# mkdir -p /data/svn/myproject # svnadmin create /data/svn/myproject
三、配置 SVN 信息
1、配置文件简介
版本库中的配置目录 conf 有三个文件:
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务综合配置文件
2、配置权限配置文件 authz
现在请编辑 authz ,内容参考如下:
[groups] #用户组 admin = admin,root,test #用户组所对应的用户 [/] #库目录权限 @admin = rw #用户组权限 *=r #非用户组权限
3、配置账号密码文件 passwd
现在请编辑 passwd ,内容参考如下:
[users] # harry = harryssecret # sally = sallyssecret admin = 123456 root = 123456 test = 123456
4、配置 SVN 服务综合配置文件 svnserve.conf
现在请编辑 svnserve.conf ,内容参考如下:
[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
svnserve -d -r /data/svn
2、checkout SVN项目
# mkdir -p /data/workspace/myproject # svn co svn://127.0.0.1/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache
3、提交文件到 SVN 服务器
从本地提交文件到 SVN 服务器,其中 root 密码为 /data/svn/myproject/conf/passwd 文件存储的密码
cd /data/workspace/myproject echo test >> test.txt svn add test.txt svn commit test.txt -m 'test'
提交成功后可以通过如下命令从本地项目删除文件
cd /data/workspace/myproject rm -rf test.txt
删除后可以通过 SVN 服务器恢复
cd /data/workspace/myproject svn update
五、部署完成
大功告成
恭喜您已经完成了搭建 SVN 服务器
操作日志
[root@VM_42_111_centos ~]# mkdir -p /data/svn/myproject [root@VM_42_111_centos ~]# svnadmin create /data/svn/myproject [root@VM_42_111_centos ~]# [root@VM_42_111_centos ~]# svnserve -d -r /data/svn [root@VM_42_111_centos ~]# [root@VM_42_111_centos ~]# mkdir -p /data/workspace/myproject [root@VM_42_111_centos ~]# svn co svn://127.0.0.1/myproject /data/workspace/myproject --usernameroot --password 123456 --force --no-auth-cache Checked out revision 0. [root@VM_42_111_centos ~]# cd /data/workspace/myproject [root@VM_42_111_centos myproject]# echo test >> test.txt [root@VM_42_111_centos myproject]# svn add test.txt A test.txt [root@VM_42_111_centos myproject]# svn commit test.txt -m 'test' Authentication realm: <svn://127.0.0.1:3690> /data/svn/myproject Password for 'root': Authentication realm: <svn://127.0.0.1:3690> /data/svn/myproject Username: root Password for 'root': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://127.0.0.1:3690> /data/svn/myproject can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes Adding test.txt Transmitting file data . Committed revision 1. [root@VM_42_111_centos myproject]# [root@VM_42_111_centos myproject]# cd /data/workspace/myproject [root@VM_42_111_centos myproject]# rm -rf test.txt [root@VM_42_111_centos myproject]# [root@VM_42_111_centos myproject]# cd /data/workspace/myproject [root@VM_42_111_centos myproject]# svn update Updating '.': Restored 'test.txt' At revision 1. [root@VM_42_111_centos myproject]#
根据腾讯实验室操作总结:https://cloud.tencent.com/developer/labs/lab/10068
未经允许请勿转载:程序喵 » 基于 CentOS 7.2 搭建 SVN 服务器