首页 > 其他分享 >SVN服务器部署

SVN服务器部署

时间:2023-08-13 09:23:50浏览次数:44  
标签:SVN svn group 部署 server project svnserve conf 服务器

SVN服务器安装与配置

[SVN 安装](SVN 安装 | 菜鸟教程 (runoob.com))

SVN 创建版本库

linux下搭建SVN服务器完全手册

官方文档

一、安装

详见教程:https://www.runoob.com/svn/svn-install.html

二、创建版本库

  1. 新建一个目录用于存储SVN所有文件

    # mkdir /home/svn
    
  2. 新建一个版本仓库

    # svnadmin create /home/svn/project
    
  3. 初始化版本仓库中的目录

    # mkdir project project/server project/client project/test (建立临时目录)
    # svn import project/ file:///home/svn/project -m "初始化SVN目录"
    # rm -rf project (删除临时建立的目录)
    # sudo chmod -R 777 /home/svn/project
    # sudo chmod -R 777 project
    
  4. 配置文件 svnserve.conf

    svn 服务配置文件为版本库目录中的文件 conf/svnserve.conf。该文件仅由一个 [general] 配置段组成。

    [general]
    anon-access = none
    auth-access = write
    password-db = /home/svn/project/conf/passwd
    authz-db = /home/svn/project/conf/authz
    realm = tiku 
    
    • anon-access: 控制非鉴权用户访问版本库的权限,取值范围为 "write"、"read" 和 "none"。 即 "write" 为可读可写,"read" 为只读,"none" 表示无访问权限,默认值:read。
    • auth-access: 控制鉴权用户访问版本库的权限。取值范围为 "write"、"read" 和 "none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write。
    • authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz。
    • realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
  5. 用户名口令文件 passwd

    用户名口令文件由 svnserve.conf 的配置项 password-db 指定,默认为 conf 目录中的 passwd。该文件仅由一个 [users] 配置段组成。

    [users] 配置段的配置行格式如下:

    <用户名> = <口令>
    [users]
    admin = admin
    thinker = 123456
    
  6. 用户名口令文件 passwd

    用户名口令文件由 svnserve.conf 的配置项 password-db 指定,默认为 conf 目录中的 passwd。该文件仅由一个 [users] 配置段组成。

    [users] 配置段的配置行格式如下:

    <用户名> = <口令>
    
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    pm = pm_pw
    server_group = server_pw
    client_group = client_pw
    test_group = test_pw
    
  7. 权限配置文件

    1. 权限配置文件由 svnserve.conf 的配置项 authz-db 指定,默认为 conf 目录中的 authz。该配置文件由一个 [groups] 配置段和若干个版本库路径权限段组成。

      [groups]配置段中配置行格式如下:

      <用户组> = <用户列表>
      
    • 方式一:-r直接指定到版本库(称之为单库svnserve方式)

    •   svnserve -d -r /home/svn/project
      
    • 在这种情况下,一个svnserve只能为一个版本库工作。

    • authz配置文件中对版本库权限的配置应这样写:

    •   [groups]
        admin=user1
        dev=user2
        [/]
        @admin=rw
        user2=r
      
    • 方式二:指定到版本库的上级目录(称之为多库svnserve方式)

    • 版本库路径权限段的段名格式如下:

    •   [<版本库名>:<路径>] 
        [groups]
        project_p = pm
        project_s = server_group
        project_c = client_group
        project_t = test_group
        
        [project:/]
        @project_p = rw
        * =
        
        [project:/server]
        @project_p = rw
        @project_s = rw
        * =
        
        [project:/client]
        @project_p = rw
        @project_c = rw
        * =
        
        [project:/doc]
        @project_p = rw
        @project_s = rw
        @project_c = rw
        @project_t = rw
        * =
      
    • 以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.

    • 本例是使用 svnserve -d -r /home/svn 以多库 svnserve 方式启动 SVN,所以 URL:svn://192.168.0.1/project

  8. 测试服务器

    # svn co svn://192.168.60.10/project
    Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
    Password for 'root':
    Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
    Username: server_group
    Password for 'server_group':
    svn: Authorization failed ( server_group没用根目录的访问权 )
    
    # svn co svn://192.168.60.10/project
    Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
    Password for 'root':
    Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
    Username: pm
    Password for 'pm':
    A    project/test
    A    project/server
    A    project/client
    Checked out revision 1.  ( 测试提取成功 )
    
    # cd project/server
    # vim main.c
    # svn add main.c
    # svn commit main.c -m "测试一下我的C程序,看什么看,不行啊??"
    Adding         main.c
    Transmitting file data .
    Committed revision 2.  ( 测试提交成功 )
    

