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

    ****
    ****
    ****authz****
    ****

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

    ****
    ****
  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 配置
  


  注意[/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

    这时候应该可以正常访问,上传下载了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容