centos7安装并配置svn

一、安装

  1. 通过
yum install subversion

来安装

  1. 查看svn版本 使用:
svnserve --version
  1. 创建svn版本库
      使用命令:
svnadmin create svn/repo
eg: svnadmin create /home/svn/tnkg
  1. 配置svn信息
    进入版本库中的配置目录conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)
    svnserve.conf

    **** 《centos7安装并配置svn》 ****
    ****authz****
    **** 《centos7安装并配置svn》

    ****
    ****passwd****

    **** 《centos7安装并配置svn》 ****

  2. 起用
  svnserve -d -r /home/svn/

6.注意
我的仓库目录是 /home/svn/tnkg。
authz文件中配置的仓库是/、/app和/项目配置目录/开发库/13_参考资料,这3个目录对应的绝对目录是/home/svn/tnkg/、/home/svn/tnkg/app和/home/svn/tnkg/项目配置目录/开发库/13_参考资料。
起用时的目录是 svnserve -d -r /home/svn。
连接是的svn路径是: svn://ip/tnkg
二、设置权限
  需求:添加一个用户组other,该用户组的用户只可以访问仓库根目录下的app文件夹,即/app。
  authz 配置
  

《centos7安装并配置svn》

  注意[/app]这块,格式一定要是这样的,不要写成[/:app],[app:/]等等之类的,网上有很多种说法,我试了都不行,只有[/app]才可以。

  
的意思是指除了当前已指定的用户组之外groups中其它的用户组,[/app]下面的是指user和admin。

  在小乌龟里访问路径是这样的
svn://ip/root/app,假设你的svn仓库是/home/svn/tnkg,这里app所在位置是/home/svn/tnkg/app。

三、http 配置

  3.1 安装
mod_dav_svn

    yum install mod_dav_svn

3.2 编辑subversion.conf
    在/etc/httpd/conf.d/下创建subversion.conf文件,添加以下内容

<Location /svn>        
    DAV svn    
    SVNListParentPath on        
    SVNParentPath /home/svn        
    AuthType Basic        
    AuthName "Authorization"        
    AuthUserFile /etc/httpd/svn.auth/svn_passwd 
    AuthzSVNAccessFile /home/svn/tnkg/conf/authz          
    Require valid-user    
</Location>

注:svn_passwd与svn中的密码是不一样的,通过http登录采用的是httpd服务器自己的校验机制,用户密码得自己重新添加:

   htpasswd -bc svn_passwd cgl cgl       #创建svn_passwd文件,并添加用户cgl,密码为cgl

再添加用户的时候执行

   htpasswd -n svn_passwd cgl2 cgl2      #把用户cgl2密码为cgl2添加到已存在的密码文件(svn_passwd)中
```  
  3.3 设置权限

chmod -R 777 /home/svn/tnkg

使httpd拥有对svn仓库所有的权限,要不会报如下错误:
    [图片上传中。。。(5)]
  3.4  重启httpd.service

systemctl restart httpd.service

    这时候应该可以正常访问,上传下载了。
    原文作者:叶天义
    原文地址: https://www.jianshu.com/p/5f40acfdf8e3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