2020-04-16 svn 服务器搭建

1、yum install svn    

SVN版本库的建立

A.我选择的目录是 /home/svn/作为SVN版本库的根目录,命令为:

# mkdir /home/svn

B.比如,现在我有一个名为“project”的项目需要用SVN做版本管理,那么我可以在svn根目录下建立一个 /project目录,我最终目的想让项目托管到/project目录下。接下来我需要新建这个目录:/home/svn/project

,命令为:

# mkdir -p /home/svn/project

C.然后需要将/project目录设定为版本库,命令如下:

# svnadmin create /home/svn/project

D.设定/project目录为版本库后,会发现/project目录下会多出以下文件:

第五步:svn服务器的相关配置:

svn的配置主要就是对conf目录下的三个文件配置:svnserve.conf、passwd、authzs。

A.对着三个配置文件的讲解

a.svnserve.conf文件讲解

[general]配置段中配置行格式: <配置项> = <值> ,常用的配置项是以下5项:

(1)anon-access控制非鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。即”write”为可读可写,”read”为只读,”none”表示无访问权限。 

缺省值:read

(2)auth-access控制鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。即”write”为可读可写,”read”为只读,”none”表示无访问权限。 

缺省值:write

(3)password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf 目录的相对路径。 

缺省值:passwd

(4)authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 

缺省值:authz 

(5)realm 指定版本库的认证域,即在登录时提示的认证域名称(就是个作为提示用的,不用太纠结)。

b.passwd文件讲解

用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的passwd。

该文件仅由一个[users]配 置段组成。

[users]配置段的配置行格式如下: <用户名> = <口令> ,注意:配置行中的口令是未经过任何处理的明文。

例:用户名口令文件conf/passwd的内容如下,配置了两个用户,用户名分别为”quanran”和”dongxuening”。其中”quanran”用户的口令为”111111”,”dongxuening”用户的口令为”222222”:

[users] 

quanran = 111111

dongxuening = 222222

c.authzs文件讲解

权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的authz。

该配置文件由一个[groups]配置段和 若干个版本库路径权限段组成。

[groups]配置段中配置行格式如下: 

<用户组> = <用户列表> 

用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号”,”分隔,引用用户组时要使用前缀”@”(如:引用用户组”all”要使用字符 串”@all”)。

版本库路径权限段的段名格式如下: 

[<版本库名>:<路径>] 

如版本库abc路径/tmp的版本库路径权限段的段名为”[abc:/tmp]”。 

可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为”[/tmp]”的版本库路径权限段 设置了所有引用该权限配置文件的版本库中目录”/tmp”的访问权限。

版本库路径权限段中配置行格式有如下三种: 

<用户名> = <权限> 

<用户组> = <权限> 

* = <权限> 

其中,”*”表示任何用户;权限的取值范围为”、’r’和’rw’,”表示对该版本库路径无任何权限,’r’表示具有只读权限,’rw’表示有读写权 限。 

注意:每行配置只能配置单个用户或用户组。

例3:权限配置文件conf/authz的内容如下: 

[groups] 

g_admin = admin,zhangsan

[admintools:/] 

@g_admin = rw 

* =

[test:/home/zhangsan] 

zhangsan = rw 

* = r

在上述配置文件中,定义了一个用户组”g_admin”,该用户组包含用户”admin”和”zhangsan”。然后定义了2个版本库路径权限段。其中, 版本库”admintools”只有用户组”g_admin”可读写,其他用户无任何权限;版本库”test”中路径”/home/zhangsan”只有 用户”zhangsan”有读写权限,其他用户只有可读权限。

B.言归正传!开始配置!

(1)配置svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

备注:vi命令编辑svnserve.conf,insert进入编辑模式,放开以上选项,ESC :wq保存。设置非鉴权用户无权访问、设置鉴权用户可读写、口令及权限配置参照conf目录下passwd和authz的配置。

重要提醒!!:首行不可以留空,要顶行,否则会造成SVN识别为配置错误。

(2)配置passwd

[users]

rokay = 123456

备注:配置了一个用户为“rokay”,密码为“123456”的用户。

(3)配置authz

[groups]

g_admin = rokay

[/]

@g_admin = rw

*= 

备注:配置了一个管理员群组“g_admin”,包含用户“rokay”; 

“[/]”表示对根目录“trunk”的权限配置。 

