• Centos7 SVN安装最新版本,Linux安装svn最新版本


    ================================

    ©Copyright 蕃薯耀 2022-01-14

    https://www.cnblogs.com/fanshuyao/

    一、查看有没有安装svn

    rpm -qa subversion

    二、yum安装svn服务端(非最新版本)

    Svn yum命令直接安装

    直接安装不是最新版本的svn,只是:1.7.14版本的当前最新版本是:svn-1.14,最新版本安装请跳过此步看下面

    yum -y install subversion

    执行结果:

    已安装:
      subversion.x86_64 0:1.7.14-16.el7                                                                                                           
    作为依赖被安装:
      apr.x86_64 0:1.4.8-7.el7                apr-util.x86_64 0:1.5.2-6.el7                subversion-libs.x86_64 0:1.7.14-16.el7               
     
    完毕!

    三、svn安装最新版本

     1、查看Centos系统适合的版本

    http://opensource.wandisco.com/centos/

    如果是Centos7,则是:

    http://opensource.wandisco.com/centos/7/
    适合的版本如下:
    Name↓            Last Modified:            Size:    Type:
    svn-1.7/        2014-Aug-07 08:16:37    -          Directory
    svn-1.8/        2014-Aug-07 08:16:37    -          Directory
    svn-1.9/        2014-Aug-07 08:16:37    -          Directory
    svn-1.10/        2018-Apr-25 12:31:52    -          Directory
    svn-1.11/        2018-Nov-22 09:45:38    -          Directory
    svn-1.12/        2019-Mar-04 09:24:57    -          Directory
    svn-1.13/        2019-Dec-09 08:20:28    -          Directory
    svn-1.14/        2021-Feb-24 06:00:18    -          Directory

    2、新增svn的最新版本库

    vi /etc/yum.repos.d/wandisco-svn.repo

    wandisco-svn.repo 文件添加的内容:

    此处使用svn-1.14,即当前最新版本

    [WandiscoSVN]
    name=Wandisco SVN Repo
    baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/
    enabled=1
    gpgcheck=0

    3、卸载svn旧版本


    如果安装有旧版本,先卸载

    yum remove subversion

    删除执行结果:

    删除:
      subversion.x86_64 0:1.7.14-16.el7 

    接着,清理安装缓存

    yum clean all

    4、安装最新版本的svn

    yum -y install subversion

    执行结果:

    已安装:
      subversion.x86_64 0:1.14.1-1                                                                                                                
    作为依赖被安装:
      libserf.x86_64 0:1.3.9-1.el7                                                                                                                
     
    替代:
      subversion-libs.x86_64 0:1.7.14-16.el7  

    5、查看svn版本

    svnserve --version

    执行结果:

    [root@host-100 ~]# svnserve --version
    svnserve,版本 1.14.1 (r1886195)
       编译于 Jan  6 202214:30:34 在 x86_64-redhat-linux-gnu

    svn当前最新版本:1.14.1

    四、查看svn安装位置

    which svnserve

    执行结果:

    /usr/bin/svnserve

    五、创建svn 项目仓库目录

    svnRepos为自定义目录

    cd /
     
    mkdir -p /var/svnRepos

    也可以多增加一层文件夹:

    mkdir -p /var/svnRepos/项目名称

    六、svn项目初始化

    如果不是root用户,命令前面要使用sudo

    #修改目录拥有者
    sudo chown -R java:java /var/svnRepos
     
    #svn初始化
    svnadmin create /var/svnRepos

    执行结果:

     
    [java@host-100 var]$ svnadmin create /var/svnRepos
    [java@host-100 conf]$ cd /var/svnRepos
    [java@host-100 svnRepos]$ ll
    总用量 8
    drwxrwxr-x. 2     java java          76     1月       7 10:17     conf
    drwxrwsr-x. 6     java java         233     1月       7 10:17     db
    -r--r--r--. 1     java java           2     1月       7 10:17     format
    drwxrwxr-x. 2     java java         231     1月       7 10:17     hooks
    drwxrwxr-x. 2     java java          41     1月       7 10:17     locks
    -rw-rw-r--. 1     java java         246     1月       7 10:17     README.txt

    conf 文件夹,存放配置文件

    conf 文件夹下的三个重要文件:

    authz:权限控制文件
    passwd:帐号密码文件
    svnserve.conf:SVN服务配置文件,配置账号和权限文件

    七、svn配置用户和密码

    编辑passwd文件:

    cd /var/svnRepos/conf
     
    vi passwd

    配置格式是:用户名=密码

     
    如:
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    readUser=123456
    appUser=123456

    八、svn配置权限


    编辑authz文件:

    vi authz

    在文件最下面增加用户和权限
    格式是:用户名=权限

    权限:
    r:表示读权限
    w:表示写权限
    rw:表示可读可写权限
    [/]:表示是svn根目录,[/]可以改为具体的文件夹目录,限制某些用户对某些文件夹的读写权限

    示例:
     
    [/]
    appUser=rw
    *=
     
    [/aa]
    readUser=r
    appUser=rw
    *=

    最后一行*=表示其他用户无任何权限

    另外一种配置方法,是使用用户分组(未测试)

    [groups]
    appGroup=appUser
    readGroup= readUser
     
    [/]
    @appGroup=rw
    @readGroup=r
    *=

    九、svn配置服务文件

    vi svnserve.conf

    在[general]下面增加下面的配置(也可以在配置上打开相应的选项,但# 后面的空格要删除):

    #在[general]模块最下面增加的内容
    #匿名访问的权限,可以是read,write,none,设置为none表示不能读写
    anon-access=none
    #授权用户可写
    auth-access=write
    #密码数据库配置
    password-db=passwd
    #访问控制数据库配置
    authz-db=authz
    #存储库的身份验证域。
    #如果两个存储库具有相同的身份验证域,则它们应该
    #拥有相同的密码数据库,反之亦然。默认领域是存储库的uuid。
    #此处填写路径,这样就不会有相同的
    #就是连接时提示的名称,如/var/svnRepos可修改为:我的svn仓库
    realm=/var/svnRepos
     
    #强制用户名大小写,默认是否
    #lower,则全部变成小写;upper则全部变成大写;none则比较大小写。
    # force-username-case = none

    十、svn启动

    查看svn是否启动:

    ps -ef | grep svnserve

    启动有权限问题,在下面有解决方案。

    启动svn(端口默认为3690)

    svnserve -d -r /var/svnRepos

    修改端口启动:

    svnserve -d -r /var/svnRepos  --listen-port=9369

    指定配置文件启动:

    svnserve -d -r /var/svnRepos  --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf

    -d:表示守护进程
    -r:svn根目录
    --listen-port=9369:指定端口
    --config-file:指定配置文件

    查看svn进程

    ps -ef | grep svnserve

    杀掉svn进程

    kill -9 [pid]

    十一、打开svn防火墙端口

    svn默认是3690端口

    打开telnet服务:

    firewall-cmd --permanent --add-service=telnet

    开放端口:

    默认的端口
    firewall-cmd --permanent --zone=public --add-port=3690/tcp
     
    自定义的端口
    firewall-cmd --permanent --zone=public --add-port=9369/tcp

    让端口生效:

    firewall-cmd --reload

    查看防火墙所有开放的端口

    firewall-cmd --zone=public --list-ports

    其它命令:

    查看防火墙状态:
    firewall-cmd --state
     
    关闭防火墙
    systemctl stop firewalld.service
     
    禁止防火墙开机启动
    systemctl disable firewalld.service

    十二、svn设置开机启动

    增加svnserve.service配置文件

    vi /lib/systemd/system/svnserve.service

    文件增加的内容:

    [Unit]
    Description=SVN Server service  
    After=network.target
     
    [Service]
    Type=forking
    ExecStart= /usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf
    Restart=on-abort
     
    [Install]
    WantedBy=multi-user.target

    设置开机启动

    sudo systemctl enable svnserve.service

    执行结果:

    [java@host-100 system]$ sudo systemctl enable svnserve.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.

    其它命令

    启动svn
    systemctl start svnserve.service
     
    停止svn
    systemctl stop svnserve.service
     
    重启svn
    systemctl restart svnserve.service

    十三、svn启动时权限不够解决方案

    查看svn服务状态:

    systemctl status svnserve.service

    svnserve[166290]: svnserve: E000013: 不能打开文件“/var/svnRepos/conf/svns…限不够

    [root@host-100 /]# systemctl status svnserve.service
    ● svnserve.service - SVN Server service
       Loaded: loaded (/usr/lib/systemd/system/svnserve.service; enabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since 五 2022-01-07 11:07:11 CST; 11s ago
      Process: 166290 ExecStart=/usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf (code=exited, status=1/FAILURE)
     
    1月 07 11:07:11 host-100 systemd[1]: Starting SVN Server service...
    1月 07 11:07:11 host-100 svnserve[166290]: svnserve: E000013: 不能打开文件“/var/svnRepos/conf/svns…限不够
    1月 07 11:07:11 host-100 systemd[1]: svnserve.service: control process exited, code=exited status=1
    1月 07 11:07:11 host-100 systemd[1]: Failed to start SVN Server service.
    1月 07 11:07:11 host-100 systemd[1]: Unit svnserve.service entered failed state.
    1月 07 11:07:11 host-100 systemd[1]: svnserve.service failed.
    Hint: Some lines were ellipsized, use -l to show in full.

    svn启动权限不够解决方案

    文件/etc/selinux/config先要添加可写权限

    chmod -v u+w /etc/selinux/config

    编辑文件:

    vi /etc/selinux/config

    修改(需要重启服务器)

    SELINUX=enforcing

    为:

    SELINUX=disabled

    收回文件/etc/selinux/config可写权限

    chmod -v u-w /etc/selinux/config
     
    chmod -R 777 svnserve.conf

    重启服务器

    reboot -f

    十四、svn客户端tortoisesvn下载和svn检出

    下载windows svn客户端

    tortoisesvn下载地址

    https://tortoisesvn.net/downloads.html

    下载地址再下面一点,有中文语言安装包

    安装完成后,新建一个文件夹,在文件夹中,【鼠标】右键,有一个【SVN 检出】命令,可检出项目。

    输入svn地址:

    端口默认为3690,我修改成了9369,记得修改成自己的端口

    svn://ip地址:端口
     
    示例:
    svn://192.168.1.10:9369/

    十五、Eclise svn subclipse插件下载和安装

    Eclise svn插件 subclipse 要求:

    Requirements - current master
     
    Eclipse 4.2 (Juno) or later
    Java 8 or later
    Subversion 1.10 - 1.14 JavaHL client libraries

    subclipse下载地址:

    https://github.com/subclipse/subclipse/releases

    wiki 文档地址:

    ​https://github.com/subclipse/subclipse/wiki

    只下载subclipse-4.3.3.zip安装后没有JavaHL,会报错,建议在线安装,或者两个一起下载安装。

    (时间宝贵,分享不易,捐赠回馈,^_^)

    ================================

    ©Copyright 蕃薯耀 2022-01-14

    https://www.cnblogs.com/fanshuyao/

  • 相关阅读:
    Dubbo集群配置和官方文档
    Lock wait timeout exceeded
    Too many connections
    mybatis 批量更新 Parameter '__frch_item_0' not found. Available parameters are [list]
    base64文件转MultipartFile文件
    base64之js压缩图片
    NotSupportedError Only secure origins are allowed
    安装MySQL时候最后一步报无法定位程序输入点fesetround于动态链接库MSVCR120.dll
    2018年总结
    java开发之多线程基础篇
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/15801774.html
Copyright © 2020-2023  润新知