华为云、Linux 下安装SVN 服务端。

日常学习,Linux 下的 SVN服务器搭建,并记录。

1. 安装subversion :

  使用yum安装非常简单:

1 #安装subversion
2 [[email protected] ~]# yum install subversion

  运行命令后,与svn 有依赖关系的软件 都会被安装。

  最后显示 “完毕”  。subversion 就安装完成了!!!

1 .......
2 已安装:
3   subversion.x86_64 0:1.7.14-11.el7_4
4
5 作为依赖被安装:
6   apr.x86_64 0:1.4.8-3.el7_4.1                          apr-util.x86_64 0:1.5.2-6.el7
7   subversion-libs.x86_64 0:1.7.14-11.el7_4
8
9 完毕!

2. 查看一下SVN的版本:

  安装完成后,可以查看一下SVN的版本。这样,自己的心里也有个数。

 1 #查看svn版本
 2 [[email protected] ~]# svn --version
svn,版本 1.7.14 (r1542130)
   编译于 Apr 11 2018,02:40:28

版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。

可使用以下的版本库访问模块: 

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
  - 处理“http”方案
  - 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证
  - 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  - 处理“file”方案

3. 创建仓库

  我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。

1 #创建仓库目录
2 [[email protected] ~]# mkdir -p /home/svn/
3 [[email protected] ~]# cd /home/svn/
4 #创建svn仓库
5 [[email protected] svn]# svnadmin create project
6 [[email protected] svn]# ll
7 总用量 0
8 drwxr-xr-x 6 root root 4096 1月   8 10:31 project

4. 配置服务端svn

  上一步,创建好svn仓库后,就会发现 project 仓库下多了很多文件。其中 conf文件夹,这个是存放配置文件的。(蓝色代表的是文件夹)

   进入conf 后,会看到 svnserve配置文件通常由3个文本文件组成:

 1 [[email protected] svn]# cd project
 2 [[email protected] project]# ll
 3 总用量 24
 4 drwxr-xr-x 2 root root 4096 1月  13 18:27 conf
 5 drwxr-sr-x 6 root root 4096 1月  13 19:22 db
 6 -r--r--r-- 1 root root    2 1月   8 10:31 format
 7 drwxr-xr-x 2 root root 4096 1月   8 10:31 hooks
 8 drwxr-xr-x 2 root root 4096 1月   8 10:31 locks
 9 -rw-r--r-- 1 root root  229 1月   8 10:31 README.txt
10 [[email protected] project]# cd conf
11 [[email protected] conf]# ll
12 总用量 12
13 -rw-r--r-- 1 root root 1333 1月  13 17:18 authz
14 -rw-r--r-- 1 root root  383 1月  13 18:20 passwd
15 -rw-r--r-- 1 root root 3590 1月  13 18:27 svnserve.conf

  其中:

  (1.) 权限配置文件,在conf目录下,文件名为 authz (权限控制文件)

  (2.) 用户名口令文件:在conf目录下,文件名为 passwd (帐号密码文件)

  (3.) svn服务配置文件:在conf目录下,文件名为 svnserve.conf  (SVN服务配置文件)

  操作如下:

  1.) passwd文件:

  建议先从修改 passwd文件开始,先创建用户再进行权限配置。

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

   格式:<用户名>=<口令>  (注:口令为未经过任何处理的明文。)

  我们创建 4个用户,admin,test,test1,test2

1 [[email protected] conf]# vi passwd
2 [users]
3 admin = admin
4 test = test
5 test1 = 123456
6 test2 = 123456

  2. )authz 文件:

  该文件由[groups]配置段 和 若干版本库路径权限段 组成。详情可查看 authz文件。

1 [[email protected] conf]# cat authz

  
     当中,可看到:

    [groups]配置段格式为:

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

1 [groups]
2 # harry_and_sally = harry,sally
3 # harry_sally_and_joe = harry,sally,&joe

  用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"

  拓展:使用用户分组-----

  这个我一般不用,但是记录下来:(最终配置修改,请看下方黄色部分)

  下面的配置中创建了2个分组,分组1 的用户 可读可写,分组2 的用户 只读。

