ubuntu 搭建svn服务器

一、sudo apt-get install subversion

二、创建项目目录

/srv/svn/tone_src

三、创建 SVN 文件仓库

sudo svnadmin create /srv/svn/tone_src

四、 赋予组成员对所有新加入文件仓库的文件拥有相应的权限

 sudo chmod -R g+rws /srv/svn/tone_src

五、svn默认端口是3690,在防火墙上开放这个端口

sudo /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT  

六、修改 /srv/svn/tone_src/conf/svnserve.conf 来配置其访问控制,把下面三行去掉注释(注意前面不能有空格),

  1. <pre name="code" class="plain">[general]  
  2. password-db = password  
  3. authz-db = authz 
  4.  

七、在这里你也可以设置匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,去掉下面两行的注释,只需把 read 改成 none 

  1. anon-access = none  
  2. auth-access = write

八、在passwd文件中添加新用户

  1. name1 = pwd1  
  2. name2 = pwd2  
  3. name3 = pwd4  

九、为用户添加权限,编辑authz文件

  1. [groups]     
  2. admin = name1,name2     
  3. name = name3     
  4. [/]     
  5. @admin=rw     
  6. *=r     
  7. 已组来分配权限

  8. 生成code 通过超级管理员在本地新建code 提交至服务器即可

  意思是其中name1和name2属于admin组,有读和写的权限,name3属于name组,只有读的权限。

十、启动SVN服务

 killall svnserve

  svnserve -d -r /srv/svn/

-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库

 十一、设置svn服务为自启动

在init.d目录建立一个脚本文件svnd.sh 

  1. $ cd /etc/init.d  
  2. $ vim svnd.sh  

输入svnd.sh内容如下(/var/svn 为svn安装目录):

  1. $ !/bin/bash  
  2. $ svnserve startup  
  3. $ svnserve -d -r /srv/svn/ 

保存退出。
更新,修改权限:

  1.  update-rc.d svnd.sh defaults  
  2. $ chmod ug+x svnd.sh  

 

posted @ 2017-03-28 11:21  北京小小鸟  阅读(78)  评论(0)    收藏  举报