什么是SVN,Linux环境如何安装最新版Svn服务(yum安装1.14.1)

article/2025/11/7 9:22:42

目录

  • 前言
  • 1、安装及卸载
    • 2.1 查看安装情况
    • 2.2 直接安装(不推荐)
    • 2.3 最新版本安装(推荐)
    • 2.4 卸载
  • 2、创建svn工作目录
  • 3、创建svn项目仓库
  • 4、为svn仓库设置用户权限
    • 4.1 新增用户
    • 4.2 配置用户权限
  • 5、配置svnserve.conf
  • 6、启动
  • 7、新增仓库及用户
  • 8、配置开机自启
  • 9、配置http服务(非必须)
    • 9.1 查看http-svn安装情况
    • 9.2 安装
    • 9.3 修改subversion.conf配置
    • 9.4 创建第一个用户(新增后需要设置权限)
    • 9.5 新增、删除用户(新增后需要设置权限)
    • 9.6 设置用户权限
    • 9.7 配置httpd权限
    • 9.9 修改http端口
    • 9.9 测试

前言

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

1、安装及卸载

2.1 查看安装情况

rpm -qa subversion

在这里插入图片描述

2.2 直接安装(不推荐)

安装方式有两种,一种是yum直接安装,另外一个是通过修改yum安装的方式进行安装;

如果直接使用yum,那么安装的默认版本为1.7.14,如下:

2.3 最新版本安装(推荐)

如果已经按照过了老版本,一定要进行卸载操作;

查看版本号:https://opensource.wandisco.com/centos/
在这里插入图片描述
在这里插入图片描述

1、配置WandiscoSVN

vim /etc/yum.repos.d/wandisco-svn.repo

内容如下:

