码迷,mamicode.com
首页 > 其他好文 > 详细

SVN服务器搭建

时间:2016-07-08 20:02:02      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:svn

一、SVN简介

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


二、安装SVN

# 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版本库

# 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


②配置版本库

# 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

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


④配置authz权限

# 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

# 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=====>版本库浏览器=====>

技术分享

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

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

技术分享

=====>

技术分享


本文出自 “记事本” 博客,请务必保留此出处http://wangzhijian.blog.51cto.com/6427016/1812737

SVN服务器搭建

标签:svn

原文地址:http://wangzhijian.blog.51cto.com/6427016/1812737

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!