Linux 搭建SVN服务

检查SVN服务版本

svnserve --version
[root@eason ~]# svnserve --version svnserve,版本 1.7.14 (r1542130) 编译于 Sep 30 2020,17:44:04 版权所有 (C) 2013 Apache 软件基金会。 此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。 Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。 [root@eason ~]#

如果没有安装,执行安装命令

yum install subversion

建立仓库base文件夹

我这里的位置是 /usr/local/svn

[root@eason svn]# pwd /usr/local/svn

建立仓库

svnadmin create svnrepos
  • db目录:就是所有版本控制的数据存放文件
  • hooks目录:放置hook脚本文件的目录
  • locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
  • format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
  • conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
[root@eason svnrepos]# ll 总用量 24 drwxr-xr-x 2 root root 4096 1月 16 17:51 conf drwxr-sr-x 6 root root 4096 1月 16 18:21 db -r--r--r-- 1 root root 2 1月 16 17:46 format drwxr-xr-x 2 root root 4096 1月 16 17:46 hooks drwxr-xr-x 2 root root 4096 1月 16 17:46 locks -rw-r--r-- 1 root root 229 1月 16 17:46 README.txt [root@eason svnrepos]#

配置仓库

主要配置conf目录下的authzpasswd、和svnserve.conf

配置访问用户名和密码

编辑passwd文件,在最下方加入用户名和密码

### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret admin = 123456

配置访问权限

编辑authz文件,加入下方配置:

[/]
admin = rw
* = r

### This file is an example authorization file for svnserve. ### Its format is identical to that of mod_authz_svn authorization ### files. ### As shown below each section defines authorizations for the path and ### (optional) repository specified by the section name. ### The authorizations follow. An authorization line can refer to: ### - a single user, ### - a group of users defined in a special [groups] section, ### - an alias defined in a special [aliases] section, ### - all authenticated users, using the '$authenticated' token, ### - only anonymous users, using the '$anonymous' token, ### - anyone, using the '*' wildcard. ### ### A match can be inverted by prefixing the rule with '~'. Rules can ### grant read ('r') access, read-write ('rw') access, or no access ### (''). [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [/] admin = rw * = r

编辑svnserve.conf文件

放开注释,注意,编辑过程中前方不要留空格

anon-access = read
auth-access = write

password-db = passwd

authz-db = authz

realm = svnrepos

### This file controls the configuration of the svnserve daemon, if you ### use it to allow access to this repository. (If you only allow ### access through http: and/or file: URLs, then this file is ### irrelevant.) ### Visit http://subversion.apache.org/ for more information. [general] ### The anon-access and auth-access options control access to the ### repository for unauthenticated (a.k.a. anonymous) users and ### authenticated users, respectively. ### Valid values are "write", "read", and "none". ### Setting the value to "none" prohibits both reading and writing; ### "read" allows read-only access, and "write" allows complete ### read/write access to the repository. ### The sample settings below are the defaults and specify that anonymous ### users have read-only access to the repository, while authenticated ### users have read and write access to the repository. anon-access = read auth-access = write ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the directory containing ### this configuration file. ### If SASL is enabled (see below), this file will NOT be used. ### Uncomment the line below to use the default password file. password-db = passwd ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the the ### directory containing this file. If you don't specify an ### authz-db, no path-based access control is done. ### Uncomment the line below to use the default authorization file. authz-db = authz ### This option specifies the authentication realm of the repository. ### If two repositories have the same authentication realm, they should ### have the same password database, and vice versa. The default realm ### is repository's uuid. realm = svnrepos ### The force-username-case option causes svnserve to case-normalize ### usernames before comparing them against the authorization rules in the ### authz-db file configured above. Valid values are "upper" (to upper- ### case the usernames), "lower" (to lowercase the usernames), and ### "none" (to compare usernames as-is without case conversion, which ### is the default behavior). # force-username-case = none [sasl] ### This option specifies whether you want to use the Cyrus SASL ### library for authentication. Default is false. ### This section will be ignored if svnserve is not built with Cyrus ### SASL support; to check, run 'svnserve --version' and look for a line ### reading 'Cyrus SASL authentication is available.' # use-sasl = true ### These options specify the desired strength of the security layer ### that you want SASL to provide. 0 means no encryption, 1 means ### integrity-checking only, values larger than 1 are correlated ### to the effective key length for encryption (e.g. 128 means 128-bit ### encryption). The values below are the defaults. # min-encryption = 0 # max-encryption = 256

重启svn服务

svnserve -d -r /usr/local/svn 表示/usr/local/svn作为根路径

sudo pkill svnserve svnserve -d -r /usr/local/svn

访问测试

如果没开通3690,需要开启放行策略,访问svn地址为:svn://ip/仓库名称,在我这里是svn://39.102.208.xxx/svnrepos

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1185237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

保姆级教程:DeepSeek降AI指令怎么写才有效

保姆级教程:DeepSeek降AI指令怎么写才有效 TL;DR:DeepSeek降AI指令的核心是打破AI生成的「规整感」——把长句拆短句、去掉「首先其次」等连接词、加入个人化表达。但DeepSeek只能做粗处理(降到50%-60%),要降到10%以下…

学霸同款8个一键生成论文工具,MBA毕业论文轻松搞定!