三、其他命令

命令 说明
netstat -nltp|grep 3690 查看3690的进程号
svn checkout svn://192.168.1.150/data_repo --username=zhg --password=123 用zhg账号检出项目
svnserve -d -r /home/svn --log-file /home/svn/data_repo_log/svn.log 启动svn并将日志保存到文件中

标签:SVN,svn,group,部署,server,project,svnserve,conf,服务器
From: https://www.cnblogs.com/simpleness/p/17626138.html

相关文章

  • 读发布!设计与部署稳定的分布式系统(第2版)笔记30_为部署而设计
    1. 部署行为是系统生命的重要组成部分1.1. 只编写代码是不够的,只要没有在生产环境中运行,一切都不算完成1.2. 要想取得成功,需要早早地频繁部署软件1.3. 设计易于部署的软件非常有必要1.4. 零停机部署就是目标2. 机器与服务2.1. 机器是可配置的操作系统实例2.1.1. ......
  • 活字格-Linux部署
    活字格-Linux部署什么是活字格?活字格是一个企业级低代码开发平台,旨在显著提升企业或者软件公司应用系统的开发效率,同时提供前所未有的灵活性和扩展性,开发人员可以使用涵盖整个开发生命周期的集成开发环境(活字格设计器,服务管理器)进行开发、质量检测、部署、监控和管理。什么需......
  • CentOS 批量部署用户免密服务器
    一、前言在Linux系统中,SSH(SecureShell)是一种常用的远程登录和文件传输协议。传统的SSH登录需要输入用户密码,既不方便也不安全。为了解决这个问题,我们可以部署SSH的公钥认证,即免密登录。本文将详细介绍如何在CentOS上批量部署用户免密服务器。二、准备环境1台CentOS7.x的服务器(本......
  • CentOS系统上部署PXE服务器步骤
    安装Apache首先,需要安装Apache服务器。可以使用以下命令安装:yuminstallhttpd配置Apache接下来,需要配置Apache服务器,使其能够正确响应PXE请求。在httpd.conf文件中,找到以下行:<Directory"/var/www/html">将该行的AllowOverride选项设置为All,以便能够使用.htaccess文件进行配置。然......
  • 知识付费系统源码独立部署版,小鹅通源码平替
    兔知课堂是专注于知识付费领域的应用。支持图文、音频、视频、直播等内容形式,实现内容产品化,可以把多个内容打包成专栏等形式,建立体系化的内容产品,满足系统学习需求。用户可以随时随地观看自己感兴趣的内容。 后台提供页面DIY,管理员可以自主搭建个性化知识店铺页面的功能。微页......
  • Postgres语言服务器介绍
    本文主要介绍Postgres的语言服务器。不是SQL的风格,只是Postgres。状态......
  • 端侧DNN部署——模型转换
    1端侧推理框架经验总结总结下最近用过的一些框架,并介绍他们的主要特点和转换过程。onnxruntimencnnmnntensorflowlitehuaweihiaipaddlelite2模型部署转换过程我们以torchvision库中的resnet50模型为例,介绍模型转换的过程。2.1pytorch转换到otherspytorch是目......
  • IDEA集成docker并快速部署Springboot项目
    前言:现在docker是我们常用的服务部署方式了,在微服务中对于springboot部署到docker一般有两种方式1、把jar包扔给运维同学,由他们进行编写dockerfile或者其他方式部署。(不推荐)2、由开发同学处理后把镜像或者容器上传到服务器(企业级常用方式)下面我们就通过demo来看下方式二......
  • 服务器常见问题答疑
    前篇#为什么要写这篇文章呢 现在属于网络时代,服务器的使用越来越广泛,网站搭建、软件开发、游戏开发和区块链等都是需要在服务器里操作搭建的,花时间写这篇文章是希望能有更多的人对服务器有更好的认识 一、##检查哪些尝试入侵服务器的ip命令ubuntu查看尝试登录服务器的ip,一般用......
  • 【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能
    三人禾openGauss2023-07-2917:58发表于四川收录于合集#第六届openGauss技术文章征集初审合格文章62个概要openGauss的安装在官方文档的描述中,以企业生产环境为标准进行安装部署较为详细。但在个人基本的功能测试需求下,这样的安装操作显得有些复杂。极简版安装的使用主体主要针......