文章目录

  • 在服务端创建资源仓库
  • 资源仓库访问权限配置
  • 给资源仓库添加用户
  • 配置用户组及用户的权限
  • 启动 SVN 服务器
  • 停止 SVN 服务器

SVN 是一个使用十分广泛的开放源代码的版本控制系统。在 Windows 系统下,我们一般使用 TortoiseSVN 来搭建 SVN 环境。而 MacOS 系统我们该如何搭建 SVN 服务器环境呢?

如果你安装了 Xcode 命令行工具,那么也会默认一并安装 SVN 命令行工具,这个默认安装的 SVN 版本是1.7.x。但是有的电脑并没有安装 Xcode 命令行工具,所以也就没有默认安装 SVN 命令行工具,那么你可以使用软件包管理工具 Homebrew 直接安装 SVN,如何安装详见《MacOS 如何安装 SVN 命令终端》。

假设你已经安装好了 SVN 命令行工具,那么我们开始搭建 SVN 服务端环境吧!

在服务端创建资源仓库

我们先在文稿目录(~/Documents)下新建一个专门用于存放 SVN 数据的目录,例如我通常取名为 svn-repo,后面我会把多个仓库目录都放在这里面。那么这个目录 svn-repo 就是 SVN 仓库的根目录。

在命令终端执行以下命令:

svnadmin create ~/Documents/svn-repo/qpw

注:建议按产品线来创建资源仓库,因为产品线下分多个项目,这样 SVN 服务端的『仓库-项目』结构正好与『产品线-项目』结构吻合了。

执行以上命令后就可以在目录 svn-repo 下面看到目录 qpw,这就是一个仓库目录,其代表一个资源仓库,在我这里就是代表一个产品线。打开这个目录你可以看到以下的内容:

资源仓库访问权限配置

conf 目录存在以下配置文件:

我们先配置文件 svnserver.conf,打开文件后将下图红色线框的 4 个配置项前面的“#” 和“空格”都去掉:


注:

  1. anon-access = read 表示匿名访问的时候是只读的,即只能看仓库的数据,而改成 none,表示禁止匿名访问,即必须凭用户名和密码才能访问
  2. auth-access = write 表示通过身份认证的访问允许写,即可以在仓库中存放和修改数据
  3. password-db = passwd 用来指定一个存放用户名和密码的配置文件的路径,这里直接写 passwd,其实是指默认的相对路径 ./passwd,系统在读取文件 svnserver.conf 的数据时候,当前工作目录就是配置文件 svnserver.conf 所在的目录,所以在 svnserver.conf 文件内去指定另一个文件的路径,而该文件又是和 svnserver.conf 在同一个目录下,就可以直接写文件名了
  4. authz-db = authz 用来指定一个权限配置文件的路径
  5. realm = path 认证空间名,版本库所在目录

给资源仓库添加用户

打开目录 conf 下的文件 passwd。在里面的 [users] 下面添加用户名和密码。

这里我配置了两个用户:dpqyw 和 com。

配置用户组及用户的权限

我们打开目录 conf 下面的权限配置文件 authz,在里面的 [groups] 下面进行相关的配置。
如下图所示,我们在里面的 [groups] 下面新建一个用户组名为 group1,在该用户组中有 dpqywcom 两个用户。配置用户 dpdqw 的权限为对所有的资源仓库都有读写权限;而 group1 分组的用户只有对仓库 code1 有读写权限。

注:* = 表示其他用户无任何权限

启动 SVN 服务器

在命令终端输入以下的任意一条命令都可以启动 SVN 服务器:

svnserve -d -r ~/Documents/svn-repo
svnserve -d -r ~/Documents/svn-repo/qpw

注:

  1. -d 表示守护进程
  2. -r 表示在后台执行

停止 SVN 服务器

打开“活动监视器” 。搜索 svn,将进程强制退出即可。

如果是在 Linux 系统下,可以输入下面的命令结束进程:

[root@localhost conf]# ps -ef|grep svnserve
root      4908     1  0 21:32 ?        00:00:00 svnserve -d -r /home/svn
root      4949  4822  0 22:05 pts/0    00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908

或者

