bigtall最近喜欢上了绿色软件,主要原因是它可以最大限度地保证不拖累我的机器运行。因为bigtall个人工作的需要,在自己机器上安装了一个svn的服务器,把七七八八的代码全部塞到了里边,装起来很简单,下载zip包直接解压缩就可以了,不过这是题外话,跟本文无关。
我用的操作系统是vista旗舰版,要绿色安装bugzilla,首先需要下载如下的东西:
请允许bigtall给大家解释一下我们要下载的东西:
- xampp是一个绿色安装版的集合,里边包括了apache、mysql、php、perl、myphpadmin、ftp server、mail server等等,xampp是我们绿色软件发烧友装机必备的工具,老少咸宜,童叟无欺,安装简单,使用方便,是居家编程必备良友!
- 以上的xampp并不包含完整的perl环境,所以我们需要下载一个额外的包perl addon。
- bugzilla环境,就是我们本文的主要目的了。(如果有人看不懂,请举手!)
- 国内朋友翻译的中文包,可惜版本太老了,会出现一些错误,有人想要继续汉化的请加油!
注意:目前xampp的最新版是1.6.4,但是请不要下载,因为其中的apache2.2.6包含了一个严重的bug,导致所有fast cgi接口的程序都无法使用,包括我们要用的perl。
随后就是安装步骤了,请大家跟bigtall一起按照步骤继续:
- 解压缩xampp win32 1.6.3a到你指定的目录,这里bigtall的目录是d:\tools\net\xampp。下文的路径都按照bigtall的实际安装路径,请大家操作时候注意更改。
- 解压缩xampp perl addon到同一个目录
- 运行目录下面的setup_xampp.bat,它会遍历里边各个部件的配置文件,把里边的路径修改成正确的路径。
- 启动apache_start.bat和mysql_start.bat,然后浏览器中访问http://localhost,你可以看到正常的页面,并且phpinfo和perlinfo页面都可以返回正确的内容的话。恭喜你,第一阶段已经完成了。如果你愿意用phpMyAdmin的话,记得去D:\tools\net\xampp\phpMyAdmin\config.inc.php文件中修改一下mysql的root用户的密码(默认没有密码)。
- 解压缩bugzilla到你指定的目录,这里bigtall解压缩到d:\tools\net\bugzilla中。
- 接下来我们开始配置d:\tools\net\xampp\apache\conf\httpd.conf,在文件的最后一行加入
Include conf/extra/apache-bugzilla.conf
然后生成一个新文件D:\tools\net\xampp\apache\conf\extra\apache-bugzilla.conf,输入如下的内容:Alias /bugzilla "d:/tools/net/bugzilla"
<Directory "d:/tools/net/bugzilla">
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>当然也可以把这个内容直接放到httpd.conf中的。
- 修改mysql的配置文件D:\tools\net\xampp\mysql\bin\my.cnf,把包含skip-innodb的行注释掉(行首加#符号即可),然后把随后的innodb_开头的5行取消注释(把行首的#去掉),set-开头的5行取消注释。保存修改。
- 切换到mysql\bin目录下,运行命令mysql --user=root -p mysql,并在mysql>提示符下依次输入如下的命令:
create database bugs;
grant all privileges on bugs.* to 'bugs'@'localhost' identified by 'sockmonkey';
flush privileges;
quit
然后重新用命令mysql --user=root -p mysql,在mysql>提示符下依次输入
set password for 'bugs'@'localhost' = OLD_PASSWORD('sockmonkey');
quit
本步骤也可以通过phpMyAdmin来进行。 - 用notepad创建文件cgi.reg,输入如下内容之后,用regedit导入:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cgi]
[HKEY_CLASSES_ROOT\.cgi\Shell]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
@="d:\\tools\\net\\xampp\\perl\\bin\\perl.exe -T" - 打开命令行cmd.exe,我们准备开始补全bugzilla所需的perl模块。依次运行如下的命令:
set path=d:\tools\net\xampp\perl\bin;%path%
ppm rep add Bugzilla http://landfill.bugzilla.org/ppm
ppm install AppConfig
ppm install TimeDate
ppm install DBI
ppm install DBD-mysql
ppm install Template-Toolkit
ppm install MailTools
ppm install GD
ppm install Chart
ppm install GDGraph
ppm install Net::LDAP
ppm uninstall PatchReader
ppm install http://landfill.bugzilla.org/ppm/PatchReader.ppd如果运行出现ppm install failed字样,则运行ppm.bat打开图形界面,选择安装失败的模块重新安装一下即可。
- 将当前目录切换到bugzilla所在目录,运行perl checksetup.pl检查所需的perl模块是否都安装成功。这里要注意的是checksetup.pl结果报告中
***********************************************************************
* REQUIRED MODULES *
***********************************************************************和
**********************************************************************
* OPTIONAL MODULES *
**********************************************************************的区别,bigtall就是因为没看清,结果为了一个可选的PerlMagick模块忙乎了半天。我们只需要安装必要的模块。
- 在所有bugzilla所需的模块都安装好之后,checksetup.pl会在bugzilla目录下生成一个localconfig文件。修改localconfig中的$db_name,$db_user和$db_pass为你在步骤8设置的内容,这里应该是"bugs","bugs"和'sockmonkey'。
- 使用xampp目录下的apache_stop.bat和mysql_stop.bat停止apache和mysql,然后再重新用apache_start.bat,mysql_start.bat和mercury_start.bat分别启动apache,mysql和mercury邮件服务。
- 在mercury的界面菜单configuration/manage local user界面中添加用户bugzillaAdmin。
- 继续运行perl checksetup.pl直到报告安装成功。当脚本询问管理员电子邮件的时候,输入bugzillaAdmin@127.0.0.1。
- 浏览器访问http://localhost/bugzilla,此时应该出现bugzilla的登录页面,用用户名bugzillaAdmin@127.0.0.1登录即可。
安装时候可能会遇到如下的问题:
- 安装perl模块PathTools(其他模块也有可能)的时候可能会出现如下错误提示:ppm install failed: File conflict; package File-Spec already provide
/perl/site/lib/File/Spec/Functions.pm
解决方法就是进入ppm图形界面,把模块File-Spec删除之后重新安装PathTools模块。 - 访问http://localhost/bugzilla的时候出现错误内容,提示couldn't create child process: 720003: index.cgi ,解决方法参考步骤9。
- 如果出现访问时候报告500错误,apache日志中出现“Error reading ./data/params: Bad file descriptor at Bugzilla/Config.pm line 315.”字样,则把bugzilla/data/params文件删除掉,重新运行perl checksetup.pl即可修复,修复之后系统会提示需要重新设置几个主要参数。
参考文献: