zoukankan      html  css  js  c++  java
  • 阿里云Linux下搭建SVN服务端

    嗯,分了一个项目,要我们几个人写文档,改Bug,涉及到代码版本,所以想着在阿里云搭一个SVN服务。Git的感觉相比SVN有点复杂,初步尝试一下,大佬多多指点。

    准备工作

    看系统下有没有安装过老版本的svn:,如果没安装过则什么都不显示

    rpm -qa subversion

    第一步:通过yum命令安装svnserve,命令:

    yum -y install subversion

    此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行若需查看svn安装位置,可以用命令:

    rpm -ql subversion

     

    第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置,subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):

    mkdir -p  /var/svn/svnrepos

    第三步:创建svn版本库

    在第二步建立的路径基础上,创建版本库:(practice为目录(项目或版本库)名称,后面checkout项目时会用到。)

    svnadmin create /var/svn/practice

    创建成功后,进入practice目录下,可以看见如下文件信息:

    cd /var/svn/practice

     

    1. conf:是这个仓库配置文件(仓库用户访问账户,权限)
    2. format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
    3. hooks:放置hook脚步文件的目录
    4. locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

    第四步:配置修改

    进入conf,conf目录下,一共存放三份重要的配置文件,如下:

     

    • authz:负责账号权限的管理,控制账号是否读写权限
    • passwd:负责账号和密码的用户名单管理
    • svnserve.conf:svn服务器配置文件

     

    修改svnserve.conf:

    vim svnserve.conf

    原始文件内容,都被注释掉的,需要去掉指定内容前注释简单修改,这里注意内容前面不能有空格 如下:

    [general]

    anon-access = none                #控制非鉴权用户访问版本库的权限

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

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

    realm = practice                      #指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库

     

     修改authz文件信息:

    vim authz

    配置用户权限信息:用户分组,再设权限

    [groups]
    # 按用户组分权限
    admin = admin,admin1 # admin为用户组,等号之后的为用户
    test = test1, test2 # test为用户组,等号之后的为用户

    [/] # 表示svn仓库目录(/var/svn/test),test: 对应前面配置的realm = test
    @admin = rw # 表示admin组对仓库(/var/svn/practice)目录有读写权限,r为读,w为写
    @test = r # 表示test组的用户对对仓库(/var/svn/practice)目录只有读的权限

    [/test1] # 表示test1目录(/var/svn/practice/test1)
    @test = rw # 表示test组对test1目录有读写权限
    * =

     

    备注:版本库的目录格式如下:

    [<版本库>:/项目/目录]

    @<用户组名> = 权限

    <用户名> = 权限

    其中[]內容有許多写法:

    [/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

    [test:/],表示对版本库test设置权限;

    [test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

    [test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

     

    权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

    权限分为:r ,w, rw和null ,null空表示没有任何权限。

    auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

    修改passwd文件信息:这里是登录的用户名和密码的配置。

    vim passwd

     

     更改svnserver.conf时需要重启SVN服务才生效,更改authz,passwd文件时则不需要重启服务

    嗯,我的服务器不开防护墙的,所以不涉及防火墙的问题,subversion的默认端口为3690,这里需要登录阿里云控制台,添加一3690的安全组,暴露3690端口。遇到防火墙问题请百度一下吧,

    centOS 7 防火墙开启、关闭与查看状态:

    • systemctl start firewalld
      systemctl stop firewalld
      systemctl status firewalld

    第五步,启动svn服务器

    # -d : 守护进程  -r : svn数据根目录

    svnserve -dr /var/svn            #用root权限启动

    查看SVN服务:

    ps aux|grep svnserve               #默认端口为:3690

    设置开机启动

    在centos7, 设置开机启动:

    sudo systemctl enable svnserve.service 

    #注意:根目录必须是/var/svn 这样才能设置成功!!设置成功会弹出     create。。。。。

    设置开机启动后就可以按下面的方式开启或停止服务了

    1. systemctl start svnserve.service 
    2. systemctl stop svnserve.service

    第六步,检出项目

    画红线的地方是服务器IP

    之后输入用户名密码就OK

  • 相关阅读:
    jenkins更换国内源
    jenkins修改初始密码
    jenkins常用插件
    jenkins安装
    ResNet几种变体,以及DenseNet解释
    预测某个位置使用全局特征和使用周围特征的区别
    SPP Net作用
    yolov3 size说明,shortcut残差
    F.pad说明 用于pad操作
    自己的yolov3模型创建全流程
  • 原文地址:https://www.cnblogs.com/liruilong/p/12459835.html
Copyright © 2011-2022 走看看