Centos7配置SVN服务端
环境
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服务端的更多相关文章
- Centos7 配置 svn服务端
转载至:Linux(阿里云Centos7)环境下搭建svn服务器以及权限配置详细步骤 本篇文章主要介绍在CentOS7中采用yum安装方式.优点:简单,一键安装,不用手动配置环境变量等.缺点:安装位置 ...
- (二)svn服务端安装配置
两种服务端安装包 官方安装包 官方网站:http://subversion.apache.org/ 下载:http://subversion.apache.org/download.cgi 官方提供的 ...
- Linux中如何安装配置Mysql和SVN服务端
目标Linux系统为centOS 一.安装登陆mysql 1.直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成. 2.安装 ...
- 阿里云ESC搭建SVN服务端
CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取! 01.SVN服务的安装(subversion) 02.ESC安全组策略 1.在线安装svn服务 $ sudo ...
- 最全Linux搭建SVN服务端教程
文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...
- svn服务端和eclipse配合使用
今天弄了个svn服务器来做项目的版本控制,讲讲我做的步骤吧 1.安装svn服务端 2.下载subclipse插件 3.将subclipse插件安装到eclipse上,点击Install New Sof ...
- suse安装svn服务端和客户端的使用
suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...
- svn服务端安装、权限修改以及客户端的使用
2017-10-1016:10:2 svn服务端安装.权限修改以及客户端的使用 svn服务端.客户端.汉化包下载 http://pan.baidu.com/s/1c1Ogj2C 1.安装服务器端程序( ...
- SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)
1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的 ...
随机推荐
- 小甲鱼零基础python课后题 P22 021函数:lambda表达式
0.请使用lambda表达式将下边函数转变为匿名函数 def fun_A(x,y=3): return x*y 答: lambda x,y=3:x*y 1.请将下边的匿名函数转变为普通的屌丝函数 la ...
- 屏蔽登录QQ后总是弹出的QQ网吧页面
不知道从什么时候开始的,每次登录QQ的时候,有个叫qq网吧的页面都会弹出来,腾讯你是撒吗?这个公司真是死性不改.按照它的提示,已经设置了好几次这是我家,这特么不是网吧,然并卵.你说它技术不行吧,它堪称 ...
- 前端开发-日常开发沉淀之git提交文件忽略
.gitignore文件里添加需忽略的文件,或需要提交的文件 # Created by .ignore support plugin (hsz.mobi) ### VisualStudioCode t ...
- 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% ...
- python基础4 input()函数
input()函数 赋值输出: name=input('请求输入你喜欢的电影名:')print(name+'是我最喜欢的电影!') 输入:大话西游 输出:大话西游是我最喜欢的电影! print('那么 ...
- ES6 Symbol数据类型和set-map 数据结构
Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...
- 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 ...
- MySQL 8.0 InnoDB新特性
MySQL 8.0 InnoDB新特性 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性.crash safe,metadata管理更完善 2.快速在线加新列(腾讯互娱DBA团队贡献) 3. ...
- Docker Machine批量安装docker host
Dokcer Machine Docker Machine 可以批量安装和配置 docker host 提高docker的安装效率 同时减少人工安装操作的失误 [root@localhost ...
- 2019-04-27 Python之有关文件的学习
一.文件 1.简介 二.文件的相关操作 1.打开文件 例如: f = open("F:\\text.txt", 'r') 只读模式,不可写入 2.读取文件 例如: f.readl ...