1 [[email protected] conf]# vi authz
2 [groups]
3 group1 = admin
4 group2 = test1,test2
5 [/]
6 @group1 = rw
7 @group2 = r
8 * =

  版本库路径权限段格式:

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

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

可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:[/tmp]

  版本库路径权限段中配置行格式有如下三种:
       <用户名> = <权限>
       <用户组> = <权限>
        * = <权限>
      

  • 其中," * " 表示任何用户;权限的取值范围为‘ 空 ‘、‘r‘和‘rw‘;
  • ‘ 空 ‘ 表示对该版本库路径无任何权限,‘r‘表示具有只读权限,‘rw‘表示有读写权限。
  • 注意:每行配置只能配置单个用户或用户组。
1 # [/foo/bar] ----->(section name)
2 # harry = rw ----->(option name = option value)
3 # &joe = r
4 # * =
5
6 # [repository:/baz/fuz]
7 # @harry_and_sally = rw
8 # * = r

  每一个 section 都命名了一个版本库(repository)和其对应的路径(path),

  option name是已认证的用户名(即在passwd文件中定义的用户),而 option value 是用户对仓库指定路径的访问级别,分为 r(read-only)只读 和 rw(read/write) 读写这两种。

  注意下,特别强调每一部分配置的名称可以是 [repos-name:path] 或 [path] 这两种格式。

  搞清楚了这些概念后,修改配置文件 加如下内容即可:

###在最后面增加如下内容,[/] 是相对svn库src目录下的访问路径,可根据路径分配目录访问权限:
[/]
admin = rw
test1 = r
test2 = r
* =

###如下是配置test用户只有对svn/project的目录,具有可读写权限
[/project]
test = rw

  上面配置的含义详解: 

