您的位置:BugFree > 论坛 > 技术支持 > BugFree Discussion[BugFree讨论] > 我的blog:SVN和BugFree的整合(一)……用户整合
2005-08-03 13:54:41 我的blog:SVN和BugFree的整合(一)……用户整合
#1
feihu
访问次数 : 21
注册日期 : 05-08-03 13:51
上次访问 : 09-10-29 21:05
http://www.donews.net/feihu/

最开始的是用户的整合。不知道bugfree的roadmap是怎么样的?另外添加的的项目,模块能否删除啊。有时写错了比较麻烦。

本来想使用trac当做SVN的Issue Trace,但trac还是单项目模式,而且还是使用起来比较不习惯,所以暂时考虑SVN和BugFree的整合,目前两者只是用户名的整合,将来考虑是否整合进trac的形式,在BugFree的项目中直接看到Subversion库里的信息

使用的版本:
Windows SP1.5(sp1,后来打的几个补丁)
Subversion 1.2.0
BugFree 0.4
Apache 2.0.54
mod_auth_mysql.so 2.0.49(apache连接MySQL认证)
TortoiseSVN 1.2

SVN的用户管理其实有两个内容,一个是认证:检验用户名,密码是否正确,登录进SVN服务器;第二是权限:针对代码仓库Repository的读写权限分配。

一,首先按照SVN和Apache整合的文档,使用SVNParentPath方式,这样可以在这个目录下建立多个Repository。
我的所有操作全部是在本机进行的,有时会使用TortoiseSVN进行客户端的操作,其实完全可以使用SVN的命令行方式。

1,安装Subversion,apache,TortoiseSVN,建立D:svntestparent目录,这里将是SVN所有Repository的根目录,然后在parent目录下,创建a1目录,选中a1,右键菜单,选择TortoiseSVN中的“Create Repository here..”,创建一个基于FSFS的仓库。
2,修改httpd.conf,添加:

DAV svn
SVNParentPath D:/svntest/parent

3,在浏览器中浏览:http://127.0.0.1/parentsvn/a1/,可以看到正确的信息Revision 0。说明apache,SVN已经整合好了。

二,利用BugFree的用户认证

1,首先安装BugFree,保证BugFree能正常运行。其使用的数据库名是bugfree,存放u/p的字段是表buguser里的UserName,UserPassword字段。密码可以用多种方式加密,注意检查includeConfigBug.inc.php里的$BugConfig["UserTable"]["EncryptType"]是否是md5。

2,解压mod_auth_mysql.so到apache/modules目录里。注意,mod_auth_mysql不是apache自带的,而是sf的一个项目,主页在http://modauthmysql.sourceforge.net/。目前版本已经到了3.0.0,下载下源码的话,自己需要编译,还需要apache的源码,比较麻烦。 不过已经有人编译好了相应的模块,在http://www.gknw.net/development/apache/httpd-2.0/win32/modules/下载。里面还有2.9.4版本的,但在我的安装中,始终不能正常。所以我只有使用了2.0.49,只是稍微有些设置不一样。

3,修改httpd.conf里的设置。

DAV svn
SVNParentPath D:/svntest/parent

AuthName "MySQL Testing"
AuthType Basic
Require valid-user

AuthMySQLHost localhost
AuthMySQLUser root
AuthMySQLPassword xxxxxx

AuthMySQLDB bugfree
AuthMySQLUserTable buguser
AuthMySQLNameField UserName
AuthMySQLPasswordField UserPassword

AuthMySQLMD5Passwords On

重启apache,你再次访问http://127.0.0.1/parentsvn/a1/,就弹出认证窗口了,输入用户名admin密码123456,就可以浏览了。

至此,SVN的用户已经和BugFree的用户整合在一起了。可以在BugFree系统中创建用户,修改密码了。

下一步需要做的是设置SVN中多用户,多Repository的访问权限控制。

全文完·非狐外传@2005年8月2日
最后编辑, 05-08-03 13:56
回帖
2005-08-03 14:52:44
#2
wwccss
访问次数 : 593
注册日期 : 05-05-01 10:08
上次访问 : 10-07-19 11:44
非常好的文章,多谢!
回帖
2005-08-03 17:42:16
#3
bugfree
访问次数 : 2
注册日期 : 05-06-26 00:03
上次访问 : 09-10-29 21:05
很好。我们设想在Ver 0.9 / 1.0把BugFree和CVS和SVN(源代码管理、文档管理)整合在一起。不过还没有仔细考证过。你的文章正好可以借鉴参考。
回帖
2006-02-09 21:47:41
#4
leasun
访问次数 : 11
注册日期 : 06-02-09 21:39
上次访问 : 09-10-29 21:05
整合的最好方法似乎不是让svn使用BugFree的用户认证,而是让BugFree使用svn的认证,因为svn通过一个间接层支持多种认证方式。
回帖
2006-03-31 13:56:44
#5
bc
访问次数 : 1
注册日期 : 06-02-13 11:25
上次访问 : 09-10-29 21:05
将BugFree和svn整合以后,有什么具体作用呢?
回帖
2006-04-07 23:15:13
#6
islq
访问次数 : 1
注册日期 : 06-03-28 11:10
上次访问 : 09-10-29 21:05
bugfree下面修改用户密码比较方便,用户自己也可以修改密码。至少比采用原始的htpasswd.exe生成密码的方法方便一点吧。
bugfree采用MD5加密存放在mysql中,而利用Mysql通过mod_auth_mysql.so来进行Web认证,也是比较常用的方法。(http://www.google.com/search?hl=zh-CN&newwindow=1&q=mod_auth_mysql.so+apache&lr=)

我在参考搂主的方法配制的时候碰到了一点问题。我使用的是mod_auth_mysql-3.0.0-for-Win32-mysql5.0.15-and-apache2.0.55,
AuthMySQLMD5Passwords On #新的版本已经不支持这种用法,而使用下面一种用法 AuthMySQLPwEncryption md5 #none | crypt | scrambled | md5 | aes | sha1
另外httpd.conf还需要增加LoadModule mysql_auth_module modules/mod_auth_mysql.so

参考链接:
http://blog.csdn.net/islq/archive/2006/04/07/654832.aspx
回帖