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$

posted on 2013-03-23 20:17  dfg727  阅读(1419)  评论(0编辑  收藏  举报