分类: WINDOWS
2007-09-25 22:42:56
在Win2003中构建Bugzilla软件缺陷跟踪系统
2007-09-24 kenthy#qingdaonews.com
################################################################
系统环境:Windows Server 2003
软件环境:
perl安装包:ActivePerl-5.8.1.807-MSWin32-x86.msi
apache安装包:apache_2.2.4-win32-x86-no_ssl.msi
mysql安装包:mysql-5.0.22-win32.zip
bugzilla原版:bugzilla-2.20.tar.gz
bugzilla中文语言包:bugzilla-2.20-cn-1.0.zip
bugzilla需要的perl模块包:BugzillaModules-2.20.zip
sendmail辅助程序:sendmail-bugzilla-setup.exe
全能文本批量替换机:chrep.exe
——参考下载地址:
目标功能:
使用bugzilla结合perl、apache、mysql等构建软件Bug提交及跟踪管理系统。
################################################################
一、安装perl+apache网站服务
1、将perl安装至F:\perl目录
2、将apache安装至F:\apache2.2目录
3、用记事本修改F:\apache2.2\cgi-bin\printenv.pl文件,将第一行的“#!C:/usr/bin/perl.exe”修改为“#!F:/Perl/bin/perl.exe”
4、启动apache服务,在浏览器里访问“”,应能看到显示系统的环境变量
二、安装mysql并建立bugs数据库
将mysql安装至F:\mysql目录,设置root用户密码如pwd123!,启动mysql。登陆mysql,创建bugs数据库及bugs用户,如下(OLD_PASSWORD那行命令是提供对旧版本的密码验证兼容性):
C:\> mysql -u root -p
mysql> grant all privileges on bugs.* to identified by '123456';
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('123456') WHERE Host = 'localhost' AND User = 'bugs';
mysql> flush privileges;
mysql> create database bugs;
mysql> quit
三、安装bugzilla原版、语言包及需要的perl模块、sendmail组件
1、将bugzilla-2.20.tar.gz解包后安装至F:\bugzilla-2.20目录
2、将bugzilla-2.20-cn-1.0.zip包里的cn_UTF8.zip语言包解压至F:\bugzilla-2.20\template\cn_utf8目录
3、将BugzillaModules-2.20.zip解压至F:\bzmodules目录,并执行F:\bzmodules\setup.bat安装模块
4、执行sendmail-bugzilla-setup.exe,提示bugzilla路径时输入F:\bugzilla-2.20。如需要也可设置其它的smtp服务器
四、配置bugzilla
1、在cmd界面运行“F:\bugzilla-2.20\checksetup.pl”,若所需模块已满足则进行下一步,否则需要安装对应模块。
2、使用记事本或在cmd界面使用edit工具编辑F:\bugzilla-2.20\localconfig文件,修改数据库及相关设置:
$index_html = 1;
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_port = 3306;
3、在cmd界面重新运行“F:\bugzilla-2.20\checksetup.pl”,根据提示输入管理员邮箱地址、管理密码
4、运行chrep.exe自解压包安装“全能文本批量替换机”至F:\chrep,打开F:\chrep\chrep.exe程序,对F:\bugzilla-2.20目录及子目录下的所有.pl文件和.cgi文件进行批量替换,将“#!/usr/bin/perl”替换为“#!F:/perl/bin/perl.exe”。
五、配置apache
1、修改F:\apache2.2\conf\httpd.conf文件,查找修改或添加相应设置:
DocumentRoot "F:\bugzilla-2.20"
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AddHandler cgi-script .cgi .pl
DirectoryIndex index.cgi index.html
#ScriptInterpreterSource registry
2、必要时编辑导入以下注册表信息:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Shell\ExecCGI\Command]
@="F:\\perl\\bin\\perl.exe -t"
六、测试bugzilla及修改语言设置
1、重新启动apache服务,在浏览器里访问,使用管理员邮箱、密码登陆,通过“preference”进入系统设置,将language变量修改为“cn_utf8,en”,defaultlanguage变量修改为“cn_utf8”。
2、进行添加用户帐号、提交Bug及其它功能测试……
……
……
chinaunix网友2008-01-07 09:16:48
如果bugzilla未能自动创建数据库,那么在checksetup.pl前要手动创建对应的数据库:在 mysql>提示符下运行如 create database bugs;
chinaunix网友2008-01-06 22:51:24
OLD_PASSWORD那行应该是为了对旧版mysql客户端提供兼容,可能在有些客户端用不着这样处理。你去掉那行,删除那个用户重新建个试试。要不使用“……set Password = PASSWORD(“123456”)……”试试看
chinaunix网友2008-01-04 13:27:55
按照您的教法,一直到第二次运行checksetup.pl时出错,说是数据库拒绝访问,我去试了一下,发现UPDATE mysql.user SET Password = OLD_PASSWORD('123456') WHERE Host = 'localhost' AND User = 'bugs'; 改过的用户名和密码数据库不接受,为什么呢?