我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux搭建SVN服务器详细教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux搭建SVN服务器详细教程

前言

本文讲解 Linux 系统下如何搭建 SVN 服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置。

 

SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,实现最终集中式的管理。

目前很多互联网公司在使用 SVN,优点在于使用方便、易于管理。与之对应的分布式的版本控制系统 Git 则更加灵活。

搭建

安装 SVN

//Ubuntuapt-get install subversion //Centosyum install subversion

 查看是否安装成功,可以查看版本。

svnserve --version

 

提示版本 1.13.0,说明已安装成功。

创建版本库目录

创建 SVN 版本库目录,为后面创建版本库提供存放位置,也是最后启动 SVN 服务的根目录。

我们在 /usr 路径下创建 svn 目录作为版本库目录。

cd /usrmkdir svn

Linux 系统各目录知识延伸:

所以,将 SVN 库存放在用户文件目录 /usr 下比较合理。

创建 SVN 版本库

在上一步建立路径基础上,创建版本库,如 dev。

cd /usr/svnsvnadmin create dev

 创建成功后,可以查看到 dev 目录下生成的文件。

修改 SVN 配置

进入 conf 目录,查看需要修改的配置文件。

cd /usr/svn/dev/confls

 

配置文件:

  • authz:权限配置文件,控制读写权限
  • passwd:账号密码配置文件
  • svnserve.conf:svn 服务器配置文件

修改 svnserve.conf 文件

vim svnserve.conf

 

去掉 anon-access、auth-access、password-db、authz-db、realm 几项前的注释符号 “#”。

配置项含义:

  • anon-access = none|read|write 决定非授权用户的访问级别。none 表示无访问权限,read 表示只读,write 表示可读可写,默认为 read。
  • auth-access = none|read|write 决定授权用户的访问级别,使用与上面相同的访问级别。默认为 write。
  • password-db = filename 指定账号密码数据库文件名。filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为 passwd。
  • authz-db = filename 指定权限配置文件名,filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为 authz。
  • realm = realm-name 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的账号密码数据库文件 passwd。

认证域知识延伸:

在 SVN 客户端登录时,会提示 realm 认证域,如下图的认证域 My First Repository

 

修改 passwd 文件

vim passwd

 

只需在末尾添加账号和密码,格式 账号 = 密码,如 user1 = 123456,可添加多个。

修改 authz 文件

vim authz

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑

如果用户比较多,可以使用 groups 形式设置分组 team1,并在根目录下指定分组 @team1 的权限:

如果想设置其他用户的权限,可以通过 * 设置,如设置除 @team1 分组外其他用户只读权限:

[/]@team1 = rw* = r

 

启动 SVN 服务

执行 SVN 启动命令,其中参数 -d 表示以守护进程的方式启动, -r 表示设置的根目录。

svnserve -d -r /usr/svn/

 关闭 svn 命令:

killall svnserve

本地访问 SVN 服务

在 windows 系统中,安装 TortoiseSVN 软件,创建一个本地目录,右键选择 SVN Checkout 测试下,URL 填写 svn://IP/dev,dev 替换成你创建的版本库名称。

输入 passwd 配置好的用户。

 

Checkout completed,SVN 访问成功,这就 Nice 了~

 

扩展

设置查看 log 日志

想查看提交的 svn log 日志,需要进一步配置。

编辑 svnserve.conf,设置:
 

anon-access = none

编辑 authz 文件中添加:

[/]* =

 

这样通过鼠标右键 TortoiseSVN->show log 就可以查看 svn 提交的历史记录了。

多个项目管控配置

SVN 配置文件是很灵活的,如果想使用统一的账户和权限去管控多个项目,可以将多个项目的 authz 和 passwd 文件统一放在一处,在多个项目的 svnserve.conf 文件中配置这两个文件的绝对路径,并在 authz 中对不同的项目设置用户访问权限。

如:a、b、c、d 这 4 个用户,p1、p2 两个项目,其中 a、b 只能访问 p1,c、d 只能访问 p2。

创建版本库目录

mkdir /usr/svn

创建多个版本库

cd /usr/svnsvnadmin create p1svnadmin create p2

 创建管理用户权限目录

mkdir /var/svn/confcd /p1/confcp authz passwd /var/svn/conf

修改配置文件

修改 p1 的 svnserve.conf 文件:

anon-access = noneauth-access = write password-db = /var/svn/conf/passwd authz-db = /var/svn/conf/authz realm = p1 

 修改 p2 的 svnserve.conf 文件:

anon-access = noneauth-access = writepassword-db = /var/svn/conf/passwdauthz-db = /var/svn/conf/authzrealm = p2

password-db 和 authz-db 都使用统一管理用户权限目录,使用绝对路径。

修改 password-db 文件

[users]a = 123b = 123c = 123d = 123

修改 authz 文件

[groups] //分组p1user = a,bp2user = c,d [/]* = #以上没有定义的用户都没有任何权限 [p1:/] //p1的访问控制,c、d无法访问@p1user = rw [p2:/] //p2的访问控制,a、b无法访问@p2user = rw

对 password-db 和 authz 文件的修改立即生效,不必重启 svn。

启动 svn 服务

svnserve -d -r /usr/svn/

 访问不同项目 SVN

同样 TortoiseSVN 软件,选择 SVN Checkout 测试。

访问项目p1 URLsvn://IP/p1 访问项目p2 URLsvn://IP/p1

统一的配置文件,不同项目限定了不同用户访问,这样就实现了管控多个项目的 SVN 配置。

以上就是 Linux 系统搭建 SVN 服务器详细教程的所有内容,希望对大家有所帮助。

 

来源地址:https://blog.csdn.net/chiwang_andy/article/details/130265710

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux搭建SVN服务器详细教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SVN服务器搭建教程

搭建SVN服务器的步骤如下:1. 安装SVN服务器软件:你可以选择安装TortoiseSVN或者VisualSVN Server,TortoiseSVN是一个开源免费的SVN客户端软件,同时也提供了一个简单的SVN服务器供局域网内使用;而V
2023-09-14

CentOS8.1搭建Gitlab服务器详细教程

Gitlab和github的区别就不多说了,一句话来概括就是:Gitlab是给企业私有化部署的Git服务器,Github是互联网在线版的Git服务器!Github对于开源项目建仓是免费使用的,那么Gitlab收不收费呢?分布式版本控制方面的
2022-06-04

Windows搭建FTP服务器详细教程

这篇文章主要为大家详细介绍了Windows搭建FTP服务器详细教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

svn Linux centos7 服务器搭建

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结系统环境:Centos 6.5第一步
2023-06-06

linux上搭建私有Git服务器的详细教程

1.服务器搭建 远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能
2022-06-03

ubuntu1804搭建FTP服务器的详细教程

这篇文章主要介绍了ubuntu1804搭建FTP服务器的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-09

Ubuntu9.10下搭建LAMP服务器详细教程

这篇文章主要讲解了“Ubuntu9.10下搭建LAMP服务器详细教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu9.10下搭建LAMP服务器详细教程”吧!undefined  
2023-06-13

在阿里云上搭建SVN服务器搭建的详细步骤

本文将详细介绍如何在阿里云上搭建SVN服务器,包括服务器的配置、客户端的配置以及如何使用SVN进行版本控制。一、服务器的配置首先,你需要在阿里云上创建一个云服务器实例,选择合适的配置,例如CPU、内存、硬盘等。登录阿里云控制台,找到并选择你的服务器实例。打开终端,使用SSH协议连接到服务器实例。在终端中,使用以下
在阿里云上搭建SVN服务器搭建的详细步骤
2023-12-18

Linux如何搭建SVN服务器

本篇内容主要讲解“Linux如何搭建SVN服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux如何搭建SVN服务器”吧!1 安装SVN 官网下载:http://subversion.a
2023-06-16

Linux搭建SVN服务器方法

1. yum install subversion #安装svn2. groupadd svn #为运行svn设置专用的用户组,非必须操作,但推荐3. useradd -g svn svn #为运行svn设置专用的用户,非必须操
2022-06-03

windows系统搭建WEB服务器详细教程

这篇文章主要为大家详细介绍了windows系统搭建WEB服务器详细教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

windows server 2016 搭建FTP服务器详细教程

这篇文章主要为大家详细介绍了windows server 2016 搭建FTP服务器详细教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

Linux服务器中创建SVN项目详细步骤

一、Linux服务器中的SVN安装和搭建项目环境可以参考一下文章: 1、《阿里云服务器搭建》------搭建SVN服务 2、在一个服务器的svn上,设置一个端口号对应一个项目 3、如何解决Linux+svn无法显示日志的问题 二、Linux
2023-08-30

linux中如何搭建svn服务器

小编给大家分享一下linux中如何搭建svn服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!svn简介:SVN的全称是Subversion,即版本控制系统。它
2023-06-28

编程热搜

目录