linux下svn服务器搭建及使用(包含图解)

article/2025/9/29 22:51:42

  今天自己动手在linux搭建了svn服务器,把具体过程和一些自己的见解分享给大家,希望对大家有所帮助。
  客户端svn(大家见到的小乌龟)下载地址为:http://tortoisesvn.net/downloads.html。这里客户端的安装就不作详解了,接下来直接进入服务端的安装~

  • 1)安装svn服务器
# yum install subversion

这里写图片描述

  • 2)创建一个目录用来存放所有的svn版本库(后期客户端更新时,有优势,后面会提到)
# mkdir /svn

这里写图片描述

  • 3)在svn目录下创建一个版本库 repositoryA
# svnadmin create /svn/repositoryA

这里写图片描述

  • 4)查看并分析生成的文件
# ls /svn/repositoryA

这里写图片描述

conf目录:版本库的配置文件,包含用户访问账号、权限等
db目录:存放数据
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号(可以用vi打开看一下)
hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
README.txt文件:说明文档
  • 5)修改svnserve.conf 配置文件
# vi /svn/repositoryA/conf/svnserve.conf

这里写图片描述
这里写图片描述

打开并修改下面几个注释(或者直接添加,原来的注释就不用打开)
[general]  # 如果是直接添加到最后面,不要忘记加这条,否则客户端更新的时候会不用权限直接检出,提交时又报没权限
anon-access = none # 匿名不可读写,可以为write,read,none,默认为read,建议为none
auth-access = write # 验证用户可读写
password-db = /svn/repositoryA/conf/passwd # 指向用户名和密码的数据文件,地址不要写错,不然会报authorization failed
authz-db = /svn/repositoryA/conf/authz # 指向用户的权限配置文件,地址不要写错,不然会报authorization failed
realm = repositoryA         #客户端检出时,提示信息
保存退出:wq(我是linux小白,进入编辑后不会退出。。。 按Esc后,输入 : ,再输入wq即可)
  • 6)添加访问用户及密码
# vi /svn/repositoryA/conf/passwd

这里写图片描述
这里写图片描述

testUser1 = 123456 # 前面是用户名,后面是密码
testUser2 = 123456 # 这里建两个用户,为了说明配置权限时,可以分组管理
保存退出: wq
  • 7)管理用户权限
# vi /svn/repositoryA/conf/authz

这里写图片描述
这里写图片描述

[groups]
admin = testUser1,testUser2    # 可以通过一个变量管理多个权限一样的用户,用户之简用逗号“,”隔开
[/]                # 这里 / 表示对根目录(即/svn/ProjectA目录)下的所有子目录范围设置权限;
@admin = rw                 # rw表示可读写, r表示只读 
* =                         # 这一行很重要,表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,如果有多个groups,要先把用户分组变量全部赋值,比如
admin = testUser1
art = testUser2
后面再分组给权限
[/]
@admin = rw
[/]
@art = rw而不能将用户分组变量分开写
admin = testUser1
[/]
@admin = rwart = testUser2
@art = rw这样检出的时候会提示配置错误
  • 8)开启svn服务
    到这里,我们已经完成了svn服务端软件的下载,创建了版本库,并添加了用户以及相应的权限,最后我们只要开启svn服务即可。
    这这里我们要考虑后期添加新的版本库问题,这里提供两种方法开启svn服务。

第一种: 直接开启对应的版本库,一个端口指向一个版本库(默认svn对应的端口为3690)

#svnserve -d -r /svn/repositoryA  

这里写图片描述

这时重复2-7步,再添加一个版本库repositoryB。这里用

#svnserve -d -r /svn/repositoryB 

  开启版本库repositoryB时,会提示svnserve: Can’t bind server socket: Address already in use
因为svn默认使用的端口是3690,而之前在开启版本库repositoryA已经使用,所以这里提示已经使用
所以我们应该换个端口,这里假设端口3691未被使用,则可以使用

#svnserve -d -r /svn/repositoryB --listen-port 3691

注意: 这时客户端检出时,只要指定端口,就能检出对应的版本库,因为
svn://192.168.100.50:3690 对应 服务端的 /svn/repositoryA目录
svn://192.168.100.50:3691 对应 服务端的 /svn/repositoryB目录
(这里192.168.100.50是服务端的ip,你们根据自己服务器信息填写ip)

这里写图片描述

第二种: 开启版本库所在的目录(建议使用这种)

#svnserve -d -r /svn/

这时在客户端检出的时候,不用关心端口(默认3690),只要加入对应的版本库名就可以了,因为
svn://192.168.100.50:3690 对应 服务端的 /svn目录

svn://xxx.xxx.xxx.xxx/repositoryA
svn://xxx.xxx.xxx.xxx/repositoryB

补充:这里每个版本库都用自己的配置,每增加一个版本库就要重新配置一份,显然不够便捷,下次补充如何让多个版本库共用一份配置

svn 相关命令补充 :

  • 查看svn程序监听的所有端口以及PID信息:
netstat -anp |grep svn
  • 查看svn进程信息:
