redhat linux svn server 搭建过程

来源:互联网 发布:求质数的算法C语言 编辑:程序博客网 时间:2024/05/18 15:28

1,安装svn

     1>在linux安装时勾选svnserve,

     2>用yum install svn安装,运行yum install svn后出现subversion 安装提示,选择y安装即可

2,配置svn server

      1>建立svn目录,比如在 /home/svn   运行  mkdir svnrepo

      2> svnadmin create  /home/svn/svnrepo

            然后在svnrepo目录下会产生一个conf目录,所有svn的配置文件都在这里了。

      3>进入conf目录, 首先编辑svnserve.conf文件

            在【general】item下

            anon-access=none 禁止匿名访问,通常工作用的svn不会允许匿名访问吧。

auth-access = write #使授权用户有写权限
            password-db = /home/svn/svnrepo/conf/passwd  #
指明密码文件路径
authz-db = /home/svn/svnrepo/conf/authz   #
访问控制文件
realm = /home/svn/svnrepo   #
认证命名空间,subversion会在认证提示里显示,并且
作为凭证缓存的关键字。

            NOTE:切记一定要顶行写,否则会报比如svnserve.conf:12: Option expected错误

        4>编辑passwd文件

           【users】

             user1 = user1pw    #用户名=密码

         5>编辑authz文件

             【groups】

               groups1= u1,u2,u3

               groups2= u5,u6

              【/】

               @group1=rw  #group1用户可访问所有repos

               [/svnrepo2:/dir1/dir2/]

               @group2=rw  #group2用户仅可以访问repos2的/dir1/dir2目录

               这两个需要配合使用,在group里定义的列表在【/】里授权可访问目录,可配置不同的目录访问人员列表不同

                [<版本库>:/项目/目录]
                @<
用户组名> = <权限>
               <
用户名> = <权限>

          到此常用配置结束

3,启动svn服务

      svnserve -d -r  /home/svn #注意这里用的是/home/svn/ 不是/home/svn/svnrepo, 否则会在client checkous时出现 URL don‘t exist错误

     如果报:svnserve: Can't bind server socket: Address already in use

   解决办法:

  使用  “ ps -e|grep svnserve ” 找到服务对应进程编号 ,使用kill 命令,之后再使用启动命令

4,Done