首页 > 系统相关 >Centos7 下的SVN安装与配置

Centos7 下的SVN安装与配置

时间:2023-03-22 10:11:18浏览次数:31  
标签:SVN svnserve heyong svn root Centos7 conf home 安装

```
Centos7 下的SVN安装与配置
1.关闭防火墙

    临时关闭防火墙
    systemctl stop firewalld
     
    永久防火墙开机自关闭
    systemctl disable firewalld
     
    临时打开防火墙
    systemctl start firewalld
     
    防火墙开机启动
    systemctl enable firewalld
     
    查看防火墙状态
    systemctl status firewalld

2.关闭SELinux

    临时关闭SELinux
    setenforce
     
    临时打开SELinux
    setenforce
     
    查看SELinux状态
    getenforce
     
    开机关闭SELinux
    编辑/etc/selinux/config文件,如下图,将SELINUX的值设置为disabled。下次开机SELinux就不会启动了。

3.安装svn

    yum install subversion  -y

查看版本

    [root@heyong ~]# svn --version
    svnserve, version 1.7. (r1542130)
    compiled Apr  , ::
     
    Copyright (C)  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.

4.创建SVN版本库

    4.1单版本库管理案例
    在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面会多出几个文件夹。

    [root@heyong ~]# mkdir -p /home/svn
    [root@heyong ~]# svnadmin create /home/svn
    
    [root@heyong ~]# ls /home/svn
    conf  db  format  hooks  locks  README.txt
    [root@heyong ~]# cd /home/svn/conf/
     
    [root@heyong conf]# ll
    total
    -rw-r--r--  root root  Oct  : authz
    -rw-r--r--  root root   Oct  : passwd
    -rw-r--r--  root root  Oct  : svnserve.conf
     
    其中:
    authz 是权限控制文件
    passwd 是帐号密码文件
    svnserve.conf 是SVN服务配置文件
    
    
    
    4.2多版本库管理案例(一个项目一个仓库)
    [root@heyong ~]# mkdir -p /home/svn/myproject   仓库保存总目录,以后总目录可以对应其下面的项目
    [root@heyong ~]# mkdir -p /home/svn/myproject/ts3000    在总目录创建多个仓库
    [root@heyong ~]# mkdir -p /home/svn/myproject/ts4000    在总目录创建多个仓库
    [root@heyong ~]# svnadmin create /home/svn/myproject/ts3000    使用命令创建版本库
    [root@heyong ~]# svnadmin create /home/svn/myproject/ts4000    使用命令创建版本库
    
    [root@localhost conf]# pwd    进入对应项目仓库目录下将authz passwd文件拷贝到myproject目录下
    /home/svn/myproject/ts3000/conf
    [root@localhost conf]# cp authz passwd ../../   总仓库使用统一配置
    修改ts3000/conf下的svnserve.conf文件,将其中的passwd文件、authz文件指定路径修改,其他按正常svn配置。
    (ts4000同样设置一遍)

    [root@localhost conf]# pwd
    /home/svn/myproject/ts3000/conf
    [root@localhost conf]# grep -v "^#" svnserve.conf
    [general]
    anon-access = none    #默认是read,不修改会有问题,show log也有问题
    
    auth-access = write
    password-db = ../../passwd
    authz-db = ../../authz
    realm = /home/svn/myproject/ts3000
    
    
5.配置passwd(创建用户)
    5.1单仓库
    [root@heyong conf]# vim passwd
    [users]
    test1=
    test2=

    5.2多仓库  修改刚复制出来的authz、passwd文件
    [root@localhost ~]# cd /home/svn/myproject/
    [root@localhost myproject]# ls
    authz  passwd  ts3000  ts4000
    [root@localhost myproject]# grep -v "^#" passwd
    [users]
    wangqs = abc/123
    test1 = abc/123
    test2 = abc/123
    
6.配置authz

    [root@heyong conf]# vi authz
     
    [/]
    admin=rw    #对/home/svn/下所有文件具有可读可写权限;
    test1=r    #只有只读权限;
    test2=r    #只有只读权限
    *=        #其它用户均无任何权限

7.使用用户分组

    [root@heyong conf]# vi authz
     
    [groups]
    group1 = admin
    group2 = test1,test2
     
    [/]
    @group1 = rw      #对/home/svn/下所有文件具有可读可写权限;
    @group2 = r      #只有只读权限;
    * =      #其它用户无任何权限
    
    多仓库分组
    [root@localhost myproject]# grep -v "^#" authz
    [groups]
    admin = wangqs
    dev = test1,test2
    
    [/]
    @admin = rw
    @dev = r
    * =


8.配置svnserve.conf
    8.1单仓库
    [root@heyong conf]# vim svnserve.conf
     
    打开下面的5个注释
    anon-access = read   #匿名用户可读   read改为none否则报错
    auth-access = write   #授权用户可写
    password-db = passwd     #使用哪个文件作为账号文件
    authz-db = authz       #使用哪个文件作为权限文件
    realm = /home/svn    # 认证空间名,版本库所在目录
    8.2多仓库
    详见4.2
    

注意:

最后一行的realm记得改成你的svn目录

打开注释时切记前面不要留有空格,否则可能有问题
9.启动与停止

    [root@heyong conf]# svnserve -d -r /home/svn(启动)
    [root@heyong conf]# svnserve -d -r /home/svn/myproject  多仓库案例启动到总仓库,不是到库目录
     
    [root@heyong conf]#killall svnserve(停止)

注意:

上述启动命令中,-d表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式
10.客户端连接

    TortoiseSVN中使用地址svn://你的IP ,输入用户名和密码就能连接成功。(这里只输入到IP,不输入后面的库名,否则会报错)
     
    默认端口3690,如果你修改了端口,那么要记得加上端口号。

    多仓库案例访问及检出
    仓库1的检出地址:svn://ip地址/ts3000
    仓库1的检出地址:svn://ip地址/ts4000
     

修改默认端口

    第一种方法:
    svnserve -d -r /mnt/svn --listen-port 端口号
     
    第二种方法:
    svnserve -d -r /mnt/svn --listen-host IP+端口号
    
开机自启动   ##重点关闭防火墙和selinux 否则报错权限不足
    # chmod u+x /etc/rc.d/rc.local   这个文件需要先加上可执行权限
    # systemctl start rc-local
    # systemctl enable rc-local
    # systemctl status rc-local.service
# vi /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
...
...
svnserve -d -r /home/svn/myproject   添加此行   也可以/usr/bin/svnserve
touch /var/lock/subsys/local

第二种方法:
1、查看下面文件得知/etc/sysconfig/svnserve
[root@localhost ~]#  vi  /lib/systemd/system/svnserve.service
2、[root@localhost ~]# vi /etc/sysconfig/svnserve
OPTIONS="-r /home/svn/myproject"   #-r 后面指定svn库的目录 (这个路径最好从配置文件拷贝,要兼容字符编码问题)

3、[root@localhost ~]# systemctl enable svnserve   设定开启自启动

# netstat  -ntlp | grep svnserve    重启系统验证是否自动启动


11.启动时遇到的问题

1.启动svnserve时出现cannot bind server socket:address already in use

解决方法:

    方法一:找出svnserve id 杀死掉进程
    netstat -ntlp
    kill - id
     
    方法二:重新指定一个端口号(默认端口3690)
    svnserve -d --listen-port 端口号 -r /opt/svndata/repos

2.启动svnserve时出现svnserve.conf:12: Option expected的问题解决方法

svnserve.conf:12: Option expected

解决方法:

    因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,删除前置空格即可;
    如:anon-access = read

3.检查是否启动成功:(查看是否存在svnserve 进程)

    [root@heyong svn]# ps -ef|grep svnserve
    root               : ?        :: svnserve -d -r /home/svn
    root          : pts/    :: grep --color=auto svnserve

12.svn常见路径说明

1.查询安装的包

    [root@heyong svn]# rpm -qa|grep subversion
    subversion-libs-1.7.-.el7.x86_64
    subversion-1.7.-.el7.x86_64

2.svn几个常用目录

    /etc    一些设置文件放置的目录
    /usr/bin    一些可执行文件
    /usr/lib64  一些程序使用的动态函数库
    /usr/share/doc  一些基本的软件使用手册与帮助文档
    /usr/share/man  一些man page文件

3.列出某些包的具体文件

    [root@heyong svn]# rpm -ql subversion-1.7.-.el7.x86_64
    /etc/subversion
    /etc/sysconfig/svnserve
    /run/svnserve
    /usr/bin/svn
    /usr/bin/svnadmin
    /usr/bin/svndumpfilter
    /usr/bin/svnlook
    /usr/bin/svnrdump
    /usr/bin/svnserve
    /usr/bin/svnsync
    /usr/bin/svnversion
    /usr/lib/systemd/system/svnserve.service


```

