SVN CentOS7 下配置svn的安装及基础配置介绍
CentOS7 下配置svn的安装及基础配置介绍
by:授客 QQ:1033553122
目录
一、 实践环境
CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)
下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/
二、 安装操作系统
软件选择(SOFTWARE SELECTION):

三、
安装SVN
[root@localhost
~]# yum
install subversion
查看是否安装安装成功
[root@localhost
~]# svnserve
--version
svnserve, version
1.7.14 (r1542130)
compiled Jun 9 2014,
18:54:44
Copyright (C)
2013 The Apache Software Foundation.
This software
consists of contributions made by many people; see the
NOTICE
file for more
information.
Subversion is
open source software, see http://subversion.apache.org/
The following
repository back-end (FS) modules are available:
*
fs_base : Module for working with a Berkeley DB
repository.
*
fs_fs : Module for working with a plain file (FSFS)
repository.
Cyrus SASL
authentication is available.
四、
基础配置
创建一个空文件夹,例如
svn,作为所有版本库的根目录
[root@localhost
~]# mkdir -p /svn/
进入svn目录,创建版本库,比如
repo
[root@localhost
~]# cd
/svn/
[root@localhost
svn]# svnadmin
create --fs-type fsfs repo
#
查看repo目录文件
[root@localhost
svn]# cd repo/
[root@localhost
repo]# ls
conf
db format hooks
locks README.txt
[root@localhost repo]# cd conf/
[root@localhost conf]# ls
authz
passwd
svnserve.conf
文件说明:
1、svnserve.conf文件
该文件用于控制svnserve守护进程(svnserve
daemon)的配置,以便访问svn版本库。如果仅是通过http://
或者file:URLs方式访问版本库,则与该文件配置不起作用。
[general]结点
anon-access(匿名访问)和auth-access(认证访问)选项,分别用于控制未认证用户和与认证用户对svn版本库的访问,其可选值包含
write,read,none,如果设置为none则无对版本库的读写访问权限;设置为write则有可读可写权限;设置为read则只有读权限。
password-db用于控制密码数据库文件的位置,除非指定了一个带符号‘/’
的路径,否则文件的位置为包含该配置文件的相对路径,如果开启了SASL,则该文件配置不起作用。
authz-db选项控制基于路径访问控制的认证规则的位置。除非指定了带‘/’的路径,否则该文件位置为包含该配置文件的相对位置。如果不指定authz-db,则没有基于路径的访问控制。
realm
选项指定了版本库的认证域(authentication
realm)。如果两个版本库有同样的认认证域(authentication
realm),他们应该有相同的密码数据库,反之亦然。缺省的
realm为版本库的uuid
force-username-case
选项,在authz-db文件配置的规则下,让svnserve比较用户名之前,规范化用户名大小写(case-normalize)。合法值有
lowser
转小写;upper转大写;none采用默认的,不进行大小写转化。
[sasl]结点
用于指定是否为认证使用 Cyrus
SASL类库。默认的false。如果svnserve不带Cyrus
SASL支持编译的,那么该小节会被忽略。运行'svnserve
--version,查找如下行'Cyrus
SASL authentication is available.'
则表示支持。
该选项指定了想让SASL提供的安全级别,0表示加密,1表示仅集成检查,大于1的的值是和用于加密的有效密匙长度相关的。
(e.g.
128
代表 128-bit加密).
默认值如下
#
min-encryption = 0
#
max-encryption = 256
2、password文件
该文件为svnserve密码文件实例,每行代表一个svn用户账户
[users]
用户名1
=
用户密码1
用户名2
=
用户密码2
……
用户名n
=
用户密码n
3、authz文件
该文件为svnserve认证实例文件,定义路径和版本库(可选)的认证
其中每一行记录可能代表
1)单个用户
2)定义的一组用户([groups]节点中定义的
3)定义的一个别名([aliases]节点中定义的
4)使用$authenticated
token的所有认证用户
5)仅使用$anonymous
token的匿名用户
6)*
任何人
[aliases]
暂时只知道是设置别名,但是具体是怎么定义的,不是很清楚,先不管吧
[groups]
自定义分组名1
=
用户1,用户2,……
自定义分组名2
=
用户3,用户4,……
……
自定义分组名n
=
用户n1,用户n2,……
说明:用户名之间用英文逗号分隔
[repository_name:dir_path]
用户名1
=
权限1
用户名2
=
权限2
……
用户名n
=
权限n
@自定义分组名1
=
权限1
@自定义分组名2
=
权限2
……
@自定义分组名n
=
权限n
&别名1
=
权限1
&别名2
=
权限2
……
&别名n
=
权限n
* =
权限
[dir_path]
用户名1
=
权限1
用户名2
=
权限2
……
用户名n
=
权限n
@自定义分组名1
=
权限1
@自定义分组名2
=
权限2
……
@自定义分组名n
=
权限n
&别名1
=
权限1
&别名2
=
权限2
……
&别名n
=
权限n
* =
权限
说明:
1) [repository_name:dir_path]表示名为repository_name的版本库的dir_path目录,比如
[repo:/]表示repo版本的库的根目录
举例:
svn版本库目录结构为:/svn/repo,,其中/svn为所有版本库的根,repo为其中一个版本库名称,启动方式:svnserve
-d -r /svn/,

