centos7安装并配置svn

一、安装

1. 通过 yum install subversion来安装

2. 查看svn版本   使用:  svnserve --version

3. 创建svn版本库

  使用命令: svnadmin create svn/repo

  svnadmin create /home/svn/tnkg

4. 配置svn信息

进入版本库中的配置目录conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)

svnserve.conf

authz

 

passwd

5. 起用

  svnserve -d -r /home/svn/

二、设置权限

  需求:添加一个用户组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仓库所有的权限,要不会报如下错误:

    

  3.4  重启httpd.service

    systemctl restart httpd.service

    这时候应该可以正常访问,上传下载了。

posted @ 2015-12-25 17:49  cglworkBook  阅读(453)  评论(0编辑  收藏  举报