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

Ubuntu22.0.4安装svn服务

1、检查是否已安装

1.1、检查是否已安装

svnserve --version

1.2、删除SVN遗留文件

sudo apt-get remove --purge subversion

2、安装svn

apt-get install subversion

3、新建存储目录

sudo mkdir  /data/svn
sudo mkdir  /data/svn/repository

4、更改文件夹的读写权限

sudo chmod -R 777 /data/svn/repository

5、创建SVN版本库

sudo svnadmin create /data/svn/repository

6、赋予db权限

cd /data/svn/repository
sudo chmod -R 777 db

7、配置SVN-认证机制

cd /data/svn/repository/conf
sudo vim svnserve.conf

简单的修改几处配置:(去掉前面的#,并且顶格,不然可能会报错)

  • 匿名用户可读anon-access = read(可改成none,即不可读)
  • 权限用户可写auth-access = write
  • 密码文件为password-db = passwd
  • 权限文件为authzauthz-db = authz

配置项含义:

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。

8、配置SVN-用户权限

sudo vim authz
8.1、直接用户权限
[/] //所有项目
user1 = rw
user2 = rw
* = r   //所有的组都具有读权限
8.2、用户组
[groups]
admin =user1,user2  //admin用户组由账户user1,user2组成[/] //所有项目
@admin = rw   //admin用户组具有读(r)写(w)权限
* = r   //所有的组都具有读权限
8.3、多项目管控
  • 创建项目
cd /data/svn
svnadmin create p1
svnadmin create p2
  • 创建管理用户权限
cd /data/svn/repository/conf
mkdir -p /data/svn/conf
cp authz passwd  /data/svn/conf/
  • 修改p1的svnserve.conf文件:
 anon-access = noneauth-access = write password-db = /data/svn/conf/passwd authz-db = /data/svn/conf/authz realm = p1 

修改p2的svnserve.conf文件:

anon-access = noneauth-access = write password-db = /var/svn/conf/passwd authz-db = /var/svn/conf/authz realm = p2
  • 修改password文件
    sudo vim passwd
[users]
a= 123
b= 123
c= 123
d= 123
  • 修改authz文件
 [groups] //分组p1user = a,bp2user = c,d​[/]* = #以上没有定义的用户都没有任何权限
​[p1:/] //p1的访问控制,c、d无法访问@p1user = rw​[p2:/] //p2的访问控制,a、b无法访问@p2user = rw

配置SVN-访问用户

sudo vim passwd

设置密码

[users]
user1 = 123
user2 = 123

启动服务器

启动地址为仓库/home/svn/repos的上级目录/home/svn。

svnserve -d -r /data/svn

查看svnserve是否已经运行

ps aux | grep svnserve

关闭服务

killall svnserve

访问

单项目
svn://ip地址/repository
多项目
 访问项目p1 URLsvn://IP/p1​访问项目p2 URLsvn://IP/p1
http://www.lryc.cn/news/206511.html

相关文章:

  • GNSS边坡位移监测仪在自然灾害应急能力提升工程领域的应用
  • k8s客户端配置
  • 网络套接字编程
  • Node编写更新用户信息接口
  • Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题
  • 单片机仿真设计打包项目
  • Java练习题-输出二维数组对角线元素和
  • Python调用ctype的动态库时出现的问题记录
  • 面试算法38:每日温度
  • 流程控制语句中的顺序结构、分支结构和循环结构以及示例和详细代码解释为什么这样写(1)
  • MFC Windows 程序设计[334]之自定义编辑框(附源码)
  • MOS管特性及其几种常用驱动电路详解,电子工程师手把手教你
  • C#,数值计算——分类与推理Phylo_wpgma的计算方法与源程序
  • Spring MVC 常用的注解
  • winodos下使用VS2022编译eclipse-paho.mqtt.c并演示简单使用的 demo
  • 【Java 进阶篇】使用 Java 和 Jsoup 进行 XML 处理
  • QT图形视图框架绘制曲线图和Smith图
  • 0032【Edabit ★☆☆☆☆☆】【每秒帧数】Frames Per Second
  • 【LeetCode】1423 可获得的最大点数(中等题)
  • 2024年天津中德应用技术大学专升本物流管理专业课考试大纲
  • 目标检测YOLO实战应用案例100讲-船舶目标检测及编队识别(续)
  • 【MySQL索引与优化篇】索引的数据结构
  • Qt Widget 删除之后还会显示 问题
  • 关系型数据库的问题和NoSQL数据库的应用
  • 二进制安装k8s
  • 超简洁ubuntu linux 安装 cp2k
  • 判断日期区间或季节等
  • 入门人工智能 —— 学习数据持久化、使用 Python 将数据保存到mysql(7)
  • c语言从入门到实战——分支和循环
  • 交易所(Exchange, ACM/ICPC NEERC 2006, UVa1598)rust解法