当前位置: 首页 > news >正文

Ubuntu 搭建SVN服务

目录

1、安装SVN服务端

2、创建SVN版本库

3、修改SVN配置svnserve.conf

3.1 配置文件介绍

3.2 svnserve.conf配置

3.3 authz配置设置用户读写权限

3.4 passwd配置 用户名密码

4、启动SVN服务

4.1 配置开机启动


1、安装SVN服务端

sudo apt-get install subversion

检查版本

sudo svn --version

2、创建SVN版本库

sudo mkdir /home/svnsudo svnadmin create /home/svn/repo

3、修改SVN配置svnserve.conf

3.1 配置文件介绍

#配置文件目录
cd /home/svn/repo/conflsauthz  hooks-env.tmpl  passwd  svnserve.conf

authz:
作用:authz 文件用于定义版本库的访问控制权限。它指定了哪些用户或用户组可以访问哪些目录和文件,以及他们拥有的权限级别(如读取、写入或无访问权限)。
hooks-env.tmpl:
作用:hooks-env.tmpl 是一个模板文件,用于设置 SVN 钩子(hooks)的环境变量。钩子是 SVN 在特定事件#(如提交或更新)发生时自动执行的脚本。
passwd:
作用:passwd 文件存储 SVN 用户的密码信息。它通常与 authz 文件一起使用,来控制对 SVN 版本库的访问。
格式:该文件包含用户名和加密后的密码对。它应该被妥善保护,以防止未授权访问。
svnserve.conf:
作用:svnserve.conf 是 SVN 服务器的配置文件。它控制着 SVN 服务器的各种行为,包括认证、授权和版本库的位置。
重要设置:在这个文件中,您可以定义 realm(认证域)、密码文件(passwd)、授权文件(authz)的位置,以及是否使用匿名访问等。
 

3.2 svnserve.conf配置


sudo vi svnserve.conf

anon-access = read 【控制非鉴权用户访问版本库的权限】

auth-access = write 【控制鉴权用户访问版本库的权限】

password-db = passwd 【指定用户名口令文件名,即访问时要输用户名和密码】

authz-db = authz

realm = /MyBackup/svn/MyBackups 【指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库】

多个svn库相同权限可以password-db指向同一个密码文件和authz-db指向同一个权限文件。

authz-db = ../../conf/authz

password-db = ../../conf/passwd

3.3 authz配置设置用户读写权限

sudo vi authz

3.4 passwd配置 用户名密码

sudo vi passwd

4、启动SVN服务

sudo svnserve -d -r /home/svn/# 查看SVN服务状态命令ps aux|grep svnserve# 杀死SVN进程 sudo killall svnserve

4.1 配置开机启动

#创建一个新的systemd服务文件。
vi /etc/systemd/system/svnserve.service#添加以下内容到文件中:
[Unit]
Description=Subversion protocol daemon
After=network.target[Service]
Type=forkingExecStart=svnserve -d -r //svn[Install]
WantedBy=multi-user.target
#重新加载systemd管理器的配置
systemctl daemon-reload
#启用svnserve服务以在开机时自动启动
systemctl enable svnserve.service
#立即启动svnserve服务而不需要重启
systemctl start svnserve.service
#检查svnserve服务状态
systemctl status svnserve.service

查看日志需要如下启动

svnserve -d -r /data/svn --log-file=/data/svn/repo/svnserve.log
 

http://www.lryc.cn/news/512264.html

相关文章:

  • HTML速查
  • day-102 二进制矩阵中的最短路径
  • SQL Server大批量数据插入
  • 在 Ubuntu 下通过 Docker 部署 Caddy 服务器
  • ZooKeeper注册中心实现
  • 数仓建模:如何进行实体建模?
  • Python编程技术
  • 「Mac玩转仓颉内测版55」应用篇2 - 使用函数实现更复杂的计算
  • map参数详解
  • OSI 七层模型 | TCP/IP 四层模型
  • 高转速风扇|无刷暴力风扇方案设计
  • GPU 进阶笔记(三):华为 NPU/GPU 演进
  • 计算机网络 (13)信道复用技术
  • 数据库约束和查询
  • 网工日记:FTP两种工作模式的区别
  • NLP模型工程化部署
  • 分布式版本管理工具——git 中忽略文件的版本跟踪(初级方法及高级方法)
  • 【LangChain】Chapter4 - Question and Answer Over Documents
  • TCP/IP 协议演进中的瓶颈,权衡和突破
  • 软件测试面试八股文,查漏补缺(附文档)
  • IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具
  • YOLOv10-1.1部分代码阅读笔记-transformer.py
  • 机器人革新!ModbusTCP转CCLINKIE网关揭秘
  • JWT包中的源码分析【Golang】
  • SpringBoot数据字典字段自动生成对应code和desc
  • TencentOS 2.4 final 安装mysql8.0备忘录
  • Hadoop HA安装配置(容器环境),大数据职业技能竞赛模块A平台搭建,jdk+zookeeper+hadoop HA
  • 使用javascript读取波形文件数据,并生成动态的波形图
  • 服务器系统维护与安全配置
  • 大模型Weekly 03|OpenAI o3发布;DeepSeek-V3上线即开源!