• svn 服务器部署


    系统环境:CentOS 7.x
    安装方式:yum install (源码安装容易产生版本兼容的问题)
    安装软件:系统自动下载SVN软件

    #检查是否安装了低版本的SVN
    [root@localhost /]# rpm -qa subversion

    #如果存储旧版本,卸载旧版本SVN
    [root@localhost modules]# yum remove subversion

    安装SVN

    [root@localhost modules]# yum install subversion

    检验已经安装的SVN版本信息 
    [root@localhost modules]# svnserve --version

    svnserve, version 1.7.14 (r1542130)
    compiled Apr 11 2018, 02:40:28

    Copyright (C) 2013 The Apache Software Foundation.
    This software consists of contributions made by many people; see the NOTICE
    file for more information.
    Subversion is open source software, see http://subversion.apache.org/

    The following repository back-end (FS) modules are available:

    * fs_base : Module for working with a Berkeley DB repository.
    * fs_fs : Module for working with a plain file (FSFS) repository.

    Cyrus SASL authentication is available.

    SVN软件安装完成后还需要建立SVN库 
    [root@localhost modules]# mkdir -p /opt/svn/repo
    [root@localhost modules]# svnadmin create /opt/svn/repo
    执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    进入上面生成的文件夹conf下,进行配置 
    [root@localhost modules]# cd /opt/svn/repo/conf

    [root@localhost password]# cd /opt/svn/repos/conf
    [root@admin conf]# vim passwd
    修改passwd为以下内容:

    [users]# harry = harryssecret# sally = sallyssecret
    hello=123
    用户名=密码
    这样我们就建立了hello用户, 123密码
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    [root@admin conf]# vi + authz
    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

    #设置[/]代表根目录下所有的资源 [/] 或者写成[repl:/]
    hello = rw
    意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。
    如果是自己用,就直接是读写吧。
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    [root@admin conf]# vim svnserve.conf

    追加以下内容:

    [general]

    #匿名访问的权限,可以是read,write,none,默认为

    readanon-access=none

    #使授权用户有写权限

    auth-access=write

    #密码数据库的路径

    password-db=passwd

    #访问控制文件

    authz-db=authz

    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
    realm=/opt/svn/repositories
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    启动SVN

    svnserve -d -r /opt/svn/repo

    查看SVN进程

    [root@localhost conf]# ps -ef|grep svn|grep -v grep
    root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repo

    检测SVN 端口

    [root@localhost conf]# netstat -ln |grep 3690
    tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

    停止重启SVN

    [root@localhost password]# killall svnserve //停止 
    [root@localhost password]# svnserve -d -r /opt/svn/repo // 启动

    如果已经有svn在运行,可以换一个端口运行
    svnserve -d -r /opt/svn/ --listen-port 3391

    测试

    SVN服务已经启动,使用客户端测试连接。 
    客户端连接地址:svn://192.168.15.231
    用户名/密码: hello/123
    测试创建文件夹等操作。

    创建版本库:
    终端输入:svnadmin create [路径]
    该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。

    将文件导入版本库:
    终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
    源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
    例如将当前目录导入版本库myproject:
    svn import . file:///home/user/svn/myproject -m"导入文件"

    从版本库导出:
    导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
    终端输入:svn co [版本库路径] [导出目标路径]
    例如将myproject库中的文件导出到当前目录:svn cofile:///home/user/svn/myproject .

  • 相关阅读:
    HTTP协议
    UI- 不易记知识点汇总
    UI- 五种手势识别总结
    idea整合 springboot jsp mybatis
    xml和map互转工具类
    ajax请求案例
    java加密工具类,可设置对应的加解密key
    ajax请求正常,返回json格式,后台没问题,浏览器500
    通过工具SecureCRTPortable将项目部署到服务器上
    修改idea自动生成在C盘的文件路径,以免电脑越用越卡
  • 原文地址:https://www.cnblogs.com/alex0702/p/9346781.html
Copyright © 2020-2023  润新知