那么可以如下设置
[repo:/] /代表
/svn/
[repo:/test1]
[repo:/test1/test2]
如果只有一个版本库,等效做法如下
[/]
[/test1]
[/test1/test2]
其中,test1,test2都是通过svn客户端创建的目录
3)
权限可为r、w、rw,分别代表只可读,只可写,可读可写,这里r、w、rw只针对dir_path最后层级的目录生效
例:
[repo:/test1/test2]
shouke = rw
那么svn:192.168.1.103/test1
进行访问,会提示认证失败
4)
别名,用户名,自定义分组不分先后顺序
5)
*
=
权限,如果无任何权限则不填写,直接
* =
,这里,*表示除了指定的用户,自定义分组,别名之外的任何人
修改svnserve.conf配置
[root@localhost
conf]# vim svnserve.conf
找到如下内容
[general]
……(略)
#
anon-access = read
#
auth-access = write
改成如下内容
[general]
……(略)
anon-access =
none
auth-access =
write
找到如下内容
#password-db =
passwd
改成如下内容
password-db =
password
找到如下内容
#
authz-db = authz
改成如下内容
authz-db =
authz
找到如下内容
[sasl]
……(略)
#
use-sasl = true
改成如下内容
[sasl]
……(略)
use-sasl =
true
新增svn用户
[root@localhost
conf]# useradd shouke
[root@localhost
conf]# passwd shouke
Changing password
for user shouke.
New
password:
BAD PASSWORD: The
password is shorter than 8 characters
Retype new
password:
passwd: all
authentication tokens updated successfully.
[root@localhost
conf]# vim passwd
说明:用户密码 123456
修改password配置文件
找到如下内容,
[users]
#
harry = harryssecret
#
sally = sallyssecret
在其下新增带背景色内容,如下
[users]
#
harry = harryssecret
#
sally = sallyssecret
shouke=123456
修改authz配置文件
[root@localhost
conf]# vim authz
……(略)
找到如下内容
[groups]
#
harry_and_sally = harry,sally
#
harry_sally_and_joe = harry,sally,&joe
在其下新增一行内容,如下
[groups]
#
harry_and_sally = harry,sally
#
harry_sally_and_joe = harry,sally,&joe
group1 = shouke
找到如下内容
#
[repository:/baz/fuz]
#
@harry_and_sally = rw
#
* = r
在其下新增内容,如下
#
[repository:/baz/fuz]
#
@harry_and_sally = rw
#
* = r
[repo:/]
@group1 = rw
五、
启动SVN
[root@localhost
conf]# svnserve
-d -r /svn/
说明:-d
表示以daemon的方式运行,-r
dir_path
表示把dir_path当作版本库的根目录,比如
/svn/repo,svn://192.168.1.103/repo,访问的就是/svn/repo
查看
[root@localhost
conf]# netstat -antp | grep svn
tcp
0
0 0.0.0.0:3690
0.0.0.0:*
LISTEN
8474/svnserve
说明:如上,默认端口为3690
六、
客户端访问
测试客户端版本:TortoiseSVN-1.9.1.26747-win32-svn-1.9.1.1441852914.msi

七、
常见问题排查
1.Unable to
connect to repository at url ‘svn://…’ No repositroy found at
snv://……,如下

