linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf、authz、passwd配置文件详细介绍

 


至于svn的概念,这里就不做详细阐述了,可以自行百度。简单来讲就是一个代码管理工具。本笔记就是记录下svn安装搭建步骤而已。
1,yum安装svn

  1. yum install subversion -y

2.验证是否安装完成

  1. svnserve --version

如显示svn版本以及介绍信息,说明svn安装成功。或直接netstat 或ps查看也可以。

4.配置当前的版本库
创建版本库后,在当前版本库目录中会生成下面的文件,重点是配置文件。

  1. [root@yueminghai svn]# cd /home/svn/repo0
  2. [root@yueminghai repo0]# ll
  3. 总用量 24
  4. drwxr-xr-x 2 root root 4096 5月 5 05:50 conf
  5. drwxr-sr-x 6 root root 4096 5月 5 05:50 db
  6. -r--r--r-- 1 root root 2 5月 5 05:50 format
  7. drwxr-xr-x 2 root root 4096 5月 5 05:50 hooks
  8. drwxr-xr-x 2 root root 4096 5月 5 05:50 locks
  9. -rw-r--r-- 1 root root 229 5月 5 05:50 README.txt
  10. [root@yueminghai repo0]# ll conf
  11. 总用量 12
  12. -rw-r--r-- 1 root root 1080 5月 5 05:50 authz
  13. -rw-r--r-- 1 root root 309 5月 5 05:50 passwd
  14. -rw-r--r-- 1 root root 2279 5月 5 05:50 svnserve.conf

说明

(1)svnserve.conf:  svn服务综合配置文件,只需要更改四行。
(2)passwd: 用户名口令文件。前边是svn账号,后边是密码,密码是明文存储。配置哪些用户可以授权使用,里边包含用户名和密码。
(3)authz: 权限配置文件。
(4)注意更改svnserve.conf配置文件需要重启svn,更高authz和passwd不需要重启svn。重启方法:pkill svnserve 然后重新svnserve -d -r 项目目录即可。

4.1 修改passwd文件

  1. ### This file is an example password file for svnserve.
  2. ### Its format is similar to that of svnserve.conf. As shown in the
  3. ### example below it contains one section labelled [users].
  4. ### The name and password for each user follow, one account per line.
  5. [users]
  6. # harry = harryssecret
  7. # sally = sallyssecret
  8. zhangsan = 123456
  9. lisi = 123456

前边是svn账号,后边是密码,密码是明文存储。配置哪些用户可以授权使用,里边包含用户名和密码。

4.2修改authz文件。
这个配置文件就两个地方需要设置就可以了,一个是组和用户的设置,另一个是版本库的目录格式配置以及权限分配。
4.2.1,组和用户配置。
(1)一个组group可以包含一个和多个用户,其中用户名必须在用户配置文件中已经定义。
(2)可以将指定具体组,比如开发组和运维组等。
4.2.2,版本库配置以及权限分配。
版本库目录格式为  :
[版本库:/项目/目录]
用户名 = 权限
@组名 = 权限
说明:
(1)权限,分为r,w,rw和空。空代表没有任何权限
(2)版本库目录多种写法,如果只写根/代表对这个项目以及下边所有目录都有权限,如果单独制定目录,可以加上具体目录名。
其中根是svn启动的时候我们指定的-r指定的版本库。
举例如下:
[repo0:/] 代表对repo0所有版本库设置权限权限
[repo0:/yueminghai]  代表对repo0版本库下的yueminghai项目设置权限
[repo0:/yueminghai/demo]  代表对repo0版本库下的yueminghai项目的demo目录设置权限

  1. [aliases]
  2. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  3. #这里实现了别名的定义
  4. [groups]
  5. # harry_and_sally = harry,sally
  6. # harry_sally_and_joe = harry,sally,&joe
  7. team0=zhangsan #将上面创建的分成两个组
  8. team1=lisi
  9. # [/foo/bar]
  10. # harry = rw
  11. # &joe = r #上面的别名定义在这里实现 &在这里理解为指针就很容易了
  12. # * =
  13. # [repository:/baz/fuz]
  14. # @harry_and_sally = rw
  15. # * = r
  16. [repo0:/]
  17. @team0=r
  18. @team1=rw
  19. yueminghai = r
  20. # 第一个小组只有读取的权限,第二个小组有读写的权限
  21. # 单个版本库的权限配置在这个文件中实现
4.3 修改svnserve.conf并重启svn
vi  svnserve.conf 主要修改如下参数,其他不需要修改:

  1. anon-access = none
  2. auth-access = write
  3. password-db = passwd  #这个文件可以统一指定一个passwd文件便于统一管理不需要单独每个版本库单独配置。
  4. authz-db = authz  #这个文件可以统一指定一个authz文件便于统一管理不需要单独每个版本库单独配置。
  1. [general]
  2. ### These options control access to the repository for unauthenticated
  3. ### and authenticated users.  Valid values are "write", "read",
  4. ### and "none".  The sample settings below are the defaults.
  5. anon-access = none #没有登录的用户不能访问
  6. auth-access = write #登录的用户可以写入
  7. ### The password-db option controls the location of the password
  8. ### database file.  Unless you specify a path starting with a /,
  9. ### the file's location is relative to the directory containing
  10. ### this configuration file.
  11. ### If SASL is enabled (see below), this file will NOT be used.
  12. ### Uncomment the line below to use the default password file.
  13. password-db = passwd #密码文件为当前目录下的passwd
  14. ### The authz-db option controls the location of the authorization
  15. ### rules for path-based access control.  Unless you specify a path
  16. ### starting with a /, the file's location is relative to the the
  17. ### directory containing this file.  If you don't specify an
  18. ### authz-db, no path-based access control is done.
  19. ### Uncomment the line below to use the default authorization file.
  20. authz-db = authz #验证文件为当前目录下的authz