[root@localhost conf]# killall svnserve

或者

[root@htlwk0001host ~]# systemctl stop svnserve.service

如何在 MacOS 环境下搭建 SVN 服务端环境相关推荐

  1. 如何在Mac环境下搭建svn服务器端环境

    为什么80%的码农都做不了架构师?>>>    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功 ...

  2. 第二课 如何在WINDOWS环境下搭建以太坊开发环境

    [本文目标] 根据本文指导,可以在WINDOUWS环境下完成以太坊智能合约部署前的比较环境准备. [技术收获] 如何在WINDOW(笔者以WINDOWS 10为例)环境搭建以太坊开发环境,按照以下安装 ...

  3. 怎么在Win7服务器搭建SVN服务端

    怎么在Win7服务器搭建SVN服务端 今天码大夫给大家分享在Windows服务器上如何搭建SVN环境的详细步骤: 工具/原料 1.VisualSVN server 这是服务器端的安装应用程序,根据自己 ...

  4. Win7环境下搭建Android安卓开发环境

    Win7环境下搭建Android安卓开发环境(原创教程) 此教程以32位win7旗舰版系统为基础,其它版本系统请根据情况自行调整.教程在2012年9月16日写,所有软件为当时的最新版. 准备文件(文件 ...

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

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

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

    第一步:准备工具: 1.SVN服务端工具(window版):VisualSVN-Server-2.1.11.msi,下载地址:http://download.csdn.net/detail/duanc ...

  7. Win7下安装SVN服务端

    目录 背景 svn安装包 操作步骤 1.创建仓库 2.基础设置 创建服务 开放端口 参考文献 背景 因为同事的苹果本无法修改mac地址连接内网,无论下驱动也好,命令方式也好,都无法修改mac,打客户电 ...

  8. 在阿里云服务器上搭建 SVN 服务端

    一.SVN 服务端搭建流程 1.安装 svn apt-get install subversion // 方式二:yum install subversion ps:查看版本 svnserve --v ...

  9. 阿里云ESC搭建SVN服务端

    CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取! 01.SVN服务的安装(subversion) 02.ESC安全组策略 1.在线安装svn服务 $ sudo ...

最新文章

  1. acme自动证书申请
  2. python基础入门:内置函数之排列组合函数教程
  3. Blazor 中如何下载文件到浏览器
  4. C. Jon Snow and his Favourite Number DP + 注意数值大小
  5. Centos7上卸载openJdk安装,安装自己的JDK1.8
  6. 在MacOS和iOS系统中使用OpenCV
  7. SRM 207 Div II Level Two: RegularSeason,字符串操作(sstream),多关键字排序(操作符重载)...
  8. sicp 3.9题解答
  9. 推荐系统实践(四)----基于标签的推荐算法
  10. sql 2005 用户 sa 登录失败
  11. java西游记3_西游记之大战火焰山
  12. lubuntu xubunut ubuntu kubuntu 区别
  13. 如何通过树莓派/Python/smtp发送电子邮件
  14. 编写程序,提示用户输入一个数并显示该数,使用字符模拟7段显示器的效果:Enter a number:491-9014
  15. 浅谈第四层交换机技术及应用
  16. 防CC攻击 软件防火墙和WEB防火墙大比较
  17. 常见的图片比例有哪些?App中不同图片比例适用场景
  18. 自动化设备远程监控系统软件
  19. Python请求HTTPS证书错误
  20. 美通企业日报 | 科技和能源行业最受中国公众信任;英特尔携手大华发展智能视觉技术...

热门文章

  1. go比java快多少_Java 11快多少?
  2. neo4j cypher_Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String...
  3. spring api层打包_Spring项目的按层打包已过时
  4. python异常值如何处理_如何处理异常
  5. python kotlin_在Python,Java和Kotlin中标记参数和重载
  6. Java 14:记录
  7. 如何在内存序列化中使用Java深克隆对象
  8. singleton设计模式_Java Singleton设计模式
  9. java lambda使用_使用Java 8和Lambda简化ReadWriteLock
  10. nashorn预编译_Java 8:在新的Nashorn JS引擎中编译Lambda表达式