1 [/]    -----------(仓库下所有文件)
2 admin = rw  --------(admin用户:可读可写)
3 test1 = r  ------ (test1用户:只读)
4 test2 = r  ------(test2用户:只读)
5 * =    ------(其他用户无任何权限)
6
7 [/project]  ------(project仓库)
8 test = rw  ------ (test用户:可读写)

  admin 对/home/svn/下所有文件具有可读可写权限,除此之外,其它用户均无任何权限,最后一行 *= 很重要不能少。

  test1,test2 对/home/svn/下所有文件 只有只读权限。

   test 对/home/svn/project/权限。

  总结:
     SVN管理员可以通过这3个配置文件设置svnserve服务的用户名口令,以及对版本库路径的访问权限。

   这些配置文件保存后就立即生效,不需要重启svnserve服务。

 

  3.) svnserve.conf文件: 

   该文件由一个 [general]配置段 组成。(也就是说所有的配置都在[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 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。

    缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

  以下是一个详细的配置文件:(打开下面的5个注释 ,配置文件默认是被注解掉的。)

 1 [[email protected] conf]# vi svnserve.conf
 2
 3 #匿名用户可读
 4 anon-access = read
 5
 6 #授权用户可写
 7 auth-access = write
 8
 9 #使用哪个文件作为账号文件
10 password-db = passwd
11
12 #使用哪个文件作为权限文件
13 authz-db = authz
14
15 # 认证空间名,版本库所在目录
16 realm = /home/svn/project

  上方 注意 两点:

  • 最后一行的realm 记得改成你的 svn目录
  • 打开注释时切记前面 不要留有空格,否则可能有问题

5. 启动SVN

  以上都配置完毕后,就可以启动运行 SVN了。

1 [[email protected]  conf]# svnserve -d -r /home/svn/project/

  (上述启动命令中,-d表示守护进程, -r 表示在后台执行。)

6. 查看SVN进程

1 [[email protected]  conf]# ps -ef|grep svn|grep -v grep
2 root     19275     1  0 1月13 ?       00:00:00 svnserve -d -r /home/svn/project/

7.检测SVN端口

1 [[email protected] conf]# netstat -ln |grep 3690
2 tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN     

(这里还是要说一下。为什么要检查一下svn端口呢? 因为 不管你买的什么云 ,安装SVN之前都需要自己 放行 3690端口。不然肯定是访问不了的。

  如果安装了 宝塔。同样也需要宝塔内放行3690端口。)

8.停止SVN

1 [[email protected] conf]# killall svnserve

9.客户端测试SVN

待续~~~~

原文地址:https://www.cnblogs.com/byx1024/p/12190137.html

时间: 2025-01-20 00:11:11

华为云、Linux 下安装SVN 服务端。的相关文章

linux下安装svn服务端

安装 #yum install subversion #subversion -v //判断是否安装成功 svnserve, version 1.6.11 (r934486)//出现这样的提示,说明安装成功. 如果提示如下:-bash: subversion: command not found,经过查找发现: #svnserve --version svnserve --version svnserve,,版版本本 1.6.11 (r934486) 编编译译于于 Mar  6 2014,,10

CentOS 7.0版本下安装SVN服务端示例

一.安装部署环境 VMBox虚拟机.CentOS 7系统.4G内存.20Gb存储空间 二.基础环境建立 1.安装VMBox虚拟机: 2.启动VMBox虚拟机,安装CentOS系统[安装过程略,注意root密码]. 3.启动CentOS系统,并登录root账号. 三.CentOS配置工程 配置CentOS网络,虚拟机CentOS可以访问外网.该步骤必须先配置DNS,否则联网更新.下载操作将会报错. 查询网络配置文件所在位置及名称:cd /etc/sysconfig/network-scripts/

Linux下安装SVN服务(CentOS7下)

1. 安装 centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装 测试安装是否成功: 2. 建立版本库 创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里): 创建版本库: 如果删除版本库: 3. 配置svn配置文件 每个版本库创建之后都会生成svnserve.conf主要配置文件.编辑它: 编辑示例: [general]   anon-access = none #控制非鉴权用户访问版本库的权限   auth-acce

CentOS下安装SVN服务端

---恢复内容开始--- 1.使用yum安装 yum install subversion 2.创建仓库 1.创建成功后在svn下面多了几个文件夹. cd /home mkdir svn svnadmin create /home/svn 2.特别关注一下conf文件夹,这个是存放配置文件的 authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件 3.配置passwd ---> 账号密码 vim passwd [users] test = 12

linux下安装svn服务

环境centos6.8 64位: 1.安装svn yum install subversion yum install mod_dav_svn 2.创建svn仓库 mkdie /home/svn 3.在svn仓库下创建版本库 svnadmin create /home/svn/xyz (版本库名:xyz) 4.修改svnserver.conf vi xyz/conf/svnseve.conf 5.编辑passwd添加用户 6.修改auth授权设置

如何在linux下搭建svn服务

? 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看svn版本 svnserve  --version 3,创建svn版本库目录 mkdir -p /projects/svn #mkdir = 新建文件夹 一句话的来讲,就是在根目录下创建一个叫"projects",里面包含创建svn文件夹. 4   新建一个测试版本库 svnadmin cre

linux下安装telnet服务

安装telnet服务 1.用root身份进入到tec/xinetd.d目录,然后再安装telnet服务 yun install telnet-server -y 2.打开配置文件 vim telnet 3.  重启xinetd服务 service xinetd restart 4.如果连接不上,关闭防火墙 iptables -F 以上是本菜鸟的实验步骤,不足之处还请各位大神指正 linux下安装telnet服务,布布扣,bubuko.com

在Linux上安装SVN服务

1.安装SVNyum install subversion 2.查看版本svnserve --version3.创建目录mkdir /web/svndata3.创建repo测试库svnadmin create /web/svndata4.配置:开启anon-access=read auth-access=write password-db=passwd :q (退出) vi svnserve.conf5.添加用户(用户=密码) zhang=zhang :q (退出) vi passwd6.启动s

Linux 下安装 SVN服务器

前段时间换了一个新项目组.过去发现居然SVN都没有.代码都是手动对比存档.当时就蛋疼了.这他妈也太苦逼了.话不多说,要来测试服务器地址.开工了.由于服务器不能连接外网. 1.先下载安装包.本次安装不结合Apache.只做SVN服务器端安装. wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz wget http://subversion.tigris.org/downloads/subversion-deps-1