|
文件: | 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) |