zoukankan      html  css  js  c++  java
  • 服务端 安装配置 svn

    检查是否安装svn

      svn --version 看看,既能确定是否安装,又能确定版本多少

    安装 svn
      yum -y install subversion

    创建仓库存放目录

      mkdir -p /opt/svn/Warehouse  #Warehouse 仓库目录名称

    创建仓库

      svnadmin create  /opt/svn/Warehouse 

    svn  文件夹设置 所属用户组/用户

      chown -R svn:svn /opt/svn/

     
     仓库权限 (  这个地方的是指 svn/conf/ 的 总配置文件,可以单独设置单个仓库的,语法一样)

    vi svnserve.conf
    [general]
    anon-access=none  #不允许匿名用户访问
    auth-access=write    #通过验证的用户可以读和写
    password-db=passwd  #用户密码管理文件
    authz-db=authz  #用户权限管理文件 
    realm=/opt/svn/Warehouse   #仓库地址

    添加 svn 用户

      vi authz
      [/]
      zw=rw  #用户名=读写

    设置 svn 用户密码

      vi passwd
      zw=123  #用户名=密码

    启动 Warehouse仓库  ( 端口默认:3690 )
      svnserve -dr /var/svn/Warehouse    # /var/svn/Warehouse 仓库地址

      svnserve -dr /var/svn/m --listen-port 3691   # 指定端口

    查看是否启动

      pstree | greg svn

    查看启动端口 

      netstat -tunpl | grep svn

    检出仓库(切换到想要检出到的目录,例如 cd /home/www/)

       svn co svn://121.199.5.128 ./   # ./ 检出到当前目录

       #  按照要求输入 账号密码

    客户端提交自动更新服务端文件 

    1)cd /var/svn/m/hooks  # 切换到你仓库的 hooks 文件下
    2)cp post-commit.tmpl post-commit  # 改成一个脚本
    3)chomd a+x post-commit    # 赋予权限
    4)vi post-commit
      export LANG=en_US.UTF-8
      #svn up --non-interactive --username zw --password 123 '/usr/local/src/web/m'
        svn up --non-interactive --username 登录仓库用户名 --password 登录仓库密码  '仓库绝对路径'

    设置用户权限(登录终端用户)

    自动在应用下生成文件或目录,所以 用户 要对 yzmedu 和 仓库 目录有充分的权限
    setfacl -m u:daemon:rwx -R /usr/local/src/web/yzmedu
    setfacl -m d:u:daemon:rwx -R /usr/local/src/web/yzmedu

    开放svn 端口 

    设置 iptables 防火墙,把 3690 和 3691 端口打开
    iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
    iptables -A INPUT -p tcp --dport 3691 -j ACCEPT

    设置 svnserve 两个仓库程序在 linux 服务器重启后开机启动

    vi /etc/rc.local
    /usr/bin/svnserve -dr /var/svn/yzmedu
    /usr/bin/svnserve -dr /var/svn/m --listen-port 3691

    在 window 上用 TortoiseSVN 进行分别检出即可

    1)svn://121.199.5.128
    2)svn://121.199.5.128:3691

    出现问题

    1) linux web 服务器下检出的目录下有.svn 目录,不能删除!
    2) 网站目录 yzmedu 和 m 一定要设置 daemon 有足够的权限!
    3) 不需要设置 svn 用户 zw 对网站目录的权限,因为 svn 的守护者为 root!

    相关说明

    SVN的svnserve对于每个仓库,有一个独立的配置文件和独立的用户、权限管理。
    可以保持配置文件svnserve.conf的独立,但是用户、权限管理是用统一的一个文件来存储,这样方便以后的管理和维护。
    另外要注意,即使svnserve服务已经运行,修改配置文件或者用户、权限管理文件,保存后马上生效,不需要重启服务。

  • 相关阅读:
    java面向对象之封装
    摘抄java基础
    gojs 去除水印个人总结的方法 实例为2.1版本
    引入CSS的方式,link与@import的区别
    Java 处理json字符串value中多余的双引号
    《Linux 学习》01---redis安装, 并使用Redis Desktop Manager 连接
    (二、下) springBoot 、maven 、mysql、 mybatis、 通用Mapper、lombok 简单搭建例子 《附项目源码》
    (一 、上)搭建简单的SpringBoot + java + maven + mysql + Mybatis+通用Mapper 《附项目源码》
    springBoot 官方整合的redis 使用教程:(StringRedisTemplate 方式存储 Object类型value)
    sudo命令: 在其他用户下操作root用户权限
  • 原文地址:https://www.cnblogs.com/xuey/p/9301018.html
Copyright © 2011-2022 走看看