zoukankan      html  css  js  c++  java
  • ubuntu下架设svn服务器及在windows建立svn+ssh客户端

    1、安装ssh    sudo apt-get install ssh

    2、安装subversion    sudo apt-get install subversion

    3、为参与项目开发的成员建立用户帐户    sudo adduser xiao

    4、建立名为svn的用户组   
    sudo addgroup svn   
    sudo addgroup xiao svn       /*把xiao加入组svn*/        注:这里可以根据不同的权限建立多个用户组,把有相应权限的用户放入相应的组中

    5、建立项目文件存储目录   
    sudo mkdir /usr/local/svn   
    sudo mkdir /usr/local/svn/trunk

    6、创建SVN文件仓库   
    sudo svnadmin create /usr/local/svn/trunk

    7、为组成员赋予相应的权限   
    sudo chown -R root:svn /usr/local/svn/trunk   
    sudo chmod -R g+rws /usr/local/svn/trunk   /*给svn组赋予读写权限,可以根据需要更改相应权限*/   
    sudo chmod -R o-rwx /usr/local/svn/trunk   /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/       
    注:有关权限修改的问题可以查看相关linux命令

    5.访问权限设置
    修改 /home/xiaozhe/svn/mypro/conf目录下: svnserve.conf 、passwd 个文件,行最前端不允许有空格

    编辑svnserve.conf文件,把如下面行取消注释,并需要顶格

    anon-access = read

    auth-access = write

    password-db = passwd

    编辑passwd  如下: [users] andy = andy

    6. 开启svnserve,以SVN根目录开启:
    svnserve -d -r /home/xiaozhe/svn

    7.检查是否正常启动

    $ netstat -ntlp

    可以看到有一个端口为3690的地址,表示启动成功

    8、为每个成员生成密钥对(以用户xiao为例)   
    切换为xiao用户登录:su xiao (提示输入xiao的密码)   
    输入:cd ~/    输入:whoami,如果登录成功则显示xiao   
    执行: ssh-keygen -b 1024 -t dsa -N passphrase -f xiaokey       
    注:其中passphrase为密钥关键字,根据你的需要修改,xiaokey为文件名;
    这里使用的是DSA加密,可以改用RSA加密,把其中的“dsa”改为“rsa”就可以了。   

    这时产生两个文件:xiaokey和xiaokey.pub,前一个为秘密密钥后一个为公开密钥   
    然后,创建目录
    mkdir /home/xiao/.ssh,
    把公钥拷贝到/home/xiao/.ssh目录下:
    cp xiaokey.pub /home/xiao/.ssh/authorized_keys       
    注:文件名必须为authorized_keys    退出:exit

    9、在windows下安装svn客户端,则需安装“TortoiseSVN”、“Puttygen”和“Pageant”   
      9.1、下载:        http://sourceforge.net/projects/tortoisesvn http://www.chiark.greenend.org.uk/~sgtatham/putty/   
      9.2、安装:略   
      9.3、转换私钥格式:       
        9.3.1、将xiaokey拷贝到windows下,运行Puttygen;       
        9.3.2、选择菜单conversions->Import Key,       
        9.3.3、选择文件xiaokey,提示“Enter passphrase for key",输入创建公私钥对示使用的passphrase关键字,
        9.3.4、然后选择Parameters为“SSH-2 DSA”(如果公私钥是使用RSA生成,则选择“SSH-2 RSA”),       
        9.3.5、点击按钮Save private key,       
        9.3.6、保存文件名为xiaokey.ppk。   
      9.4、建立TortoiseSVN与Pageant的关联,并将私钥加入Pageant:       
        9.4.1、鼠标右键选择TortoiseSVN->Settings->Network->SSH client,  
          输入:    C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe;       
        9.4.2、鼠标右键选择TortoiseSVN->RepoBrowser 输入URL:                                       
          svn+ssh://xiao@SvnServiceIP/usr/local/svn/trunk;       
        9.4.3、运行Pageant,右键点击屏幕右下角的图标-〉Add Key,将私钥文件xiaokey.ppk加入。       

    注:如果不想缓存ssh密码,则第8、9步不需要,只保留9.4.2, 但每次check out、check in中每进入一个文件夹都要输入两次密码,烦死你:)

    //TODO:这样的客户端服务器安全性

    ubuntu中操作svn: learn@VMUbuntu1204:~$ mkdir SourceCode
    learn@VMUbuntu1204:~$ cd SourceCode/
    learn@VMUbuntu1204:~/SourceCode$ ls
    learn@VMUbuntu1204:~/SourceCode$ mkdir svnTrunk
    learn@VMUbuntu1204:~/SourceCode$ cd svnTrunk/
    learn@VMUbuntu1204:~/SourceCode/svnTrunk$ svn co svn://192.168.1.88/trunk A    trunk/test.txt 取出版本 1。 learn@VMUbuntu1204:~/SourceCode/svnTrunk$ ls trunk
    learn@VMUbuntu1204:~/SourceCode/svnTrunk$ cd trunk
    learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$ ls test.txt
    learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$ sudo gedit test.txt
    learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$ svn commit -m'modified from ubuntu' test.txt
    认证领域: <svn://192.168.1.88:3690> f216c773-9e20-4958-9739-440cf67467b4 “learn”的密码: 正在发送       test.txt 传输文件数据 . 提交后的版本为 2。
    learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$ svn update U   
    test.txt 更新到版本 3。 learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$ cat test.txt
    create from win first

    modified from ubuntu first

    got modify
    learn@VMUbuntu1204:~/SourceCode/svnTrunk/trunk$

  • 相关阅读:
    算法提高 道路和航路
    奇偶剪枝
    二分求值
    并查集--路径压缩
    Oracle数据库导入导出DMP文件
    Spring IoC的实现与思考(一)
    sql基础拾遗
    jquery事件函数的使用之focus
    Java动态代理之cglib
    Java se之动态代理
  • 原文地址:https://www.cnblogs.com/dfg727/p/2977620.html
Copyright © 2011-2022 走看看