由于 Window Server 环境下,VisualSVN Server Community 版本只支持 15 个同时在线用户,所以彻底放弃 Windows Server,在 Linux Server 上基于 subversion 建立 SVN server,

1. 首先查看是否已安装 subversion

$ svnserve --version

2. 如果没有,需要先安装

$ sudo yum install subversion

3. 新建一个文件夹,用于存放所有 svn repo,比如在根目录下建立名为 svn 的文件夹

# cd /
# mkdir svn

4. 在上述 svn 文件夹建立第一个 repo,比如名字为 hello_kitty

[/] # cd svn
[/svn/]# svnadmin create hello_kitty

5. 查看一下 hello_kitty 的目录结构 (下述 conf 中三个绿色文件,需要设置)

[/svn/]# tree hello_kitty

hello_kitty/
├── conf
│   ├── authz
│   ├── passwd
│   └── svnserve.conf
├── db
│   └── ...
├── format
├── hooks
│   └── ...
├── locks
│   └── ...
└── README.txt

6. 设置用户名和密码

打开上述 passwd, 比如添加两个用户 lilei ,hanmm,密码分别是 123,56789

[users]
lilei =
hanmm =

7. 设置鉴权

打开上述 authz 文件,为方便起见,添加群组,并指定群组权限

[groups]
english_learn_team = lilei,hanmm [hello_kitty:/]
@english_learn_team = rw
* =

- 对上述橙色部分的说明:

可设置多个群组

每个群组可包含多个用户,用户之间用逗号分隔

- 对上述绿色部分的说明:

[/]:表示对根目录下全部版本库设置权限,根目录是 svnserve 命令启动时指定的目录

[repos:/]:表示对名为 repos 的版本库设置权限

[repos:/abc]:表示对名为 repos 的版本库下的 abc 项目设置权限

[repos:/abc/def]:表示对名为 repos 的版本库下的 abc 下的 def 项目设置权限

- 对上述蓝色部分的说明:

对于群组,要以 @ 开头,而对单个用户名不需要

r 只读,w 只写,rw 或 wr 读写,空表示无权限

* = ,表示任何其他用户或群组无权限,这一句不要省略

8. 配置 server 属性及文件路径

打开上述的 svnserve.conf 文件,修改如下选项

[general]
anon-access = none
auth-access = write
password-db = /svn/hello_kitty/conf/passwd
authz-db = /svn/hello_kitty/conf/authz

注意:为了安全起见,可将上述三个文件权限配置为 600,

# chmod 600 conf/*

9. 启动 SVN serer  (-d 表示以后台守护模式运行,-r 表示 svn 的根目录,注意这里的根目录指定)

# svnserve -d -r /svn/

注意,修改 passwd, authz 会立即生效,不需要重启 server,但修改 svnserve.conf 后需要重启 server

# pkill svnserve
# svnserve -d -r /svn/

10. 可以查看一下网络状态,默认情况下 SVN server 使用端口 3690

# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0.0.0.0: 0.0.0.0:* LISTEN /svnserve

注意,如有必要,防火墙需要开放 3690 端口

# /sbin/iptables -I INPUT -p tcp --dport  -j ACCEPT
# iptables-save

11. 设置 SVN 服务随 server 开机启动,参见这里

12. 在 Window 端,直接使用 Tortoise SVN 作为客户端程序,比如 SVN server 的 IP 地址是 10.217.32.107,则上述 repo 的地址为 svn://10.217.32.107/hello_kitty/

输入用户名密码,即可 update,commit,……

注意:svn 客户端的访问方式有多种,例如,

- file:// 直接访问版本库
- http:// 通过 webdav 协议服务支持 subversion 的 apache 服务器
- https:// 与 http:// 相似,但使用 ssl 加密
- svn:// 通过未认证的 tcp/ip 自定义协议访问 svnserver 服务器
- svn+ssh:// 通过认证并加密的 tcp/ip 自定义协议访问 svnserver 服务器

