美文网首页
CentOS 7下搭建SVN服务器&多个项目分组教程

CentOS 7下搭建SVN服务器&多个项目分组教程

作者: dejan | 来源:发表于2017-10-17 13:49 被阅读0次

    windows下使用到的操作软件:
    putty、TortoiseSVN

    安装步骤:
    1.使用 putty 连接Linux终端后下载安装SVN服务端

    yum install subversion
    

    2.查看SVN服务端安装版本

    svnserve --version
    

    3.创建SVN版本库目录,project1、project2分别为“项目1”、“项目2”

    mkdir -p /home/svn/project1
    mkdir -p /home/svn/project2
    

    4.创建版本库

    svnadmin create /home/svn/project1
    svnadmin create /home/svn/project2
    

    执行了这两句命令之后会在/home/svn/project1、/home/svn/project2目录下生成如下这些文件:conf db format hooks locks README.txt

    5.创建版本库公共配置文件存放目录,随便打开一个项目版本库复制一份conf目录(即:/home/svn/project1/conf)到 /home/svn 目录下

    cp -r /home/svn/project1/conf /home/svn/conf
    

    6.清空刚才创建的项目版本库conf目录,删除库的所有配置文件

    rm -f /home/svn/project1/conf/*
    rm -f /home/svn/project2/conf/*
    

    7.进入/home/svn/conf目录(进行版本库配置)

    cd /home/svn/conf
    
    authz         - 文件是权限控制文件
    passwd        - 是帐号密码文件
    svnserve.conf - SVN服务配置文件
    

    8.设置账号密码 vi passwd
    在[users]块中添加用户和密码,格式:帐号=密码,如下

    user1 = 123456
    user2 = 123456
    user3 = 123456
    user4 = 123456
    user5 = 123456
    

    9.设置用户权限&项目分组 vi authz
    在[groups]块中添加项目分配用户,格式:项目目录名=用户名(账号),如下

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    project1 = user1,user2,user3,user4,user5
    project2 = user1,user2,user3
    

    在末尾添加如下代码:

    [/]
    * = r
    root = rw
    
    [project1:/]
    @project1 = rw
    
    [project2:/]
    @project2 = rw
    

    @project2 = rw 中的"rw"意思是[groups]下定义的用户对指定的Project版本库有读写权限

    10.修改svnserve.conf文件 vi svnserve.conf
    打开下面的几个注释,并修改如下:

       anon-access = none #匿名用户可读(none匿名不可读写)
       auth-access = write #授权用户可写
       password-db = ../../conf/passwd #使用哪个文件作为账号文件
       authz-db = ../../conf/authz #使用哪个文件作为权限文件
       realm = /home/svn # 认证空间名,版本库所在目录
    

    11.复制 svnserve.conf 配置文件到刚创建的所有项目版本库的conf目录下

    cp -f /home/svn/conf/svnserve.conf /home/svn/project1/conf/svnserve.conf
    cp -f /home/svn/conf/svnserve.conf /home/svn/project2/conf/svnserve.conf
    

    好啦,到这里仅剩最后一步就完成了时需说明一下 /home/svn/conf 下的svnserve.conf 文件,当SVN服务启动时他并不会被版本库载入,而真正被载入的配置是相对每个Project/conf里的svnserve.conf 文件,所以只是备份在当前目录下为了以后添加项目时方便复制到新的Project/conf里,因此所有项目版本库conf目录下的svnserve.conf文件都是一样的!当然啦每个Project/conf里的svnserve.conf 文件都复制好了后 /home/svn/conf 下的svnserve.conf 文件也可以被删掉。

    12.启动svn版本库服务

    svnserve -d -r /home/svn(停止SVN命令  killall svnserve)
    

    配置防火墙端口,开放3690端口(SVN默认端口)

    firewall-cmd --zone=public --add-port=3690/tcp --permanent
    

    记得重启防火墙

    firewall-cmd --reload
    

    CentOS 7 以下版本防火墙端口配置如下:

    [root@localhost conf]# vi /etc/sysconfig/iptables 
    添加以下内容: 
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT 
    保存后重启防火墙 
    [root@localhost conf]# service iptables restart 
    或是关闭防火墙 :service iptables stop
    

    13.windows 上测试搭建是否成功
    输入SVN地址:


    输入用户名和密码:

    如果能够checkout 则表示SVN服务器搭建并设置成功了,到此为止SVN服务器的搭建就已经完成了!


    以下是远程Linux系统中的一些操作命令和快捷键:
    cd 打开目录
    cp 复制目录或文件
    ls 查看当前目录文件
    cat 查看文件内容
    vi 编辑文件 (操作快捷键 按"i"插入模式,按"Esc"退出插入模式。":q!"取消编辑不保存编辑内容。":x"保存并退出vi编辑。)

    相关文章

      网友评论

          本文标题:CentOS 7下搭建SVN服务器&多个项目分组教程

          本文链接:https://www.haomeiwen.com/subject/atxluxtx.html