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


相关文章
|
2月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
4月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SVN服务器搭建教程】
现在,你已经成功在Ubuntu系统上搭建了SVN服务器。其他用户可以通过SVN客户端连接到你的SVN服务器,进行代码版本管理和协作开发。注意,为了安全起见,建议配置SSL加密以保护数据传输。
41 1
|
4月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
49 0
|
2月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
3月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
5月前
|
算法 程序员 Apache
Windows下搭建SVN服务器并配置eclipse和idea
Windows下搭建SVN服务器并配置eclipse和idea
70 1
|
5月前
|
网络安全 数据安全/隐私保护
Centos8下快速搭建SVN服务器
Centos8下快速搭建SVN服务器
122 0
|
5月前
|
小程序 Linux Shell
SVN配置服务器自动更新
使用svn做版本控制服务器,其实还是比较方便的,不管是从搭建还是配置上,相对于git,都要简单很多。 Linux如何搭建SVN服务器,请移步《Centos7安装SVN》
52 0
|
6月前
SVN服务器地址变更,本地如何更新同步
SVN服务器地址变更,本地如何更新同步
95 0
|
8月前
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决