学霸同款8个一键生成论文工具,MBA毕业论文轻松搞定! AI 工具如何让论文写作更高效 在当今信息爆炸的时代,MBA 学生和科研工作者面临着越来越高的学术要求。无论是撰写毕业论文还是发表学术文章,内容的原创性、逻辑性和专业性都显得…

数字赋能,防患未然——水利大坝智能监测与报警一体化平台

水利大坝作为防洪、发电、供水等核心水利基础设施,其安全稳定运行直接关系到下游区域人民生命财产安全与生态平衡。 水利大坝自动化监测系统解决方案,融合物联网、北斗定位、云计算、人工智能及数字孪生技术,构建天空地一体化全要素自动化监测…

查找oracle,存储过程包含某个单词的存储过程名称

在Oracle中,您可以查询数据字典视图来查找包含特定文本的存储过程。以下是几种方法:方法1:查询 USER_SOURCE 视图(当前用户)SELECT DISTINCT s.name AS 存储过程名称 FROM user_source s WHERE UPPER(s.text) LIKE UPP…

在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法

在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法:方法1:查找包中包含关键字的存储过程-- 查找包体(PACKAGE BODY&…

2026年8款免费降AI率工具实测推荐,毕业论文党必收藏

2026年8款免费降AI率工具实测推荐,毕业论文党必收藏 TL;DR:2026年知网等平台AIGC检测算法大升级,传统降重手段已经失效。本文实测8款免费降AI率工具,重点推荐嘎嘎降AI(达标率99.26%)和比话降AI(…

4-16路 AC10/50A 互感变送通讯一体电流模块

交流电流监测采集模块是工业物联网(IoT)与自动化领域的专用数据采集设备,核心功能是实时采集交流电路中的电流数据,经过信号调理、模数转换后,将数据上传至云端平台、PLC或工控系统,为能耗管理、设备状态监控、故障报警提供数据支…

真有效值+多通道覆盖!4-16路交流电流监测模块,赋能各行业电气管控

交流电流监测采集模块的应用场景覆盖工业、电力、建筑、新能源、民生等数十个细分领域,核心是通过实时采集交流电流数据,实现设备状态监测、能耗管理、故障报警、安全防护等目标。一、工业自动化与智能制造 这是模块的核心应用领域,几乎所有工…

手把手教你用逻辑重构法降AI,不伤文不伤术语

手把手教你用逻辑重构法降AI,不伤文不伤术语 TL;DR:逻辑重构是降AI的高级技巧,核心是保留专业术语、重组句式逻辑、调整论述顺序。本文详细拆解5个步骤:定位AI特征段落、主被动语态转换、长句拆分短句合并、段落逻辑重组、嵌入批判…

AI助力Alphabet市值突破4万亿美元,竞争依然激烈

谷歌母公司Alphabet本周市值突破4万亿美元大关,仅次于英伟达,位居市场第二,这并不令人意外。该公司持续展示其在AI领域的新实力,苹果将在Siri后台使用Gemini模型,谷歌还为Gemini发布了新的个性化工具以及用于智能体购物…

AEON Environmental Foundation与《生物多样性公约》秘书处联合启动2026年MIDORI生物多样性奖提名

MIDORI奖旨在表彰为生物多样性保护和可持续利用做出杰出贡献的个人 这一独特奖项有助于提升公众意识,让人们认识到生物多样性对人类福祉以及在应对气候变化等全球挑战方面的重要作用 颁奖典礼暨获奖者论坛将于2026年8月27日在日本东京举行 2026年MIDORI生物多样性奖…

小程序毕设项目推荐-基于nodejs的演唱会路演时间进程安排报名小程序的设计与实现【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

计算机小程序毕设实战-基于nodejs的大众点评点餐美食版小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2024年INS SCI2区,基于维度探索与差分进化的无人机路径规划多目标进化算法,深度解析+性能实测

目录1.摘要2.多目标优化模型3.提出的算法4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流1.摘要 针对复杂环境下无人机路径规划中路径短与安全避障等目标冲突、传统方法难以兼顾的问题,本文将路径规划建模为多目标优化模型,并将避障设为硬约…

爬虫解析:python如何判断requests库请求返回的是json还是html还是其他? - 指南

爬虫解析:python如何判断requests库请求返回的是json还是html还是其他? - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

2026年AI市场支出预计增长44%至2.52万亿美元

已经蓬勃发展的AI市场即将进一步扩张,云服务提供商、AI模型制造商和软件公司持续向该技术投资数千亿美元。根据Gartner周四发布的报告,全球AI支出预计将比去年同期增长44%,在2026年达到2.52万亿美元。这家分析公司在9月份的预测基础上增加了约…

企业草坪理论:数据如何成为自主商业增长的养分

精心维护的草坪、运动场或高尔夫球场的美学吸引力和功能质量受到普遍赞赏和钦佩。它体现了对卓越的承诺,并为巅峰表现提供了基础。考虑竞技体育的世界:棒球运动员依赖坚实、平整的内场;足球和橄榄球运动员需要一致、有弹性的草皮;…

企业引入智能体开发服务,到底有什么实实在在的好处?

对老板来说,任何新技术的投入都要看回报。企业引入智能体开发服务核心好处就是降本、增效、拓收。它把重复、繁琐的脑力劳动自动化,让员工专注于更有创造性的工作。企业痛点智能体带来的好处客服人力成本高,响应慢24小时在线,秒回…

微信小程序毕设项目:(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…