这里着重说明下,参数前面不要有空格,否则启动报错。
5 导入、导出工程
导入

  1. $ mkdir MyProject
  2. $ mkdir MyProject/hehe
  3. $ mkdir MyProject/haha
  4. svn import MyProject svn://192.168.1.112/repo0/MyProject -m "first import project"

导出

  1. svn co svn://192.168.1.112/repo0/MyProject

linux系统Centos环境下搭建SVN服务器及权限配置的更多相关文章

  1. Linux(Centos)下搭建SVN服务器

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

  2. 【SVN】centos环境下搭建SVN服务器

    1.安装SVN,有些linux发行版自带SVN,可以用下面方法检测是否安装SVN. svn --version 如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误. 我们可以 ...

  3. windows下搭建svn服务器及权限配置

    服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/ 客户端TortoiseSVN 1.8.13下载地址 ...

  4. 转:Mac下搭建svn服务器和XCode配置svn

    Mac下搭建svn服务器和XCode配置svn 先打开命令行终端. 1.创建svn repository svnadmin create /yourpath/svnroot/repository 2. ...

  5. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  6. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

  7. 【转】【Centos】Linux(Centos7)下搭建SVN服务器

    系统环境:centos7.2 第一步:通过yum命令安装svnserve,命令如下: yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停 ...

  8. Linux(Centos7)下搭建SVN服务器

    操作系统: CentOS 7.6 64位 第一步:通过yum命令安装svnserve,命令如下: 检测svn是否安装: rpm -qa subversion #检查现有版本,如果输入命令后没有提示的话 ...

  9. Linux(Centos7)下搭建SVN服务器(新手上路)

    以前都是别人直接给地址在svn上,下载或者上传东西,如今要自己建一个版本库用来存放东西.1.安装svnyum install -y subversion 2.查看svn安装位置还有哪些文件rpm -q ...

随机推荐

  1. UDP网络通信

    网络概念 一.目的 二.IP地址 三.端口 一.目的 目的 : 主要用于让两个用户端的服务器或者客户端,可以实现资源共享和信息传递 二.IP地址 1.作用 : 计算机网络中一台计算机的标识 2.种类 ...

  2. Dell服务器Raid5之后安装系统

    在做raid之后,安装系统.竟然安装不成功! 百度之后,发现第一启动项是raid的硬盘,不是我本机的ssd. 报错如下: 启动机器F2—boot setting 如果引导模式是UEFI 换成了bios ...

  3. PHP实现装饰器

    参考:https://www.cnblogs.com/onephp/p/6108940.html ●装饰器模式(Decorator),可以动态地添加修改类的功能 ●一个类提供了一项功能,如果要在修改并 ...

  4. 如何比sketch和axure更方便地给原型做交互?

    在快速的工作环境中,我们现在都希望在工作的各个环节中提高效率.有些产品设计师们做产品原型时,会感觉sketch或者axure添加交互的方式不够快捷.下面就提供一种解决方案. 使用工具:墨刀. 交互链接 ...

  5. vmware 下linux 共享文件夹消失

    今天遇到了vmware下linux和宿主win7系统共享文件,突然在linux下消失的问题 环境:vmware10.0.0下装了centos, 主机系统是win7. 背景:事情的初衷是想让win7 下 ...

  6. Dart async proc

    //dart import 'dart:io';import 'dart:async'; Future printDailyNewsDigest1() { print('A:'); File file ...

  7. cocos2dx JS 层(Layer)的生命周期

    场景的生命周期: 一般情况下一个场景只需要一个层,需要创建自己的层类.一些主要的游戏逻辑代码都是写在层中的,场景的生命周期是通过层的生命周期反映出来的,通过重写层的生命周期函数,可以处理场景不同声明周 ...

  8. AsssetBunlder打包

    unity3d,资源过多的话.可以压缩成一个资源包.加载出来后.可以解压.找到自己需要的资源 就想.net网站.很多图标都是放一个大图片上.而不是一个图标就是一个图片 因为是在项目编辑时候给资源打包. ...

  9. 462. 最少移动次数使数组元素相等 II

    给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输入: [1,2,3] 输出: 2 说明: 只 ...

  10. hessian 在spring中的使用 (bean 如 Dao无法注入的问题)

    hessian的主要结构分客户端与服务端,中间基于http传输.客户端主要做的事情是把对远程接口调用序列化为流,并传输到服务端:服务端主要做的事情是把传输过来的流反序列化为对服务的请求,调用相应服务后 ...