完。

#===============================================================

本文大部分内容来自网友博客: https://www.cnblogs.com/whybxy/p/8939897.html

CentOS7 基于 subversion 配置 SVN server的更多相关文章

  1. centos7安装并配置svn(转)

    一.安装 1. 通过 yum install subversion来安装 2. 查看svn版本 使用: svnserve –version 3. 创建svn版本库 使用命令: svnadmin cre ...

  2. CentOS7:搭建配置SVN服务器

    1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve / ...

  3. centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理

    一.介绍 本文介绍的是CentOS7上搭建基于Apache.SVN Server.iF.svnadmin实现web后台可视化管理SVN. iF.SVNAdmin应用程序是Subversion授权文件基 ...

  4. Visual SVN Server+TortoiseSVN进行源代码管理

    安装VisualSVN Server 安装完之后,可配置SVN Server的IP地址,右键下图红色部分,选择属性,然后可配置ServeName和IP Address 之后可以创建用户.用户组和项目库 ...

  5. CentOS7下SVN server的安装与配置

    CentOS7通过yum install命令进行安装SVN(参考:http://subversion.apache.org/packages.html#centos) $ yum install su ...

  6. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  7. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  8. 基于svnserve的SVN服务器(windows下安装与配置)

    基于svnserve的SVN服务器(windows下安装与配置) 基于svnserve的SVN服务器(windows下安装与配置)关键字: svn 安装SVNserve 从http://subvers ...

  9. Centos7 基于SVN+Apache+IF.svnadmin实现web管理

    1.简单介绍: iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI.它基于PHP 5.3,需要安装一个Web服务器(Apache).该应用程序不需要数据库后端或任何类 ...

随机推荐

  1. [Tensorflow] 使用 Mask_RCNN 完成目标检测与实例分割,同时输出每个区域的 Feature Map

    Mask_RCNN-2.0 网页链接:https://github.com/matterport/Mask_RCNN/releases/tag/v2.0 Mask_RCNN-master(matter ...

  2. Telegram Groups vs Telegram Channels

    Telegram Groups vs Telegram Channels By Iaroslav Kudritskiy  Unlike other messaging apps, using Tele ...

  3. 【POJ - 3046】Ant Counting(多重集组合数)

    Ant Counting 直接翻译了 Descriptions 贝西有T种蚂蚁共A只,每种蚂蚁有Ni只,同种蚂蚁不能区分,不同种蚂蚁可以区分,记Sum_i为i只蚂蚁构成不同的集合的方案数,问Sum_k ...

  4. c语言深度解剖(笔记)

    1.1最宽恒大量的关键字----auto 函数内部变量,限制作用域为这个 1.2.1最快的关键字---- register函数. 关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中 1.2.2使 ...

  5. oracle共享数据库操作

    Hello,大家好,这个功能相信新手小白很需要,今天小编因为刚好遇到,所以写出来分享给大家,首先你电脑得有数据库,以及PLSQL工具包,这个相信大家都有了 1.打开NET Manger应用,win10 ...

  6. LUA的table实现

    数据结构 下面的结构体是lua中所定义的table typedef struct Table { CommonHeader; lu_byte flags; /* 1<<p means ta ...

  7. 基于NIO写的阻塞式和非阻塞式的客户端服务端

    由于功能太过简单,就不过多阐述了,直接上阻塞式代码: package com.lql.nio; import org.junit.Test; import java.io.IOException; i ...

  8. Oulipo POJ - 3461(kmp,求重叠匹配个数)

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  9. Spring Boot环境的安装

    Eclipse 使用springboot框架 环境的安装 1.下载java1.8 ,安装并配置环境变量 环境变量增加java 的安装目录到环境变量中path中增加 %JAVA_HOME%/bin增加变 ...

  10. golang glog

    原文链接:https://blog.csdn.net/u010857876/article/details/79094942 Flush log 产生后,会暂存在内存的buffer中.只有显示的调用 ...