一、安装SVN

  安装前可以更新下源,使用sudo apt update命令,如果有新的安装包使用sudo apt upgrade命令安装。然后就是安装我们的SVN服务器了,使用命令:

sudo apt install subversion

安装完成之后通过svnserve --version命令查看是否安装成功,正常会显示如下图所示的版本信息

表示安装成功了,我这里安装的SVN版本为1.13.0。

创建SVN版本库

终端中依次输入如下命令:

$ cd /opt

$ sudo mkdir svn

$ cd svn

$ sudo mkdir repository

$ sudo svnadmin create /opt/svn/repository   //创建SVN仓库

这样一来会在repository下面建立以下文件:

其中conf文件夹下是存放的配置文件,包括SVN用户名的权限、密码这些,db里面的包含我们上传到SVN服务器上面的文档、代码等数据的不同版本。这里需要注意的是要对db文件夹释放权限,否则客户端可能无法连接SVN服务器。
在终端中输入如下命令:

sudo chmod -R 777 db

正常情况会变成如下图所示:

db文件夹变绿,代表着它此时拥有执行权限了。

修改配置文件

  这一步主要是在repository文件夹下的conf这个文件夹里面的文件进行配置。总共有3个文件需要设置,下面依次说明:

1. 修改svnserve.conf文件

这个文件里面主要设置我们的SVN访问方式,如下图所示,主要修改其中3个地方即可:

这里主要有4个地方需要注意,具体作用已经在图片中写出了,其中需要重点说明的是authz和passwd这两个文件,为了后续多仓库管理的便捷性,这里的路径加了…/…/authz和…/…/passwd两个,代表着我们可以将权限设置文件和密码设置文件单独放置,这样后续需要使用SVN的人员多了,作为SVN服务器维护人员就可以很方便的添加用户的权限和密码了,团队大了或者是工程越来越多的时候可以极大的提高维护人员的工作效率。

2. 修改passwd文件

这个文件中主要是设置SVN用户的密码的,如下图所示:

设置了4个用户和对应的密码,格式为 “ 用户名 = 密码 ”,此文件主要管理SVN用户的密码

3. 修改authz文件

这个文件相当重要,我们可以在这个文件中设置用户的读写权限,做到不同用户、不同项目组成员之间权限不互通,起到信息安全的目的。如下图所示:

具体意义及说明已经在图中标注写明了,图中的授权方式为对用户组进行授权,这里再提下

[/]

@admin = rw

@normal = r

这个部分的说明,上面的 [/] 表示对根目录进行授权,即用户组成员对所有项目都具有权限共通性,我们如果要针对不同项目去设置不同权限,可以如下操作

[JAVA:/]

Heath = rw  //表示用户 Heath 对项目 JAVA 的所有内容具有读写权限

Liu = r  //表示用户 Liu 对项目 JAVA 的所有内容仅具有读权限

[Python:/]

Ming = rw  //表示用户 Ming 对项目 Python 的所有内容具有读写权限

Tao = r  //表示用户 Tao 对项目 Python 的所有内容仅具有读权限

上面这种做法可以保证Heath仅拥有JAVA项目的读写权限,没有Python项目的权限,保证项目组成员之间的信息安全和项目安全,也便于项目组成员之间的管理。

启动SVN服务器

在终端中输入

sudo svnserve -d -r /opt/svn/

启动SVN服务器,这里说明下:

  • -d:表示在后台运行
  • -r:指定服务器的根目录

顺便给出停止服务器的命令:

killall svnserve

启动完成后通过ps aux | grep svnserve命令查看是否启动成功,正常会有如下图所示结果:

表示SVN服务器启动成功了,这里为了保护服务器主机安全,建议开启防火墙,开启防火墙的操作见上一篇文章:Ubuntu20.04防火墙设置(简易教程) 。开启防火墙之后要给予SVN端口访问权限,SVN服务的默认端口为3690,必须先在服务器主机上打开3690端口的外部访问权限,如下图:

到这里,Linux系统上面的SVN服务器就搭建成功了。

测试服务器

  首先在官网下载SVN客户端版本,这里给出我下好的1.14.0版本的路径,需要的小伙伴自取:SVN1.14.0&Chinese_Package。链接压缩包中包含SVN1.14.0的安装包和对应的简体中文语言包,安装好SVN客户端以后点击SVN Checkout按钮,在弹出页面输入SVN服务器的地址,格式为svn://服务器ip/repository。输入用户名和密码后正常可以弹出如下界面:

这样一来就搞定下载了,接下来进行文件上传测试。将需要上传的文件复制到svn仓库文件夹中,点击SVN Commit按钮提交上传文件,如下图所示:

上传成功会有如下界面弹出:

到此,SVN服务器的搭建就结束了。

Ubuntu20.04系统搭建SVN服务器相关推荐

  1. 在ubuntu16.04上搭建svn服务器

    本文介绍在如何在ubuntu16.04 的系统上搭建svn服务器以及可能遇到的问题.下面的操作都以root用户进行. 1.安装svn服务器软件subversion. // 安装完成后的svn版本为 1 ...

  2. linux下的svn搭建,Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  3. win7系统搭建svn服务器,Win7系统如何使用VisualSVN Server搭建SVN服务器?

    SVN是程序员常用的一款软件,它可以很好的帮助程序员进行版本控制以及代码管理.但是要使用SVN还需要进行配置,那么今天就由小编替大家讲解一下Win7系统如何使用VisualSVN Server搭建SV ...

  4. ubuntu 14.04 下搭建SVN服务器 svn://

    安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下的svn目录. cd /srv sudo mkdir svn ...

  5. Ubuntu14.04快速搭建SVN服务器及日常使用

    1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以很方面恢复到以前的版本,并可以查看数据更改细 ...

  6. Linux搭建SVN服务器详细教程

    前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...

  7. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  8. Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)

    Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码) 1.    安装subversion sudo apt-get install subversion 2.  ...

  9. 乌班图系统我的世界服务器手机版,如何在Ubuntu 20.04上搭建Minecraft服务器

    <我的世界>是有史以来最受欢迎的游戏之一.本教程说明了如何在Ubuntu 20.04上制作Minecraft服务器.我们将使用Systemd运行Minecraft服务器,并使用该mcrco ...

最新文章

  1. 2022-2028年中国动力电池回收行业投资分析及前景预测报告
  2. T75 大数加法+取模
  3. 天天沉迷于皇上本宫的都是sb
  4. Nacos分布式应用配置管理
  5. 如何将自开发的SAP UI5应用以tile的方式配置到SAP Fiori Launchpad里
  6. 《深入理解 Spring Cloud 与微服务构建》第十章 路由网关 Spring Cloud Zuul
  7. 华为重磅新品来了!已通过3C认证 由京东方代工
  8. .NET设计模式(1):1.1 单例模式(Singleton Pattern)
  9. kmp算法字符串匹配C语言实现
  10. 无聊时对连分数的思考
  11. (每日一题 day 002 - 模拟) 166. 分数到小数
  12. 「PHP基础知识」PHP中的注释+PHP直播源码直播系统源码
  13. C语言利用回调函数实现qsort函数
  14. 项目经理价值的最终体现
  15. 11gR2 RAC vip和network资源的依赖性与频繁failover
  16. 量化选股模型—一致预期模型
  17. 类风湿关节炎伴发纤维肌痛症患者的炎症与脑内感受性连接的关系
  18. 年薪40W的程序员需要掌握怎样的技术(Java程序员高薪必看)
  19. Centos 异步 IO framework io_uring,基本原理,程序示例与性能压测
  20. Mindjet MindManager思维导图使用技巧

热门文章

  1. Linux就该这么学(使用 ssh 服务管理远程主机)第9章
  2. win8.1 android驱动安装失败,win8.1驱动安装失败提示“数据无效”如何解决
  3. java语言入门(一)之JAVA语言基的概述
  4. 解决了电脑外放杂音,耳机有声音的问题
  5. Java时间格式化与解析
  6. JAVA日期格式化类
  7. php日志格式,ThinkPHP5 修改日志格式(按模块分割日志) | 剑花烟雨江南
  8. DeFi仍是鲸鱼的专属?前5名地址竟能占总供应量的40%以上
  9. 2022年湖南省导游资格(政策与法律法规)练习题及答案
  10. 2019年1月Android手机性能榜,2019中国手机排行榜_2019年安卓手机排行榜:受欢迎的安卓手机前十名...