ubuntu下搭建svn服务器-阿里云开发者社区

开发者社区> 安全> 正文

ubuntu下搭建svn服务器

简介:

一、安装

直接使用命令安装


  1. $ sudo apt-get install subversion 

安装完成后,你也许会问,它给我装到什么地方去呢?不要急用whereis即可知道

sucres blog

二、服务器配置

1、创建相应的用户及群组


  1. sudo addgroup subversion  
  2. sudo usermod -G subversion -a sucre 

使用reboot重启系统,使得上面的配置生效,重启完成后,执行下面的命令


  1. $ sudo mkdir /home/svn  
  2. $ cd /home/svn  
  3. $ sudo mkdir myproject  
  4. $ sudo chown -R root:subversion myproject 

myproject是你的工程名,以下是chown的用法


  1. sucre@sucre-ubuntu:~$ chown --help  
  2. 用法:chown [选项]... [所有者][:[组]] 文件...  
  3.   或:chown [选项]... --reference=参考文件 文件...  
  4. 更改每个文件的所有者和/或所属组。  
  5. 当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。  
  6.  
  7.   -c, --changes                 类似 verbose,但只在有更改时才显示结果  
  8.       --dereference             受影响的是符号链接所指示的对象,而非符号链接本身  
  9.   -h, --no-dereference          会影响符号链接本身,而非符号链接所指示的目的地  
  10.                                 (当系统支持更改符号链接的所有者时,此选项才有用)  
  11.       --from=目前所有者:目前组  
  12.                          只当每个文件的所有者和组符合选项所指定的,  
  13.                          才会更改所有者和组。其中一个可以省略,这时  
  14.                          已省略的属性就不需要符合原有的属性。  
  15.       --no-preserve-root        不特殊对待"/"(默认值)  
  16.       --preserve-root           不允许在"/"上递归操作  
  17.   -f, --silent, --quiet 去除大部份的错误信息  
  18.       --reference=参考文件      使用参考文件的所属组,而非指定值  
  19.   -R, --recursive               递归处理所有的文件及子目录  
  20.   -v, --verbose                 为处理的所有文件显示诊断信息  
  21.  
  22. 以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。  
  23. 如果您指定了多于一个选项,那么只有最后一个会生效。  
  24.  
  25.   -H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接  
  26.   -L         遍历每一个遇到的通到目录的符号链接  
  27.   -P         不遍历任何符号链接(默认)  
  28.  
  29.       --help     显示此帮助信息并退出  
  30.       --version  输出版本信息并退出  
  31.  
  32. 如果没有指定所有者,则不会更改。 所属组若没有指定也不会更改,但当加上  
  33. ":"时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。  
  34.  
  35. 示例:  
  36.   chown root /u         将 /u 的属主更改为"root"。  
  37.   chown root:staff /u   和上面类似,但同时也将其属组更改为"staff"。  
  38.   chown -hR root /u     将 /u 及其子目录下所有文件的属主更改为"root"。  
  39.  
  40. 请向bug-coreutils@gnu.org 报告chown 的错误  
  41. GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>  
  42. GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>  
  43. 请向<http://translationproject.org/team/zh_CN.html> 报告chown 的翻译错误  

2、下面的命令用于创建 SVN 文件仓库:


  1. $ sudo svnadmin create /home/svn/myproject 

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


  1. $ sudo chmod -R g+rws myproject 

三、访问权限设置

当创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。

可以取消下面的注释符号来设置授权机制:


  1. # [general]  
  2. password-db = passwd 

现在,可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:


  1. username = password 
  2. #(注意行开始不要有多余空格) 

sucres blog 

现在,可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:


  1. $ svnserve -d --foreground -r /home/svn 

运行这个命令后,如果没有任何提示就说明运行成功了,我们的svn就已经配置好了,让我们从myeclipse里面来访问试试看,先myeclipse切换到svn模式下,然后新建一个远程位置:

sucres blog

成功后,你会看见这样一个图:

这样就成功了,说明已经连接上ubuntu上的svn了,有什么问题,大家可以留言,一起交流进步。



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/381675,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章