1.安装

# yum -y install subversion

2.配置

创建仓库


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

[root@VM_0_10_centos ~]# mkdir -p /opt/svn
[root@VM_0_10_centos ~]# svnadmin create /opt/svn/
[root@VM_0_10_centos ~]# ls /opt/svn/
conf db format hooks locks README.txt # conf目录是存放配置文件的
[root@VM_0_10_centos ~]# cd /opt/svn/conf/
[root@VM_0_10_centos conf]# ls
authz passwd svnserve.conf # authz 是权限控制文件
# passwd 是帐号密码文件
# svnserve.conf 是SVN服务配置文件

配置passwd


[root@VM_0_10_centos conf]# vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
thy = 密码
zs = 密码

PS:上面创建了两个用户

配置authz


# 配置的含义是,svnadmin 对/opt/svn/下所有文件具有可读可写权限,thy ,zs只有只读权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。
[root@VM_0_10_centos conf]# cat authz
[/]
svnadmin = rw
thy = r
zs = r
*=

拓展:使用用户分组

# 和上面效果一样
[root@VM_0_10_centos conf]# vi authz
[groups]
group1 = svnadmin
group2 = thy,zs [/]
@group1 = rw
@group2 = r
*=

版本库目录格式:

[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

配置svnserve.conf


# 打开下面5个注释
[root@VM_0_10_centos conf]# grep '^[a-z]' svnserve.conf
anon-access = read # 匿名用户可读
auth-access = write # 授权用户可写
password-db = passwd # 使用哪个文件作为账号文件
authz-db = authz # 使用哪个文件作为权限文件
realm = /opt/svn # 认证空间名,版本库所在目录(也就是刚刚创建的)

3.启动与停止

# 启动(-d表守护进程, -r 表在后台执行。)
[root@VM_0_10_centos conf]# svnserve -d -r /opt/svn/ # 停止
[root@VM_0_10_centos conf]# killall svnserve

[root@VM_0_10_centos conf]# ps -ef | grep svnserve
root 18515 29941 0 14:05 pts/0 00:00:00 grep --color=auto svnserve
root 21066 1 0 11:27 ? 00:00:00 svnserve -d -r /opt/svn/
[root@VM_0_10_centos conf]# kill 21066

4.客户端连接

  这里使用TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

  默认端口3690,如果你修改了端口,那么要记得加上端口号。

5.清除svn登录用户信息

# 删除该目录下的auth文件即可
[root@VM_0_10_centos svn]# rm -rf ~/.subversion/auth/
 

【SVN搭建】搭建SVN服务的更多相关文章

  1. ubuntu-14.04服务器版下搭建apache2+svn+svnmanager服务

    本人linux小白,新进公司,被分配此任务,好崩溃,只能一边百度linux命令一边完成任务.从装系统开始一直到搭建好服务,也快一周了,足见水平之差,以下博文基本靠网络,再加上自己的摸索,直至搭建成功. ...

  2. CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)

    CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K  收藏 0 ...

  3. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  4. Jenkins+Maven+SVN快速搭建持续集成环境

    http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...

  5. Linux svn的搭建与使用

    Linunx svn的搭建与使........纯手打的.. 一.安装前的准备 1.1 配置yum 库 1)加载光盘 2)进入/etc/yum.repo.d目录 3)复制"rhel-debug ...

  6. Linux下的SVN服务器搭建

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  7. SVN服务器搭建和使用(二)

    SVN服务器搭建和使用(二) 上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及Tortois ...

  8. SVN服务器搭建和使用(一)

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  9. 最简单的SVN环境搭建过程

    本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17  //Serve ...

  10. SVN服务器搭建和使用(一)(转)

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

随机推荐

  1. JavaScript如何创建一个对象

    我们可以利用JavaScript的语法特征,以类的思想来创建对象. 方法一:原始方法代码如下: <script> var obj = new Object(); obj.name = &q ...

  2. 【洛谷】P2256

    (^_^) 题目: 题目 思路: 这是一道并查集水题,适合初学者做!!! 若不会并查集的点我,那是dalao的博客! 本题难点:名字是字符串,要字符串处理 给每个名字一个编号,如\(1,2,3,4,5 ...

  3. elastic search(es)安装

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选. 它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Gi ...

  4. golang数据结构之循环链表

    循环链表还是挺有难度的: 向链表中插入第一条数据的时候如何进行初始化. 删除循环链表中的数据时要考虑多种情况. 详情在代码中一一说明. 目录结构如下: circleLink.go package li ...

  5. 华为担纲建设基础软硬件国家新一代AI开放创新平台

    [摘要] 全栈全场景AI能力爆发! [上海,2019年8月29日] 凭借领先的全栈全场景AI能力华为入选国家新一代人工智能开放创新平台 8月29日,科技部在2019世界人工智能大会宣布,将依托华为建设 ...

  6. CSS 3D图片翻转 ——3D Flipping Effect

    效果: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  7. 17-Python执行JS代码--PyExecJS、PyV8、Js2Py

    一.Python执行JS代码--PyExecJS.PyV8.Js2Py 1.1.PyExecJS PyExecJS的优点是您不需要照顾JavaScript环境.特别是,它可以在Windows环境中运行 ...

  8. Python中 * 与 **, *args 与 **kwargs的用法

    * 用于传递位置参数(positional argument) ** 用于传递关键字参数(keyword argument) 首先,先通过一个简单的例子来介绍 * 的用法: def add_funct ...

  9. java之扩展运算符

    java中的扩展运算符为+=.-=./=.%=.*= 当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如: public class Test{ public stat ...

  10. 小程序如何支持使用 async/await

    下载 regenerator-runtime npm i regenerator-runtime 如何使用 在小程序中,不认识 node_modules 文件夹,无法通过以下方法来直接找到包文件 im ...