zoukankan      html  css  js  c++  java
  • 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 .

  • 相关阅读:
    vue中的 computed 和 watch 的区别
    mysql8.0 初始化数据库及表名大小写问题
    sql server alwayson 调整数据文件路径
    zabbix 自定义监控 SQL Server
    mysql 创建用户及授权
    mysql 设置从库只读模式
    mysql8.0 主从复制安装及配置
    centos8.0安装mysql8.0
    centos8替换阿里数据源
    npm publish 报错 【you or one of your dependencies are requesting a package version that is forbidden by your security policy】
  • 原文地址:https://www.cnblogs.com/alex0702/p/9346781.html
Copyright © 2011-2022 走看看