zz22 发表于 2018-11-18 12:26:00

centos6.5下 svn通过apache访问

  安装svn
  yum -y install mod_dav_svn subversion
  

  安装httpd即apache
  yum -y install httpd
  

  1.
  配置svn仓库
  mkdir -p /data/svn
  

  建立svn版本库(可以建立多个仓库)
  svnadmin create /data/svn/project
  

  2.修改svn版本库配置
  vi /data/svn/project/conf/svnserve.conf
  anon-access = none
  auth-access = write
  password-db = /data/svn/passwd    #指向用户配置文件
  authz-db = /data/svn/authz   #指向权限配置文件
  

  配置svn用户和权限
  vim /data/svn/authz
      #权限分组
  manager=admin
  

  [/]    #根目录
  @manager=rw    #manager组有读写权限
  

      #project库
  *=r    #所有人都有读取权限
  

  创建用户名和密码文件
  cd /data/svn/
  htpasswd -c passwd admin
  

  3.
  开启httpd访问
  vi /etc/httpd/conf.d/subversion.conf
  
  DAV svn
  SVNParentPath /data/svn/    #一定要注意,这里是创建版本库的父目录
  AuthType Basic
  AuthName "Subversion repos"
  AuthUserFile /data/svn/passwd
  AuthzSVNAccessFile /data/authz
  Require valid-user
  
  其中/data/svn是准备放仓库的目录,这个目录可以放置多个代码仓库,AuthUserFile就是用户和密码的文件,也可以移动到其他地方单独管理.
  

  vi /etc/httpd/conf/httpd.conf
  将里面的 #ServerName localhost:80 注释去掉
  修改Linsten端口为80外的其它端口
  

  访问: http://ip/svn/project
  完成.
  ############################################################################################################
  解决SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’错误
  出现这种问题的原因在于搭建SVN服务器,包括创建Repository目录/home/svn目录下的一切子目录和文件都是在root用户下进行的,所 以在root用户下检出、提交都没有问题。可在Windows PC上从客户端访问就有问题了,因为是只有拥有管理器权限的人才能对Repository目录进行完全控制,而在Windows从客户端访问的话,因为是 Users用户组的,对Repository没有修改权限,所以不能提交。
  

  解决办法: 在服务器上把Users对Repository的完全控制权限加上就可以了,执行如下命令对/home/svn目录下的所有文件和子目录添加Users的读写权限
  

  执行下面的命令:
  

  chmod -R o+rw /home/svn
  

  #这里的路径是你项目库的根目录
  

  ###############################################################################################################
  The URI does not contain the name of a repository.
  

  解答:这是由于subversion.conf文件中SVNParentPath路径设置不正确引起的,SVNParentPath路径必须为svnadmin create生成数据仓库路劲的父目录,如上面建立数据仓库的命令为svnadmin create /storage/svn/aiezu,则SVNParentPath为/storage/svn
  

  




页: [1]
查看完整版本: centos6.5下 svn通过apache访问