• Ubuntu22.0.4安装svn服务


    1、检查是否已安装

    1.1、检查是否已安装

    svnserve --version
    
    • 1

    1.2、删除SVN遗留文件

    sudo apt-get remove --purge subversion
    
    • 1

    2、安装svn

    apt-get install subversion
    
    • 1

    3、新建存储目录

    sudo mkdir  /data/svn
    sudo mkdir  /data/svn/repository
    
    • 1
    • 2

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

    sudo chmod -R 777 /data/svn/repository
    
    • 1

    5、创建SVN版本库

    sudo svnadmin create /data/svn/repository
    
    • 1

    6、赋予db权限

    cd /data/svn/repository
    sudo chmod -R 777 db
    
    • 1
    • 2

    7、配置SVN-认证机制

    cd /data/svn/repository/conf
    sudo vim svnserve.conf
    
    • 1
    • 2

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

    • 匿名用户可读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。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    8、配置SVN-用户权限

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

    修改p2的svnserve.conf文件:

    anon-access = none
     auth-access = write 
     password-db = /var/svn/conf/passwd 
     authz-db = /var/svn/conf/authz 
     realm = p2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 修改password文件
      sudo vim passwd
    [users]
    a= 123
    b= 123
    c= 123
    d= 123
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 修改authz文件
     [groups] //分组
     p1user = a,b
     p2user = c,d
     ​
     [/]
     * = #以上没有定义的用户都没有任何权限
    ​
     [p1:/] //p1的访问控制,c、d无法访问
     @p1user = rw
     ​
     [p2:/] //p2的访问控制,a、b无法访问
     @p2user = rw
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    配置SVN-访问用户

    sudo vim passwd
    
    • 1

    设置密码

    [users]
    user1 = 123
    user2 = 123
    
    • 1
    • 2
    • 3

    启动服务器

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

    svnserve -d -r /data/svn
    
    • 1

    查看svnserve是否已经运行

    ps aux | grep svnserve
    
    • 1

    关闭服务

    killall svnserve
    
    • 1

    访问

    单项目
    svn://ip地址/repository
    
    • 1
    多项目
     访问项目p1 URL
     svn://IP/p1
     ​
     访问项目p2 URL
     svn://IP/p1
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    俄罗斯方块
    惹恼开源社区!微软道歉:恢复 .NET SDK 热重载功能
    高三高考免费试卷真题押题知识点合集
    Spring底层原理(三)
    SQLite的DBSTAT 虚拟表(三十六)
    oauth2.0授权码模式详解
    windows线程同步与互斥
    Sui Move Object讲解
    uni-app打包iOS ipa文件后不上架App store为用户提供下载解决过程记录
    MediaCodec原理与流程(重生之我要成为音视频开发大腕)
  • 原文地址:https://blog.csdn.net/qq_34915141/article/details/134016754