配置了“g_admin”群组对于该目录下的权限为“rw“(读、写)权限。 

* = 配置了除群组”g_admin“外的其他用户均无权访问。

注意:也可以用“,”分隔多个用户或者@+群组名称的方式配置多用户,参看上方说明。

(4)综上,就完成了对三个文件也就是svnserve的配置了。

第六步:启动svn服务

输入命令:# svnserve -d -r /home/svn

注意:/svn目录为版本库的根目录,所以路径仅到/svn即可。

此时,SVN服务器的配置以及版本库已经建立完成!

第七步:SVN Windows客户端访问

访问地址:svn://[服务器IP地址]/[项目名称];

例如:svn://123.206.73.117/project/

输入已授权的用户信息登录即可访问资源位置。 

同样的,可以通过右击项目[team]—[share],输入以上URL将项目共享至新建的SVN版本库中。

注意:上述地址中没有”/svn”这一级目录,”/svn”为版本库根目录,不用输入!!!!!!!!

第八步:新建多个版本库

若要在/svn目录下添加新的版本库,直接新建相应的目录,然后设置为版本库,最后配置即可,不需要重新运行svnserve -d -r /home/svn,也不需要把该命令应用到/svn目录下你所新建的目录,如果因为误操作执行了以上命令,会导致资源库不可用,再次运行svnserve -d -r /home/svn也会报:“不能绑定服务器套接字 地址已在使用”的错误字样“(若已至此,删除掉新建的资源库,并用ps -ef | grep svnserve查看进程,kill -9 [进程号] 杀掉,重新执行svnserve -d -r /home/svn,再次新建资源库,直接配置即可使用)

比如在/svn目录下另外新建一个project2的资源库,命令如下:

# mkdir -p /home/svn/project2

# svnadmin create /home/svn/project2

# 在次配置当前版本库的三个配置文件:svnserve.conf、passwd、authzs。

(不需再运行svnserve -d -r /home/svn !!!!!!!)

第九步:一切搞定,OK啦!

===========第二种:yum安装方式。优点:简单,一键安装,不用手动配置环境变量等。缺点:安装位置为yum默认===========

一、yum安装subversion

    1. 安装subversion yum install subversion

  2. 查看安装版本,检查安装是否成功 svnserve --version  ,我装的版本为  1.7.14

  3. 查看安装位置  rpm -ql subversion

二、创建版本库

  1.创建用于存放版本库的目录,比如我准备在/home下创建版本库  mkdir -p /home/svn/

  2.创建svn版本库,指定为刚才创建的目录 svnadmin create /home/svn/porject

  3.创建完后,版本库目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件。

         修改svnserver.conf文件:

            [general]

            anon-access = none  #匿名用户可读

            auth-access = write  #授权用户可写

            password-db = passwd  #使用哪个文件作为账号文件

            authz-db = authz  #使用哪个文件作为权限文件

  4.修改passwd文件,加入用户,格式就是“用户名=密码”,如: 

             quanran = 11

            dongxuening = 22

  5.修改authz文件,加入用户权限:

    [/] 

    quanran = rw

           dongxuening = r

   这就表示quanran 用户对版本库根目录有读写权限(即最高权限了),而dongxuening 用户对版本库目录只有读的权限。

  6.svnserve.conf里面常用的配置有设置匿名用户(默认可读)、授权用户(默认读写)的读写权限,以及指定账号文件(默认passwd)、权限文件(默认authz)的路径等。看起来应该默认值就够了,但实际使用发现还是得手动把相关注释打开,不知道是什么原因。

  7.启动svn版本库 svnserve -d -r  /home/svn/

   其中,-r的作用是设置根目录路径,比如我这样设置后在访问时输入svn://x.x.x.x/就会直接到我的svn目录下(当然在svn目录下是找不到版本库的),如果想访问版本库则输入svn://x.x.x.x/Code即可。

   换句说话,如果启动版本库时命令为svnserve -d -r   /home/svn/,则访问svn://x.x.x.x/就能直接到版本库内。

三、常见问题

  1.注意打开端口的访问权限。svn服务的默认端口为3690,比如我部署在阿里云服务器上,必须先在阿里云控制台打开3690端口的外部访问权限。

  2.关闭svn服务的方式是杀掉进程,kill pid或者pkill svnserve

————————————————

版权声明:本文为CSDN博主「全冉」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_23167527/java/article/details/80182317

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350