Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292806
  • 博文数量: 60
  • 博客积分: 1836
  • 博客等级: 上尉
  • 技术积分: 540
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 18:00
文章分类

全部博文(60)

文章存档

2013年(1)

2012年(7)

2011年(18)

2010年(6)

2009年(6)

2008年(3)

2007年(19)

我的朋友

分类: WINDOWS

2009-12-01 14:03:34

文件:svnperms.rar
大小:4KB
下载:下载
本文为ustc.cublog.cn原创,转载请附本文源地址,方便大家交流,解决问题,谢谢。

所需软件版本:
1.TortoiseSVN-1.6.6.17493-win32-svn-1.6.6
2.svn-python-1.6.6.win32-py2.6
3.apache_2.2.14-win32-x86-openssl-0.9.8k
4.python-2.6.4
5.Setup-Subversion-1.6.6

安装步骤:
1.运行apache_2.2.14-win32-x86-openssl-0.9.8k.msi安装程序,傻瓜安装。
2.运行Setup-Subversion-1.6.6.msi,傻瓜安装。
3.运行python-2.6.4.msi,傻瓜安装。
4.运行svn-python-1.6.6.win32-py2.6.exe,会自动搜索python的安装目录,将需要的文件复制到python26的Lib目录中。

5.由于APACHE为SVN的传输接口服务器,所以需要将SVN模块文件复制到apache目录的modules中,而且由于这些模块需要SVN的动态链接库文件,所以需要将SVN目录bin下的所有dll文件及mod_authz_svn.so、mod_dav_svn.so复制到modules目录中。

6.配置apache服务器,打开conf目录下的\httpd.conf文件,修改apache服务器的参数。

    修改为Listen 8080
    将#LoadModule dav_module modules/mod_dav.so前的#去掉,消除注释
    在下面增加两行
        LoadModule dav_svn_module     modules/mod_dav_svn.so
        LoadModule authz_svn_module   modules/mod_authz_svn.so

   文件屋增加
       
            DAV svn
            AuthType Basic
            AuthName "Subversion repository"
            AuthUserFile E:/subversion/conf/svn-auth-file    #密码文件名
            Require valid-user
            SVNParentPath E:/subversion/Repository/GMS       #SVN仓库父目录
            AuthzSVNAccessFile E:/subversion/conf/access-file    #SVN粗略访问控制文件名
      


      
           CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION   #svn日志
      


7.重新运行apache服务器。
8.测试是否可以访问SVN服务器。

9.详细权限设置:
(1).需要通过hook功能,来实现在提交事务前判断用户的权限。我用的是python的开源脚本,由于开源的在使用中出现了问题,所以进行了小的修改。由于本人对python不熟,所以如果有好的脚本希望有人可以更新出来。
(2).由于svn的hook执行在是SVN去对应的仓库目录中的hooks下去取相应过程文件名的可执行文件,本文用的是批处理文件。其中注意设置变量是SET 变量名=???,使用变量是%变量名%;errorlevel为程序的返回值;hook是通过可执行文件的返回值来提示事务的成功与否的,所以exit 0表示成功、exit 255表示不成功。
(3)由于脚本较多,所以附上脚本及配置文件。




阅读(2554) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~