IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu20.04系统搭建SVN服务器 -> 正文阅读

[系统运维]Ubuntu20.04系统搭建SVN服务器

一、安装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服务器的搭建就结束了。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:56:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:41:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码