环境

Centos 7

SVN 1.7

安装SVN

Shell> yum install svn -y

准备配置和仓库

Shell> mkdir -p /mydata/repo
Shell> cd /mydata/repo/
Shell> svnadmin create erp  #创建一个代码库,这里以erp为例

代码库的配置文件位于/mydata/repo/erp/conf/,共三个,下面依次进行修改。

修改总配置文件 svnserve.conf

[general]
anon-access = none      #禁止匿名访问
auth-access = write      #登录用户可以有写权限
password-db = passwd     #用户名密码的配置文件
authz-db = authz       #用户权限的配置文件
realm = My SVN Repository  #仓库的说明文本

修改用户及其密码的配置文件 passwd

[users]
user1 = 111
user2 = 222
user3 = 333

修改权限的配置文件 authz

[groups]  #用户组,建议所有用户都配置到组以方便权限管理,单个用户是可以存在于多个组的
admin = user1     #管理员
common = user2,user3 #普通用户
[/]    #根目录,此处的配置也是该库的默认权限
@admin = rw  #管理员默认有全部的读写权限
* =       #其他默认没有任何权限 [/trunk]  #主干,此处未指定的管理员则会继承根目录的读写权限,下同
@common = rw  #普通用户有读写权限
[/branches]  #分支
@common = rw  #普通用户有读写权限 [/tags]  #标记
@common = r  #普通用户只有读权限

注:这三个配置文件修改后不需要重启即可生效。

配置svnserve服务

修改配置文件 /etc/sysconfig/svnserve,通过 -r 指定根目录

OPTIONS="-r /mydata/repo/erp"

默认端口是3690,若需要修改可以在OPTIONS中加上 --listen-port [port]

默认不打印日志,所需要在在OPTIONS中加上 --log-file [file]

启动并配置开机自启

Shell> systemctl start svnserve
Shell> systemctl enable svnserve

测试使用

第一次输入用户名密码后会提示保存,以后就不需要再输入了

若不想保存更不想总提示保存,那就每个svn命令都加上这三个参数:--username user1 --password 111 --no-auth-cache

Shell> svn mkdir svn://localhost/{trunk,branches,tags} -m '创建基本目录'
Shell> svn co svn://localhost/trunk
Shell> cd trunk/
Shell> touch 1.txt
Shell> svn add *
Shell> svn ci -m '添加文件1.txt'
Shell> svn up
Shell> svn log
------------------------------------------------------------------------
r2 | user1 | 2020-01-10 12:14:32 +0800 (五, 2020-01-10) | 1 行 添加文件1.txt
------------------------------------------------------------------------
r1 | user1 | 2020-01-10 12:10:23 +0800 (五, 2020-01-10) | 1 行 创建基本目录
------------------------------------------------------------------------

多库模式

上文中,库的根目录直接指向了erp,表示这是单库模式,该svn服务只有一个项目库,若在/mydata/repo下还有其他项目,比如oa、crm等

那么需要将根目录指向上级目录,修改 /etc/sysconfig/svnserve

OPTIONS="-r /mydata/repo"

那么在访问时需要加上项目名,比如:

Shell> svn ls svn://localhost/erp

另外,要注意每个项目使用的是它目录下conf中的配置文件,需要分开单独维护。

不过,可以通过参数--config-file指定共用的配置,比如将erp的配置复制到/etc/svnserve/conf作为共用,需要修改 /etc/sysconfig/svnserve

OPTIONS="-r /mydata/repo --config-file /etc/svnserve/conf/svnserve.conf"

然后,需要修改 /etc/svnserve/conf/authz 增加项目名:

[erp:/]
@admin = rw
* = [ao:/]
@admin = rw
* =
[erp:/trunk]
@common = rw ...略...

注:使用了--config-file参数,在修改了配置文件后,必须重启svnserve服务才能生效;而且,通常多项目时权限情况较复杂,还是建议每个项目用自己单独的配置比较合适。

单库多项

规模不大且权限分配不复杂的情况当然也是存在的,这种可以考虑用单库模式(库名可以用公司名),然后库内通过文件夹区分项目即可:

repo/
└── mycompany
    ├── crm
    │   ├── branches
    │   ├── tags
    │   └── trunk
    ├── erp
    │   ├── branches
    │   ├── tags
    │   └── trunk
    └── oa
        ├── branches
        ├── tags
        └── trunk

over

Centos7配置SVN服务端的更多相关文章

  1. Centos7 配置 svn服务端

    转载至:Linux(阿里云Centos7)环境下搭建svn服务器以及权限配置详细步骤 本篇文章主要介绍在CentOS7中采用yum安装方式.优点:简单,一键安装,不用手动配置环境变量等.缺点:安装位置 ...

  2. (二)svn服务端安装配置

    两种服务端安装包 官方安装包 官方网站:http://subversion.apache.org/ 下载:http://subversion.apache.org/download.cgi 官方提供的 ...

  3. Linux中如何安装配置Mysql和SVN服务端

    目标Linux系统为centOS 一.安装登陆mysql   1.直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成. 2.安装 ...

  4. 阿里云ESC搭建SVN服务端

    CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取! 01.SVN服务的安装(subversion) 02.ESC安全组策略 1.在线安装svn服务 $ sudo  ...

  5. 最全Linux搭建SVN服务端教程

    文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...

  6. svn服务端和eclipse配合使用

    今天弄了个svn服务器来做项目的版本控制,讲讲我做的步骤吧 1.安装svn服务端 2.下载subclipse插件 3.将subclipse插件安装到eclipse上,点击Install New Sof ...

  7. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  8. svn服务端安装、权限修改以及客户端的使用

    2017-10-1016:10:2 svn服务端安装.权限修改以及客户端的使用 svn服务端.客户端.汉化包下载 http://pan.baidu.com/s/1c1Ogj2C 1.安装服务器端程序( ...

  9. SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)

    1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的 ...

随机推荐

  1. 小甲鱼零基础python课后题 P22 021函数:lambda表达式

    0.请使用lambda表达式将下边函数转变为匿名函数 def fun_A(x,y=3): return x*y 答: lambda x,y=3:x*y 1.请将下边的匿名函数转变为普通的屌丝函数 la ...

  2. 屏蔽登录QQ后总是弹出的QQ网吧页面

    不知道从什么时候开始的,每次登录QQ的时候,有个叫qq网吧的页面都会弹出来,腾讯你是撒吗?这个公司真是死性不改.按照它的提示,已经设置了好几次这是我家,这特么不是网吧,然并卵.你说它技术不行吧,它堪称 ...

  3. 前端开发-日常开发沉淀之git提交文件忽略

    .gitignore文件里添加需忽略的文件,或需要提交的文件 # Created by .ignore support plugin (hsz.mobi) ### VisualStudioCode t ...

  4. git rebase和git merge的用法

    http://softlab.sdut.edu.cn/blog/subaochen/2016/01/git-rebase%E5%92%8Cgit-merge%E7%9A%84%E7%94%A8%E6% ...

  5. python基础4 input()函数

    input()函数 赋值输出: name=input('请求输入你喜欢的电影名:')print(name+'是我最喜欢的电影!') 输入:大话西游 输出:大话西游是我最喜欢的电影! print('那么 ...

  6. ES6 Symbol数据类型和set-map 数据结构

    Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...

  7. Win10 +gtx1660 +CUDA10.0+CNDNN7.5+Tensorflow 1.13.1

    硬件环境:ASUS Z370 + i7 8700K + 16G + GTX1660 软件环境:win10 x64    anaconda 3.5    python 3.6   pycharm 201 ...

  8. MySQL 8.0 InnoDB新特性

    MySQL 8.0 InnoDB新特性 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性.crash safe,metadata管理更完善 2.快速在线加新列(腾讯互娱DBA团队贡献) 3. ...

  9. Docker Machine批量安装docker host

    Dokcer Machine Docker Machine 可以批量安装和配置 docker host   提高docker的安装效率   同时减少人工安装操作的失误 [root@localhost ...

  10. 2019-04-27 Python之有关文件的学习

    一.文件 1.简介 二.文件的相关操作 1.打开文件 例如:  f = open("F:\\text.txt", 'r') 只读模式,不可写入 2.读取文件 例如: f.readl ...