Centos7环境下搭建SVN服务器、迁移svn到其他的服务器

devtools/2024/10/18 0:19:52/

简介: SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

一、简介

参考链接:https://developer.aliyun.com/article/1070481
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

二、安装

svnserve_6">1、通过 yum 命令安装 svnserve,命令如下:

yum -y install subversion

验证安装:

svn help

如果安装成功,就会看见 svn 的版本信息等;

2、创建 SVN 仓库目录

我喜欢把 svn 仓库放在 /opt 目录下,当然,你也可以根据自己的习惯放在不同的目录,如果只是创建svn不创建仓库,就可以不指定下面的仓库文件夹goods,即svnadmin create /opt/svn,后面指定realm的时候,也只需要指定到 /opt/svn即可。

创建目录:

mkdir  /opt/svn

创建一个 svn 的仓库,我的仓库名叫:goods

svnadmin create /opt/svn/goods/

进入仓库,即可以看见里面的文件

cd /opt/svn/goods/
ls

3、仓库文件说明

  • hooks 目录:放置 hook 脚步文件的目录
  • locks 目录:用来放置 subversion 的 db 锁文件和 db_logs 锁文件的目录,用来追踪存取文件库的客户端
  • format 目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
  • conf 目录:是这个仓库配置文件(仓库用户访问账户,权限)

4、修改配置文件

进入 conf 目录

cd conf/

配置文件都放在 conf 目录下,conf 目录下的文件包括:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn 服务器配置文件

svnserveconf__60">1、修改 svnserve.conf 文件:

vim svnserve.conf

将 anon-access 前面的注释去掉,将对应的值设置为:none
将 auth-access 前面的注释也去掉
将 password-db 前面的注释也去掉
将 authz-db 前面的注释也去掉
将 realm 前面的注释也去掉,将对应的值设置为你的 svn 仓库地址:/opt/svn/goods
注意,在去掉注释后,前面的空格也要去掉

配置说明:
anon-access = none:表示禁止匿名用户访问
auth-access = write:表示授权用户拥有读写权限
password-db = passswd:指定用户名口令文件,即 passwd 文件
authz-db = authz:指定权限配置文件,即 authz 文件
realm = /opt/svn/goods:指定认证域,即 /opt/svn/goods 目录

2、修改passwd文件:

vim passwd

在文件末尾追加需要开通的账号和密码,使用 = 号连接,例如:

xiaoming = 123456

注意,用户和密码都是明文显示的

3、修改 authz 文件:

vim authz

在文件末尾追加一下内容:

[/]
xiaoming=rw

配置说明:
[/]:表示根目录,即 /opt/svn/goods
xiaoming=rw:表示用户 xiaoming 对根目录具有读写权限

三、开放端口

SVN 服务的默认端口为 3690,可以通过下面的命令查看:
netstat -antp | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 66486/svnserve
开放3690端口:
sudo firewall-cmd --permanent --add-port=3690/tcp
重启防火墙生效
sudo firewall-cmd --reload
多数情况下服务器安装完成,配置完成后,无法连接 svn 服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】

四、启动 SVN 服务

svnserve -d -r /opt/svn/

启动命令说明:
-d:表示svnserve.exe 将会作为一个服务程序运行在后台
-r:表示把 /opt/svn 目录作为根目录
查看 svn 服务是否启动成功:

ps -ef | grep 'svnserve'

如果启动失败,有可能是 svn 服务已经启动了,关闭进程,再次启动即可

killall svnserve
svnserve -d -r /opt/svn/

也可以使用管道的方式查找 svn 的进程号

ps -ef | grep svn
kill -9 进程号

五、本地连接 SVN 服务

使用 IDEA 或者 Eclipse 等工具安装 svn 插件后,即可连接 svn 服务,连接地址为:

svn://ip

本次安装的 svn 服务是基于 svn 协议的,并不是常见的 http 协议,请注意。

