• SVN 部署(基于 Linux)


    1、通过 yum 命令安装 svnserve,命令如下:

    # 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
    yum -y install subversion
    
    # 若需查看svn安装位置,可以用以下命令:
    rpm -ql subversion

    2、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

    # 选择在 var 路径下创建版本库,当前处于根目录下,一次性创建如下:
    mkdir /var/svnrepos

    3、创建 svn 版本库

    # 在第二步建立的路径基础上,创建版本库,命令如下:
    svnadmin create /var/svnrepos/xxxx   (xxxx为你预期的版本库名称,可自定义)
    
    # 创建成功后,进入 xxxx 目录下
    cd /var/svnrepos/xxxx
    
    # 进入目录,可以看见如下文件信息:
    total 24
    drwxr-xr-x 2 root root 4096 May  2 13:48 conf
    drwxr-sr-x 6 root root 4096 May  2 13:48 db
    -r--r--r-- 1 root root    2 May  2 13:48 format
    drwxr-xr-x 2 root root 4096 May  2 13:48 hooks
    drwxr-xr-x 2 root root 4096 May  2 13:48 locks
    -rw-r--r-- 1 root root  229 May  2 13:48 README.txt

    4、配置修改

    # 进入已经创建好的版本库目录下,也就是前文说创建的 xxxx,进入 conf
    cd /var/svnrepos/xxxx/conf
    
    # conf 目录下,一共存放三份重要的配置文件,如下:
    total 12 -rw-r--r-- 1 root root 1080 May  2 13:48 authz
    -rw-r--r-- 1 root root  309 May  2 13:48 passwd 
    -rw-r--r-- 1 root root 3090 May  2 13:48 svnserve.conf
    
    # authz:负责账号权限的管理,控制账号是否读写权限
    # passwd:负责账号和密码的用户名单管理
    # svnserve.conf:svn 服务器配置文件
    • 编辑 authz 文件(注意:[/] 也是必须的

     

    # 用户组(权限分组管理,组名 = 用户1,用户2)
    [groups]
    teacher = zhengying,zhugc
    class1 = zhangsan
    
    # 拥有根目录(版本库)下权限的用户组配置,r 代表可读权限--可以从 svn 服务器上dowm 资料,但是不能上传和删除资料;rw 代表可读可写权限--可以从 svn 服务器上dowm 资料,也可以上传和删除资料
    [/]
    @teacher = rw
    
    # 拥有版本库下 class1 文件夹权限的用户组配置(xinfs 为版本库)
    [xinfs:/class1]
    @class1 = rw
    • 编辑 passwd 文件,管理用户密码(用户名 = 密码)

     

    • 编辑 svnserve.conf 文件,取消下面几行注释注意:配置的前面不能有空格,一定要顶格写

     

    anon-access = none    # 表示禁止匿名用户访问。
    auth-access = write    # 表示授权用户拥有读写权限。
    password-db = passswd    # 指定用户名口令文件,即 passwd 文件。
    authz-db = authz    #指定权限配置文件,即 authz 文件。
    realm = /var/svnrepos    # 指定认证域,即 /var/svnrepos 目录。

    5、防火墙开启(iptable 防火墻

    • 多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】
    vi /etc/sysconfig/iptables    # 添加配置信息
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
    
    wq:    # 保存退出
    
    service iptables restart    # 重启防火墙使配置生效

    6、启动 svn 服务器(注意:重启命令中不要带入版本号)

    svnserve -d -r /var/svnrepos    # 启动 svn 服务
    
    ps -ef | grep 'svnserve'    # 查看 svn 进程

    7、客户端访问 svn 服务器

    • 在 windows 客户端,输入地址:svn://ip地址:3690/xxxx   (IP 地址为你 linux 的 IP,xxxx 为前文创建的版本库名称,3690 为 svn 默认端口)
      • 弹出输入用户名和密码,输入即可访问
    • 或者在 linux 服务器输入命令测试
      • svn co svn://ip地址:3690/xxxx
    • 如下为例子:

     

    8、问题

    • 输入账号密码后,提示 svn: Authorization failed 解决办法
      • 把 authz 文件 [/] 改为 [] 试试
  • 相关阅读:
    Visual Studio 出现生成错误 ,要继续并运行上次的成功生成吗?
    postgresql迁mysql之后兼容性问题
    Java中把十进制转为二进制(判断有效的ip地址和掩码)
    Java中如何把整数变为二进制输出
    Java二进制与十进制转换及位运算
    面试知识点总结之开放性问题
    面试知识点总结之常用设计模式
    linux下VIRT,RES,SHR的含义
    JSP JS 日期控件的下载、使用及注意事项
    Html5实现头像上传和编辑,保存为Base64的图片过程
  • 原文地址:https://www.cnblogs.com/ZhengYing0813/p/11693604.html
Copyright © 2020-2023  润新知