[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/
enabled=1
gpgcheck=0

其中svn-1.14表示安装的svn版本号,通过这样的方式就可以覆盖原有的yum安装版本,直接安装最新的1.4.1版本

2、安装:

yum -y install subversion

在这里插入图片描述

2.4 卸载

如果服务器已经安装过了svn,通过以下命令进行卸载:

yum remove subversion

2、创建svn工作目录

mkdir -p /opt/svn/repos/

3、创建svn项目仓库

比如:新增了一个项目名称叫做:svn-demo,创建仓库的命令如下:

svnadmin create /opt/svn/repos/svn-demo

目录结构:
当创建完,项目仓库后,目录结构如下图所示:
在这里插入图片描述
在这里插入图片描述

目录含义:

  • conf:文件夹,存放配置文件
    • authz:授权文件
    • passwd:用户信息,包含用户名与密码
    • svnserve.conf:svn配置文件,配置账号和权限文件
  • db:版本数据存储目录
  • hooks:版本库勾子目录
  • locks:存储库锁目录,用来跟踪库的访问

4、为svn仓库设置用户权限

4.1 新增用户

passwd文件中,设置用户密码,格式为userName=Password,比如:

admin=123456

在这里插入图片描述

4.2 配置用户权限

authz文件中,设置用户权限,格式为userName=Auth

如果设置为*=则表示其他用户无任何权限

权限由权限目录用户映射关系组成

  • [/]: 表示用户可以访问整个目录;
  • [/test] :表示用户只能访问test目录;
  • userName=Auth:表示用户对应的权限值;

权限值分为三类:

  • r: 表示读权限
  • w: 表示写权限
  • rw: 表示可读可写权限

比如:

# admin 具有读写权限,并且可以操作所有目录
[/]
admin = rw;
*=# admin 具有读写权限,只能操作test目录
[/test]
zhangsan = rw;
*=

5、配置svnserve.conf

vim svnserve.conf

内容如下:

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

6、启动

svnserve -d -r /opt/svn/repos  --listen-port=3690 --config-file=/opt/svn/repos/svn-demo/conf/svnserve.conf

/opt/svn/repos为svn根目录

测试:
访问地址:svn://ip:3690/svn-demo,svn-demo为svn项目仓库名称;

7、新增仓库及用户

如果新增一个svn仓库,只需要重复上述的3、4、5、6这四个步骤即可;
可以不用重启svn服务;

8、配置开机自启

1、创建svnserver.service文件:

vim /lib/systemd/system/svnserve.service

2、内容:

[Unit]
Description=SVN Server service  
After=network.target[Service]
Type=forking
ExecStart= /usr/bin/svnserve -d -r /opt/svn/repos  --listen-port=3690 --config-file=/opt/svn/repos/svn-demo/conf/svnserve.conf[Install]
WantedBy=multi-user.target

3、开启自启与启动:

systemctl enable svnserve.servicesystemctl start svnserve.service

9、配置http服务(非必须)

完成上述前8步配置后,已经可以正常使用;通过配置http服务后,可以直接在浏览器端进行访问,但是如果要使用http服务,那么需要配置额外的用户和权限;

9.1 查看http-svn安装情况

ls /etc/httpd/modules/ | grep svn

在这里插入图片描述

ls: cannot access /etc/httpd/modules/: No such file or directory表示没有安装

9.2 安装

yum  -y install mod_dav_svn

在这里插入图片描述
查看安装结果:

ls /etc/httpd/modules/ | grep svn

在这里插入图片描述

9.3 修改subversion.conf配置

vim /etc/httpd/conf.d/subversion.conf

修改<Location />标签设置与http与svn的映射,一个<Location />标签表示一个项目仓库,比如:

<Location /svn-demo>  DAV svn  SVNPath /opt/svn/repos/svn-demo/          AuthType Basic  AuthName "Subversion repos"AuthUserFile /opt/svn/repos/svn-demo/conf/httpPasswdAuthzSVNAccessFile /opt/svn/repos/svn-demo/conf/authzRequire valid-user  
</Location>
  • svn-demo:svn仓库名称;
  • SVNPath:svn仓库路径;
  • AuthType:认证类型;
  • AuthName: 描述名称,任意值即可;
  • AuthUserFile:这个是http协议的访问账户密码文件,通过htpasswd命令创建;
  • AuthzSVNAccessFile:http权限认证文件,与svn的默认权限设置一样;
  • Require: 需要认证用户才可以访问;

9.4 创建第一个用户(新增后需要设置权限)

创建命令:

# 创建用户
htpasswd -c -m /opt/svn/repos/svn-demo/conf/httpPasswd root
  • -c:创建一个加密文件;只有第一次创建账户密码时使用;
  • -m:默认采用MD5算法对密码进行加密;
  • /opt/svn/repos/svn-demo/conf/httpPasswd:为AuthUserFile配置的路径;
  • root:创建的用户名称;

创建用户步骤:
在这里插入图片描述

9.5 新增、删除用户(新增后需要设置权限)

新增用户:

#  username:用户名, password:密码
htpasswd -mb /opt/svn/repos/svn-demo/conf/httpPasswd username password

在这里插入图片描述

删除用户:

# root为用户名
htpasswd -D root

9.6 设置用户权限

authz文件中,设置用户权限,格式为userName=Auth

如果设置为*=则表示其他用户无任何权限

权限由权限目录用户映射关系组成

  • [/]: 表示用户可以访问整个目录;
  • [/test] :表示用户只能访问test目录;
  • userName=Auth:表示用户对应的权限值;

权限值分为三类:

  • r: 表示读权限
  • w: 表示写权限
  • rw: 表示可读可写权限

比如:

/opt/svn/repos/svn-demo/conf/authz

内容:

# admin 具有读写权限,并且可以操作所有目录
[/]
root= rw;
*=# admin 具有读写权限,只能操作test目录
[/test]
zhangsan = rw;
*=

9.7 配置httpd权限

创建一个新的仓库后,也需要重新配置httpd权限

chown -R apache:apache /opt/svn/repos/svn-demo/

重启httpd服务:

service httpd restart

9.9 修改http端口

默认情况下,httpd的默认的端口为80,通过修改httpd.conf进行设置端口;

# 修改
vim /etc/httpd/conf/httpd.conf# 内容,比如修改端口为90
Listen 90

重启httpd服务:

service httpd restart

9.9 测试

配置http后,可以直接在浏览器中访问svn项目,比如访问svn-demo;

地址:http://162.14.119.135:90/svn-demo/
在这里插入图片描述


http://chatgpt.dhexx.cn/article/Oc9hTGm3.shtml

相关文章

Linux下安装SVN(图文详解)

Linux下安装SVN&#xff08;图文详解&#xff09; 本文以Centos6 x86_64&#xff0c;linux系统为例如果各位还需要了解Linux下安装其他软件&#xff0c;例如&#xff1a;MySQL&#xff0c;JDK&#xff0c;Nginx等&#xff0c;文章结尾处有小编的其他博文连接&#xff0c;谢谢关…

linux下安装svn服务

我的linux版本为centos 7.6&#xff0c;以此版本为例&#xff0c;进行svn服务的安装。 一、确认系统中是否已经安装svn&#xff0c;避免重复安装 svnservice --version 二、使用yum安装&#xff0c;一路确认即可 yum install subversion 三、创建svn目录&#xff0c;我是放…

Linux 安装SVN服务器 图解教程

前言&#xff1a; 现在主流企业常见的代码管理就是SVN,GIT&#xff0c;此文是在自己服务器上搭建仓库&#xff0c;其实远程仓库实际上和本地仓库没啥不同&#xff0c;纯粹为了7x24小时开机并交换大家的修改。如GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码…

Linux下SVN的安装与配置

简述 版本控制一直是项目开发中必不可少的&#xff0c;不仅有利于代码管理&#xff0c;而且对项目团队协作开发有很大的帮助。目前比较流行的版本控制管理有GIT和SVN&#xff0c;它们都有各自的优缺点&#xff0c;具体使用哪一个还是要看个人的喜好&#xff0c;它们功能也都是大…

Linux搭建SVN服务器详细教程

前言 本文讲解 Linux 系统下如何搭建 SVN 服务器&#xff0c;详细说明各配置项的功能&#xff0c;最终实现可管控多个项目的复杂配置。 SVN 是 subversion 的缩写&#xff0c;是一个开放源代码的版本控制系统&#xff0c;通过采用分支管理系统的高效管理&#xff0c;实现最终集…

Linux测试环境搭建步骤

Linux测试环境搭建步骤 准备工具&#xff1a; SecureCRT工具&#xff08;Linux工具&#xff0c;连接服务器&#xff09; FTP传输工具&#xff08;上传文件到服务器&#xff09; MySQL连接工具 安装包&#xff08;以下文件均为压缩包rpm格式和tar.gz&#xff09;&#xff1a…

测试环境服务器搭建

1.确定文件目录 主要通过df命令和du命令确定好磁盘大小以及磁盘使用情况&#xff0c;和磁盘剩余大小来判断项目以及软件安装到哪个目录 1.1df命令 df命令主要用来判断磁盘空间大小&#xff0c;使用情况、剩余情况&#xff0c;要看df的参数使用df --help查看即可&#xff0c;…

软测_1环境搭建

环境搭建 vm虚拟机下载地址以及测试所用到的软件 链接&#xff1a;https://pan.baidu.com/s/10HqWU23pXvOgUOULMsL2wA?pwdkm67 提取码&#xff1a;km67 阿里网盘可能会快一点 https://www.aliyundrive.com/s/NBt6Ka5yi91 苹果系统下载vmware 官网地址 解决办法 https://baiji…

linux中测试环境的搭建

1.VMware虚拟机的安装 参照&#xff1a;虚拟机VMware的下载与安装——详细教程_沐雨风栉的博客-CSDN博客_vmware下载安装教程 2.centos系统安装 参照&#xff1a;CentOS 的安装——超详细教程_沐雨风栉的博客-CSDN博客_centos安装 3.jdk安装 参照&#xff1a;Linux搭建测试…

软件测试环境的搭建及详解

前言 测试环境是QA开展测试工作的前置条件。稳定和可控的测试环境&#xff0c;可以使测试人员在执行测试用例时无需花费额外的时间去维护。有些公司运维或者研发部门会帮忙准备好测试环境&#xff0c;但是QA如果一味依赖其他部门&#xff0c;会局限测试工作的开展。 一、什么是…

如何搭建靠谱的测试环境

今天给大家分享测试环境的搭建与维护。 搭建良好的测试环境是执行测试用例的前提&#xff0c;也是完成测试任务顺利完成的保证。测试环境大体可分为硬件环境和软件环境&#xff0c;硬件环境包括测试必须的PC机&#xff0c;服务器&#xff0c;设备&#xff0c;网线&#xff0c;分…

面试题:关于搭建测试环境 (一)

最近去面试的时候遇到一个问题。 问我测试环境是怎么搭建的。 先别嘲笑我&#xff0c;我会自省3天。 作为一个测试人员&#xff0c;事实上&#xff0c;我真的从来没有完完全全是搭建一个测试环境。 更搞笑的是&#xff0c;我居然还停留在说保证什么运行平台&#xff0c;保证…

如何自己搭建测试环境

如何搭建测试环境&#xff1f; 1.我们主要安装三个软件 在Windows 10下搭建测试环境&#xff0c;需要安装tomcat。tomcat是一款主要用来web容器&#xff0c;作为中转站&#xff0c;用来解析和进行返回数据打包。 而tomcat是Java语言开发的软件&#xff0c;因为jak是Java语言的…

Linux搭建测试环境步骤

Linux搭建环境基础步骤 准备工具&#xff1a; SecureCRT工具&#xff08;Linux工具&#xff0c;连接服务器&#xff09; FTP传输工具&#xff08;上传文件到服务器&#xff09; MySQL连接工具 安装包&#xff08;以下文件均为压缩包rpm格式和tar.gz&#xff09;&#xff1a;…

Linux搭建测试环境(耗巨时制作全教程)

文章目录 前言一、安装dcoker1.1 安装yum工具1.2更新本地的镜像源1.3 安装docker1.4 启动docker1.5 配置镜像加速 二、安装nginx2.1 按照nginx的依赖包&#xff0c;一键安装2.2 下载并解压安装包2.3 安装nginx2.4 启动nginx服务2.5 编辑nginx的配置文件nginx.conf2.6 重启nginx…

如何搭建一个好的测试环境

测试环境在软件项目中的重要性不言而喻&#xff0c;测试环境独立及是否稳定直接影响了项目的进度。 测试环境&#xff08;Testing environment&#xff09;是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。简单的说&#xff0c;经过良好规划和管…

软件测试测试环境搭建很难?一天学会这份测试环境搭建教程

如何搭建测试环境&#xff1f;这既是一道高频面试题&#xff0c;又是困扰很多小伙伴的难题。因为你在网上找到的大多数教程&#xff0c;乃至在一些培训机构的课程&#xff0c;都不会有详细的说明。 你能找到的大多数项目&#xff0c;是在本机电脑环境搭建环境&#xff0c;或是…

测试环境的搭建

JDK的搭建 1.下载jdk1.8&#xff0c;选择jdk-8u202-windows-x64&#xff08;JDK是java软件开发包(Java Development Kit)的简称&#xff0c;要想开发java程序就必须安装JDK。没有JDK的话&#xff0c;无法编译运行Java程序。&#xff09; Index of java-local/jdk/8u202-b08 (…

【Python】Matplotlib画图(四)——折线图

环境 Python Mac OS 代码 # coding:utf-8""" Author: roguesir Date: 2017/8/30 GitHub: https://roguesir.github.com Blog: http://blog.csdn.net/roguesir """import numpy as np import matplotlib.pyplot as plt x1[20,33,51,79,101,1…

Python绘制简单的折线图,附详细代码和注释

本文利用Python绘制简单的折线图&#xff0c;需使用Matplotlib安装包&#xff0c;该安装包的安装可参考&#xff1a; Python中安装Matplotlib数学绘图库_Xx_Studying的博客-CSDN博客 绘制简单的折线图详细的python代码&#xff1a; import matplotlib.pyplot as plt # 导入…