svn_159">六、迁移 SVN 服务到另一个svn服务器

参考链接:https://cloud.tencent.com/developer/article/1650133

svn_161">1、在另一个服务器上安装svn

2、dump的方式进行迁移

svn下的仓库goods备份到demo.dump文件

svnadmin dump /opt/svn/goods/ >demo.dump

下载下来,上传到指定的服务器

3、将 dump 文件 load 进 新服务的仓库中

svnadmin load /opt/svn/goods <demo1.dump

将 demo1.dump < ( 写入 ) 到 新服务器上的goods 的这个仓库中

如果见到如下图这样的形式,就是在load中了,就等待吧

svn_180">4、启动svn服务

svnserve -d -r /opt/svn

http://www.ppmy.cn/devtools/32782.html

相关文章

2021-10-20 51蛋骗鸡左移右移函数自动循环

缘由单片机左和右位移函数-嵌入式-CSDN问答 #include "REG52.h" #include<intrins.h>if(Js10)//设置定时器50毫秒{if(k){P0_crol_(P0,1);if(P0128){k~k;Js0;}}if(!k&&Js){P0_cror_(P0,1);if(P01)k~k;} // if(!wk1&&!wk2)P0(k?255:0); // …

活动图与状态图:UML中流程图的精细化表达——专业解析系统动态性与状态变迁

流程图是一种通用的图形表示法&#xff0c;用以展示步骤、决策和循环等流程控制结构。它通常用于描述算法、程序执行流程或业务过程&#xff0c;关注于任务的顺序执行。流程图强调顺序、分支和循环&#xff0c;适用于详细说明具体的处理步骤&#xff0c;图形符号相对基础和通用…

Meta Llama 3 使用 Hugging Face 和 PyTorch 优化 CPU 推理

原文地址&#xff1a;meta-llama-3-optimized-cpu-inference-with-hugging-face-and-pytorch 了解在 CPU 上部署 Meta* Llama 3 时如何减少模型延迟 2024 年 4 月 19 日 万众期待的 Meta 第三代 Llama 发布了&#xff0c;我想确保你知道如何以最佳方式部署这个最先进的&…

4.Spring Security重要接口

当什么都没有配置的时候&#xff0c;账号和密码是由spring security自定义生成的。在实际项目中账号和密码都是从数据库中查询出来的。所以要通过自定义逻辑控制认证逻辑。 UserDetailService 接口 1.创建类继承UsernamePasswordAuthenticationFilter,重写三个方法&#xff1…

双指针 Leetcode 15 三数之和

双指针 Leetcode 15 三数之和 Leetcode 15 学习记录自代码随想录 要点&#xff1a;1、如果用哈希表则在处理输出数组去重时较复杂&#xff1b; 2、双指针法&#xff0c;双指针法使用前要对数组排序。 class Solution { public:vector<vector<int>> threeSum(ve…

KMP算法--C语言实现

#include <stdio.h> #include <assert.h> #include <string.h> #include <stdlib.h>void GetNext(char* sub, int next[]) {int lenSub strlen(sub);next[0] -1; // 初始第一个为 -1 第二个为 0next[1] 0;int i 2;int k 0;while (i < lenSub){…

数据结构练习题---环形链表详解

链表成环&#xff0c;在力扣中有这样的两道题目 https://leetcode.cn/problems/linked-list-cycle/ https://leetcode.cn/problems/linked-list-cycle-ii/description/ 这道题的经典解法是利用快慢指针&#xff0c;如果链表是一个环形链表&#xff0c;那么快指针(fast)和慢指…

Java中的可变参数

在Java中&#xff0c;可变参数&#xff08;varargs&#xff0c;也称为可变长度参数列表&#xff09;是Java 5及以后版本引入的一个特性&#xff0c;允许你在调用方法时传入任意数量的参数。可变参数在方法定义中看起来像一个数组&#xff0c;但在调用方法时你可以直接传入一个逗…