开发者社区> 技术小牛人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SVN服务器搭建

简介:
+关注继续查看

一、SVN简介

    Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网https://subversion.apache.org/


二、安装SVN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# yum -y install subversion
=============================================================================
 Package                    架构       版本                   源        大小
=============================================================================
正在安装:
 subversion                 x86_64     1.7.14-10.el7          base     1.0 M
为依赖而安装:
 apr                        x86_64     1.4.8-3.el7            base     103 k
 apr-util                   x86_64     1.5.2-6.el7            base      92 k
 neon                       x86_64     0.30.0-3.el7           base     165 k
 pakchois                   x86_64     0.4-10.el7             base      14 k
 perl                       x86_64     4:5.16.3-286.el7       base     8.0 M
 perl-Carp                  noarch     1.26-244.el7           base      19 k
 perl-Encode                x86_64     2.51-7.el7             base     1.5 M
 perl-Exporter              noarch     5.68-3.el7             base      28 k
 perl-File-Path             noarch     2.09-2.el7             base      26 k
 perl-File-Temp             noarch     0.23.01-3.el7          base      56 k
 perl-Filter                x86_64     1.49-3.el7             base      76 k
 perl-Getopt-Long           noarch     2.40-2.el7             base      56 k
 perl-HTTP-Tiny             noarch     0.033-3.el7            base      38 k
 perl-PathTools             x86_64     3.40-5.el7             base      82 k
 perl-Pod-Escapes           noarch     1:1.04-286.el7         base      50 k
 perl-Pod-Perldoc           noarch     3.20-4.el7             base      87 k
 perl-Pod-Simple            noarch     1:3.28-4.el7           base     216 k
 perl-Pod-Usage             noarch     1.63-3.el7             base      27 k
 perl-Scalar-List-Utils     x86_64     1.27-248.el7           base      36 k
 perl-Socket                x86_64     2.010-3.el7            base      49 k
 perl-Storable              x86_64     2.45-3.el7             base      77 k
 perl-Text-ParseWords       noarch     3.29-4.el7             base      14 k
 perl-Time-HiRes            x86_64     4:1.9725-3.el7         base      45 k
 perl-Time-Local            noarch     1.2300-2.el7           base      24 k
 perl-constant              noarch     1.27-2.el7             base      19 k
 perl-libs                  x86_64     4:5.16.3-286.el7       base     687 k
 perl-macros                x86_64     4:5.16.3-286.el7       base      43 k
 perl-parent                noarch     1:0.225-244.el7        base      12 k
 perl-podlators             noarch     2.5.1-3.el7            base     112 k
 perl-threads               x86_64     1.87-4.el7             base      49 k
 perl-threads-shared        x86_64     1.43-6.el7             base      39 k
 subversion-libs            x86_64     1.7.14-10.el7          base     921 k
# svnversion --version                   ##查看SVN软件版本 
svnversion,版本 1.7.14 (r1542130)
   编译于 Nov 20 2015,19:25:09
版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。


三、配置并启动SVN

①创建SVN版本库

1
2
3
4
5
6
7
8
9
10
11
12
# mkdir -p /etc/svn/repos                       ##创建版本库
# svnadmin create /etc/svn/repos/                ##创建SVN版本库
# ls -la /etc/svn/repos/
总用量 16
drwxr-xr-x. 6 root root   80 7月   4 15:53 .
drwxr-xr-x. 3 root root   18 7月   4 15:49 ..
drwxr-xr-x. 2 root root   51 7月   4 15:53 conf         ##存储版本库配置文件的目录
drwxr-sr-x. 6 root root 4096 7月   4 15:53 db     ##SVN所要管理的所有受版本控制的数据
-r--r--r--. 1 root root    2 7月   4 15:53 format ##用来表示版本库布局版本号的整数
drwxr-xr-x. 2 root root 4096 7月   4 15:53 hooks    ##存储钩子脚本模版的目录
drwxr-xr-x. 2 root root   39 7月   4 15:53 locks   ##存储SVN版本库锁定数据的目录
-rw-r--r--. 1 root root  229 7月   4 15:53 README.txt


②配置版本库

1
2
3
4
5
6
# cat /etc/svn/repos/conf/svnserve.conf |grep " "|grep -v "#"
anon-access = none                     ##使非授权用户无法访问
auth-access = write                    ##给予授权用户写权限
password-db = passwd               ##指向保存用户帐号密码的文件的位置,这里使用相对路径
authz-db = authz                       ##访问控制文件
realm = repos               ##认证命名空间,SVN会在认证提示里显示,且作为凭证缓存的关键字



③配置passwd

1
2
3
# cat /etc/svn/repos/conf/passwd |grep -v "#"
[users]
zhi = 12345                  ##前面用户名,后面密码


④配置authz权限

1
2
3
4
5
# vi /etc/svn/repos/conf/authz
[groups]             
admin = zhi
[/]
@admin = r

注释:

a.1个用户组可以包含1个或多个用户,用户间以逗号分隔。

b.版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/etc/svn/,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限;
[repos:/abc] 表示对版本库repos中的abc项目设置权限;
[repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

c.权限可以是w、r、wr和空,空表示没有任何权限。


⑤启动SVN

1
2
3
4
# systemctl stop firewalld
# svnserve -d --listen-port 8888 -r /etc/svn
# ss -tlnp |grep svn
LISTEN     0      7            *:8888                     *:*                   users:(("svnserve",pid=1803,fd=3))

注释:

-d :表示以daemon方式(后台运行)运行;

--listen-port 8888:表示使用8888端口,可以换成你需要的端口;

-r /etc/svn:指定根目录是/etc/svn


四、连接SVN

Windows下载TortoiseSVN,官网https://tortoisesvn.net/,还可以下载对应版本的中文包进行汉化。(注:版本必须对应,不然无法汉化。)安装下载的中文语言包安装程序完成后,在TortoiseSVN右键菜单的Settings选项中,选择简体中文即可。


安装后,右键=====>TortoiseSVN=====>版本库浏览器=====>

wKiom1d_c_CjyJZ_AAAVp1r_i9w460.png

(注:如点击"确定"出现option expected是由于svnserve.conf配置文件没有顶格写。)

=====>点击“确定”,输入用户名和密码=====>

wKioL1d_d6mBeKrmAABYjCJbBU8681.png

=====>

wKioL1d_e0nTkOW0AACcNFmbWCU465.png



本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1812737


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
搭建代理服务器
搭建代理服务器
4588 0
搭建邮件服务器
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
1247 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载