Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 架构 > SVN > 正文

CentOS 6.5安装SVN

时间:2016-06-26 15:12 来源:网络整理 作者:linux系统 阅读:

项目要用SVN管理,所以需要给服务器要安装SVN,是服务器端的。

这里仅使用svn://协议来访问SVN服务器,不启用sasl。

客户端系统都是Windows,使用起来很简单, 【 linux操作系统】 ,这里就不用说了。

SVN是Subversion的简称,是一个开放源代码的版本控制系统。

 

安装

 

[plain] view plaincopyprint?

 

  • 检查是否安装了低版本的SVN  
  • # rpm -qa subversion  
  • 卸载旧版本SVN  
  • # yum remove subversion  
  • 前两步可省略  
  • 安装SVN  
  • # yum install subversion  
  • 检验已经安装的SVN版本信息  
  • # svn --version  
  •  

    创建和配置代码库

     

     

    创建代码库

     

     

    SVN软件安装完成后需要建立SVN库

     

    [plain] view plaincopyprint?

     

  • # svnadmin create /opt/svn/repository  
  •  

    如果目录不存在,svnadmin会建立此目录。执行上面的命令后,将自动建立起repository库,查看/opt/svn/repository文件夹发现包含了conf, db, format, hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    进入上面生成的文件夹conf下,有以下几个文件authz, passwd, svnserve.conf。其中authz是权限控制,可以设置哪些用户可以访问哪些目录,passwd是设置用户和密码的,svnserve.conf是设置svn相关操作的。

     

    svnserve.conf

     

    这个文件控制svnserve的配置。包含两个selection:[general]和[sasl],由于不使用sasl,所以仅需要考虑如何设置[general]即可。

     

    [plain] view plaincopyprint?

     

  • [general]  
  • #匿名访问的权限,可为none,read,write  
  • anon-access = none  
  • #授权用户的权限,可为none,read,write  
  • auth-access = write  
  • #密码数据文件的路径,如不以/开头,则为相对路径  
  • password-db = passwd  
  • #访问控制文件的路径,如不以/开头,则为相对路径  
  • authz-db = authz  
  • #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字,不同的代码库需要不同的realm  
  • realm = the 1st repository  
  • 密码数据文件

     

    [plain] view plaincopyprint?

     

  • [users]  
  • yankz = password  
  • 这样就建立了用户yankz,密码是password。可参照此建立多个用户,一行一个。

     

    访问控制文件

     

    [aliases]可以来设置别名,这里没用到;[groups]用来设定小组;其他selection用来设置每个目录的具体权限。

     

    [plain] view plaincopyprint?

     

  • [groups]  
  • admin = yankz,houyf,taoxd,ljying  
  •   
  • [/]  
  • yankz = rw  
  • @admin = r  
  • * =  
  •   
  • [/ljying]  
  • ljying = rw  
  • @admin = r  
  • * =  
  • 这里设置的是thor小组包含四个成员,根目录yankz具有读写权限,admin其他成员具有读权限,其他人没有权限。ljying目录,ljying具有读写权限,admin其他成员具有读权限, 【linux命令大全】 ,其他人没有权限。

     

     

    启动和停止

     

    执行“svnserve -d -r /opt/svn/repository”就可以启动了,默认使用3690端口。

    如果已经有svn在运行,可以换一个端口运行

    svnserve -d -r /opt/svn/repository --listen-port 3391

     

    这样配置, 【linux系统】 ,每个端口仅有一个版本库,可以通过这种方式运行多个svnserve。

    执行“killall svnserve”就停止了所有的svnserve。如果要停止某个svnserve,就先用“ ps -ef | grep svnserve”获取对应的pid,用“kill -9 pid”停止。

     

     

    多版本库控制

     

     

    除了通过使用不同的端口来运行多个svnserve,还有另一种方式。

    如果svnserve的启动参数-r 所指定的目录直接指定到版本库,例如上面的情况,此时一个svnserve只能为一个版本库工作。

    如果-r指定到版本库的上级目录,如“svnserve -d -r /opt/svn”,这种情况,一个svnserve可以为多个版本库工作。

    使用类似这样的“svn://192.168.0.1/project1” 即可访问project1,这样的“svn://192.168.0.1/project2 ”即可访问project2。

    另外,如果某个访问控制文件需要同时对多个版本库进行控制,就应该指定具体的库,每个目录必须写成[版本库的名字:路径]的形式,像这样:

     

    [plain] view plaincopyprint?

     

  • [groups]  
  • admin = user1  
  • [project1:/]  
  • @admin = rw  
  • 其他

     

     

    一、防火墙

    # vi /etc/sysconfig/iptables
    添加以下内容:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    保存后重启防火墙
    # service iptables restart

    二、检测SVN端口

    # netstat -ln | grep 3690
    tcp 0 0.0.0.0:3690 0.0.0.0:* LISTEN

    感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《CentOS 6.5安装SVN》技术文章,《CentOS 6.5安装SVN》详细使用和说明,有时《CentOS 6.5安装SVN》可能不完善、敬请谅解!如果《CentOS 6.5安装SVN》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    验证码:点击我更换图片