标签:SVN,svnserve,heyong,svn,root,Centos7,conf,home,安装
From: https://www.cnblogs.com/wangdidi/p/17242579.html

相关文章

  • Node-RED简介与Windows上安装、启动和运行示例
    场景Node-RED简介Node-RED是IBM公司开发的一个可视化的编程工具,以满足他们快速连接硬件和设备到Web服务和其他软件的需求,很快发展成为一种通用的物联网编程工具。Node-RED是......
  • Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED
    场景上面是在Windows可以连接外网的情况下安装运行的Node-RED,如果再局域网内的Winserver2012的服务器,没法访问外网,怎样安装运行Node-RED。注:关注公众号霸道的程序猿获取......
  • Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
    场景上面讲了node-red中获取mqtt数据的调试过程。如果要模拟通过温度传感器的mqtt订阅的主题中获取温度数据并在能显示仪表盘的界面中实时检测刷新数据。node-red支持自定义......
  • adobe应用安装提示【错误代码1】解决方法~
    日常安装adobe应用难免出现一些异常问题,今天分享的adobe应用安装提示【错误代码1】解决方法,来简单高效的解决您出现该异常时的困扰!在您收到错误1并且安装失败时候,该如何处......
  • 编译安装open-mpi
    openmpi官网地址:https://www.open-mpi.org/openmpi文档地址:https://docs.open-mpi.org/1.下载wgethttps://download.open-mpi.org/release/open-mpi/v4.1/openmpi......
  • 2020.1idea安装教程
    dea可谓是程序猿的福音,它功能强大,极大地提高了开发效率。但也经常出现激活码失效导致开发工具无法使用的情况,在这种情况下我们只能选择重新安装后免费试用30天或者使用激活......
  • 在 WSL 中的 Ubuntu 安装 VS Code
    在WSL中的Ubuntu安装VSCode可以按照以下步骤进行:在WSL终端中更新软件包。复制代码sudoaptupdate&&sudoaptupgrade下载并安装GPG密钥。复制代码......
  • Tomcat关联IDEA(详细教程+安装包)
    IDEA关联Tomcat下载Tomcat安装包并解压到全英文目录第一步:打开IDEA——Settings第二步:搜索application——进入ApplicationServices——点击加号第三步:打开安装Tom......
  • 『软路由踩坑指南』ESXi 8.0虚拟机必备知识与保姆级安装过程
    原文:https://www.toutiao.com/article/7208355993699353091/?log_from=0b52cc447c6a6_1678379358368&wid=1679408730178『软路由踩坑指南』ESXi8.0虚拟机必备知识与保姆......
  • Ubuntu安装MPI
     首先安装MPI。在Ubuntu22.04中,可以使用以下命令安装OpenMPI:sudoapt-getupdatesudoapt-getinstallopenmpi-binopenmpi-commonlibopenmpi-dev在终端中输入......