说明:访问方式不对,
1)类似svnserve
-d -r /svn/
方式(即指定路径作为根目录)开启的svn服务,正确的访问方式svn://192.168.1.103/repo
即svn://ip[:port]/repository_name
2)不指定路径作为版本库的跟目录里,svnserve
-d
方式开启的svn服务,正确的访问方式svn://192.168.1.103/svn/repo
即svn://[:port]/path_of_repository
2、
please wait
while the repository browser is initializing
说明:防火墙阻止了端口,解决方法(centos7下测试),开放端口
[root@localhost
conf]# firewall-cmd --permanent --zone=public
--add-port=3690/tcp
success
[root@localhost
conf]# firewall-cmd --reload
success
3、类似如下,目标计算机积极拒绝或者


说明:服务器svnserve未开启
SVN CentOS7 下配置svn的安装及基础配置介绍的更多相关文章
- Ubuntu 18.04 下 PostgreSQL 10 的安装与基础配置
下载安装 在命令行执行如下语句: apt-get install postgresql-10 该指令会帮助你下载如下PostgreSQL组件: name |explain | ------------ ...
- Centos7 下的SVN安装与配置
Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...
- centos7下mysql5.7的安装与配置
centos7下MySQL5.7的安装与配置 下载 下载地址 根据系统和版本选择红框中的四个RPM包下载即可,然后放到centos7系统中的/opt目录下,等待稍后安装. 安装前的准备 1. 检查系统 ...
- centos7下源码方式安装gitlab8.9+发送邮件+ldap
CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...
- CentOS7.5 系统最小化安装与初始化配置
CentOS7.5 系统最小化安装与初始化配置 1.安装标准化的系统 1.1.系统安装期间的语言 选择:中文-简体中文,安装完成也会默认支持中文输出,便于管理 1.2.时区选择 亚洲上海,CST时区( ...
- inux centos7下源码 tar安装5.7.26详解
inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...
- CentOS7下MySQL5.7的安装-RPM方式
Installing MySQL on Linux Using RPM Packages 下载安装包 mysql下载地址:https://dev.mysql.com/downloads/mysql/ ...
- CentOS7下搭建SVN服务器
(1).安装SVN 1)安装SVN [root@youxi1 ~]# yum -y install subversion mod_dav_svn [root@youxi1 ~]# cat /etc/s ...
- Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录
1.安装SVN服务[root@bogon ~]# yum -y install subversion 2.查看svnserve安装目录[root@bogon ~]# whereis svnserves ...
随机推荐
- How To Scan QRCode For UWP (2)
这篇随笔主要介绍照相预览功能,重要使用的是MediaCapture对象,MediaCapture对象还可以用来处理录音和录制视频,本文只讨论照相功能. 1:查找摄像头 后置摄像头优先,找不到后置摄像头 ...
- opencv2函数学习之flip:实现图像翻转
在opencv2中,flip函数用来进行图片的翻转,包括水平翻转,垂直翻转,以及水平垂直翻转. void flip(const Mat& src, Mat& dst, int flip ...
- Hadoop 2.4.1+HBase 0.98.6.1 分布式安装
参考:http://blog.csdn.net/wind520/article/details/39856353
- Javascript图片预加载详解 分类: JavaScript HTML+CSS 2015-05-29 11:01 768人阅读 评论(0) 收藏
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- 【原创】Jquery初体验二
快速导航 一.传统方式生成Table 二.使用jquery.tmpl插件快速生成Table 三.Jquery中的操作class的几个方法 四:jq里面的克隆 五:属性过滤器 六:表单元素过滤器 一.传 ...
- vue2.0和better-scroll实现左右联动效果
在做移动端商城或者其他页面的时候,经常会遇到左右联动的效果,今天小编vue2.0和better-scroll这个插件一起实现左右联动效果. 实现上面的效果,思路一定很重要,还有需求 1. 左边一级分类 ...
- nodejs遇到的问题
1.express-session deprecated undefined resave option; provide resave option app.js:49:9 express-sess ...
- oc for in遍历
在oc中用for in遍历可变数组时,不能修改删除新增元素,因为for in遍历是枚举遍历,在遍历的过程中不能修改容器里的值. NSMutableArray *arr=[NSMutableArray ...
- vue实用组件——表格
之前用了一下vue-bootstrap,感觉里面的表格组件特别好用,但是如果仅仅为了使用表格就引入bootstrap,似乎有点不划算.所以自己就试着实现了一下bootstrap里面表格的部分功能,目前 ...
- linux中使用Crontab定时执行java的jar包无法使用环境变量的问题
1.crontab简单使用 cmd 其实就是5个星星的事情,随便百度一下吧 5个时间标签用来标注执行的设定.比如每5分钟执行一次/5 * * * cmd 要特别注意 2.有些命令在命令行里执行很好,到 ...