Linux搭建SVN服务器详细教程

这篇具有很好参考价值的文章主要介绍了Linux搭建SVN服务器详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

 文章来源地址https://www.toymoban.com/news/detail-487507.html

Linux搭建SVN服务器详细教程

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

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

搭建

安装 SVN

//Ubuntu
apt-get install subversion
 
//Centos
yum install subversion

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

svnserve --version

Linux搭建SVN服务器详细教程

 

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

创建版本库目录

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

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

cd /usr
mkdir svn

Linux 系统各目录知识延伸:

Linux搭建SVN服务器详细教程

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

创建 SVN 版本库

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

cd /usr/svn
svnadmin create dev

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

Linux搭建SVN服务器详细教程

修改 SVN 配置

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

cd /usr/svn/dev/conf
ls

 

Linux搭建SVN服务器详细教程

配置文件:

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

修改 svnserve.conf 文件

vim svnserve.conf

 

Linux搭建SVN服务器详细教程

去掉 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

 

Linux搭建SVN服务器详细教程

修改 passwd 文件

vim passwd

 

Linux搭建SVN服务器详细教程

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

修改 authz 文件

vim authz

Linux搭建SVN服务器详细教程

编辑

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

Linux搭建SVN服务器详细教程

如果想设置其他用户的权限,可以通过 * 设置,如设置除 @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 替换成你创建的版本库名称。

Linux搭建SVN服务器详细教程

输入 passwd 配置好的用户。

Linux搭建SVN服务器详细教程

 

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

Linux搭建SVN服务器详细教程

 

扩展

设置查看 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/svn
svnadmin create p1
svnadmin create p2

 创建管理用户权限目录

mkdir /var/svn/conf
cd /p1/conf
cp authz passwd /var/svn/conf

修改配置文件

修改 p1 的 svnserve.conf 文件:

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

 修改 p2 的 svnserve.conf 文件:

anon-access = none
auth-access = write
password-db = /var/svn/conf/passwd
authz-db = /var/svn/conf/authz
realm = p2

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

修改 password-db 文件

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

修改 authz 文件

[groups] //分组
p1user = a,b
p2user = 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 URL
svn://IP/p1
 
访问项目p2 URL
svn://IP/p1

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

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

 

到了这里,关于Linux搭建SVN服务器详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows/Linux搭建幻兽帕鲁服务器教程(超详细图文)

    幻兽帕鲁作为一款热门多人在线游戏,为了给玩家提供稳定、流畅的联机体验,阿里云提供了高效便捷的快速部署解决方案,本文将为大家分享阿里云一键部署幻兽帕鲁联机服务器详细教程。 还未购买阿里云服务器可以参照下面的步骤部署,已经购买阿里云服务器可以参照文

    2024年02月19日
    浏览(50)
  • 【远程访问】Linux搭建SVN服务器,并内网穿透实现公网远程访问

    转载自cpolar内网穿透的文章:Linux搭建SVN服务器,并内网穿透实现公网远程访问 由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。 当SVN安装在局域

    2024年02月06日
    浏览(79)
  • Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法

    由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。 当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内

    2024年02月11日
    浏览(64)
  • 无需租用云服务器:使用Linux本地搭建web服务并实现内网穿透发布公网访问的详细教程

    在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。 Apache2 是一种流行的

    2024年02月10日
    浏览(46)
  • ubuntu搭建chirpstack服务器详细教程

    目录 一、安装镜像 安装环境 切换镜像源 添加公钥 二、安装docker 1.检查并卸载已安装的docker 2.安装所需的库 3.添加Docker官方GPG密钥 4.写入软件源信息 5.安装 docker-ce 6.查看docker版本 7.docker的常用命令展示 三、安装docker-compose 1.安装 2.查看权限 3.验证是否下载成功 4.docker-compo

    2024年02月04日
    浏览(57)
  • Gitea--私有git服务器搭建详细教程

    csdn https://download.csdn.net/download/qq_44623314/88294649 将gitea 注册为Windows服务

    2024年02月04日
    浏览(67)
  • Wow魔兽世界服务器搭建详细教程,魔兽世界服务器配置要求

    自从《魔兽世界》国服关服后,很多魔兽老玩家心里都是空落落的,魔兽陪伴了我们十多年,此次关服犹如关上了通往艾泽拉斯大陆的大门。 上帝关上了一扇门,我们也可以自己开扇窗,随着国服关闭,越来越多的玩家想要自己开服当服主,今天飞飞将和你们分享魔兽世界服

    2024年02月04日
    浏览(80)
  • Linux搭建Ngrok服务器详细过程

    1.安装go语言并解压到/usr/local/目录下,目录可以自己换别的,go语言版本也可以换高级点的 2.配置go语言的环境变量 1)打开配置文件 2)在最下面新增以下代码 3)重新加载配置文件 3)验证go是否安装成功 结果显示版本信息就表示安装成功 1) 使用大佬已处理好依赖的ngrok文

    2023年04月25日
    浏览(52)
  • Windows7搭建FTP服务器详细教程

    最近需要用Windows7搭建一个简单的FTP服务器,在此记录下过程。 选择控制面板-程序-程序和功能-打开或关闭Windows功能-点开Internet信息服务,将其所有子项都选中,选好后确定。(这个过程需要一段时间,根据电脑性能长短不一) 选择控制面板-系统和安全-管理工具-双击Inte

    2024年02月08日
    浏览(48)
  • 搭建幻兽帕鲁服务器详细教程分享

    幻兽帕鲁PalWorld是一款由Pocketpair开发的游戏,融合了多种玩法,其独特的题材和画风吸引了很多玩家。为了更好地进行游戏体验,很多玩家选择自行搭建服务器。本文将详细介绍如何搭建幻兽帕鲁PalWorld服务器。 阿里云提供快速、简化的服务器搭建方案,新手小白0基础1分钟

    2024年02月20日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包