ps -ef|grep svnserve
  • 杀死svn进程:(根据上面查看svn进程信息,根据进程ID杀死指定进程)
kill -9 PID

http://chatgpt.dhexx.cn/article/uTXVwnVl.shtml

相关文章

基于centos的svn服务器搭建与配置

第一步: svn简介 svn是subversion的简称,是一个开放源代码的版本控制系统. 第二步: 搭建前准备 服务器:centos7 (centos6以下教程 亲测也可以) 第三步: 首先检测服务器是否安装svn,如果安装先卸载 svnserve --version //查看svn版本信息 yum remove subversion …

Linux HTTPS+SVN服务器搭建

Linux HTTPSSVN服务器搭建 一、SVN简介: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion…

SVN服务器搭建和使用(Windows 版)

SVN服务器搭建和使用(Windows 版) Subversion是优秀的版本控制工具,尝试来搭建SVN服务器,进行版本提交 首先我们去下载SVN服务安装包: 下载 下载地址:http://subversion.apache.org/packages.html 打开网页后,一直往下&#…

linux系统下SVN服务器搭建

linux新手,整了好几天才搞好,做下笔记以备后续使用: 1、下载svn服务器 yum -y install subversion 2、创建仓库 svnadmin create /opt/svn/pro/respos1 svnadmin create /opt/svn/pro/respos2 3、配置用户以及权限 1:cd到仓库目录下&#…

如何在服务器上搭建svn

svn现在依然是一个流行的版本控制工具,但是大多数的人员只会使用客户端,并且也知道可以进行权限控制, 那么今天,我们就来给大家梳理一下 1.如何搭建svn的服务器 2.如何进行svn的权限控制 我是一条华丽的分割线 安装系统&…

Linux下的SVN服务器搭建

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

SVN服务器的搭建与使用

下载 VisualSVN Server VisualSVN Server 选择 64-bit 下载即可(现在主流的系统一般都是 64 位的,当然,如果你是 32 位的系统就下载 32-bit)。 安装 VisualSVN Server 双击下载下来的安装程序,开始安装:…

SVN服务器的搭建与使用(详细图解)

Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说。 本教程使用的svn版本是1.9.7 64位 一. 下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进…

SVN服务器搭建和使用

(一)SVN服务器搭建和使用 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文件包…

一、Linux下的SVN服务器搭建

这里自己做个总结。 环境: contos7,百度云服务 下载svn服务器,必须是联网情况下。 yum -y install subversion 查看下载后的信息,安装位置及详细信息。 rpm -ql subversion 3.创建版本库目录,可以再chenjy目录上放置…

搭建svn服务器

检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 1、yum install subversion 查看Svn版本 svnserve --version 2、建立版本库 subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认…

本地SVN服务器的搭建(WINDOWS环境)

1.下载安装 VISUALSVN SERVER 1.1下载地址:https://www.visualsvn.com/server/download/ 1.2下载完成后,双击安装。 2.下载安装 TortoiseSVN 1.1官网下载地址:http://tortoisesvn.net/downloads.html 2.1下载完成后,双击安装。 完成后Finis…

linux下 svn服务器搭建及使用

1、安装svn 命令:sudo apt-get install subversion 2、创建目录和svn仓库 1) mkdir /home/zx/test_svn 2)svnadmin create /home/zx/test_svn/bluedroid 3)修改conf/svnserve.conf,如下图: 4)…

SVN服务器搭建(一)

原文地址: https://www.cnblogs.com/yankyblogs/p/7282752.html 本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目。 一、首先准备三个软件: 1&am…

Ubuntu SVN服务器搭建

本服务器在Ubuntu14.04LTS上搭建,理论上在任何Ubuntu版本上都适合。 1、安装SVN 首先切换到超级用户下:sudo su 然后输入命令安装svn:apt-get install subversion 2、建立版本仓库 创建文件夹:mkdir -p /home/svn 创建版本仓库: svnadm…

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

一、SVN 服务端搭建流程 1、安装 svn apt-get install subversion // 方式二:yum install subversion ps:查看版本 svnserve --version 2、创建版本库先建目录 mkdir /usr/xq/svn 创建版本库 svnadmin create /usr/xq/svn subversion目录说明&#xff…

SVN服务器搭建教程

背景 在windows云服务上使用VisualSVN Server搭建svn服务器,自己本机使用TortoiseSVN作为客户端来连接。 方法 1、安装 VisualSVN Server下载地址: Downloads | VisualSVN 下载完成后一直下一步安装即可。 2、创建库 当然,你可能发现没有…

SVN服务器搭建

本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目。 一、首先准备三个软件: 1.VisualSVN-Server-3.6.3-x64.msi(svn服务端&…

IDEA使用JBoss7.1.1容器启动EJB项目Demo

今年是2022年了,现在用到EJB架构的项目已经不多了,多是遗留的老项目,这不,手头就遇到一个。找了一些资料,自己也手动练习一下基础的搭建。 在开始,介绍一下搭建环境使用的工具及版本: JDK版本&a…

EJB开发第一个无状态会话bean、开发EJB客户端

开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的…