2009年12月4日星期五

BugZilla安装注意事项

BugZilla安装注意事项 


在安装Bugzilla的过程中遇到一些问题,在网上查找资料后,已经安装成功,现将遇到的一些问题记录下来,供需要的人参考。其中对我帮助较大的一篇文章是: http://demon3780.javaeye.com/blog/145814#

我在该文章基础上做了些修改,并写出了一些注意事项。

 一:安装activeperl
      activeperl的下载和安装比较简单。 到
http://www.activestate.com/activeperl/下载最新的安装即可。   

二:安装mysql
      到 www.mysql.com 下载最新的版本。安装也很简单,在安装的过程中,一定要记住root密码,默认为空。

      安装好mysql后,要进行一些配置:

      安装完成后,有一个MySQL Command  Line Client,打开该程序,会提示并输入root密码。

如果不用该控制台,也可以通过cmd,进入到mysql的bin目录,用  mysql -u root -p 进入mysql的配置管理

首先创建bugs数据库:

mysql>create database bugs; (注意,末尾有个分号)

创建bugs用户,并授权

mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost

IDENTIFIED BY 'bugs'; 修改bugs用户的密码:

mysql>set password for 'bugs'@'localhost' = OLD_PASSWORD('bugspassword');

最后刷新一下

mysql> FLUSH PRIVILEGES;

检查bugs用户是否创建成功:

mysql> quit

mysql> mysql -u bugs -p

Enter password:bugs

  注:默认安装会将mysql加入系统服务中并自动启动,如果是手动模式则不会将mysql加入系统服务中,需自己加到系统服务中(打开cmd进入到mysql的bin目录,安装服务mysql
install mysql5;启动服务net start mysql5.),再创建数据库和用户。
三:安装bugzilla
  下载解压后,进入到bugzilla根目录下
  首先说一下checksetup.pl这个文件,bugzilla的安装和配置可以说全靠它,通常来说,要运行3次perl checksetup.pl
(1)安装缺少的模块
>perl checksetup.pl --check-modules 
根据提示,把需要安装的模块复制到一个记事本上,以便后面安装模块的时候查看。

以下过程可以使用ActivePerl 自带的PPM来进行,由于是图形界面,所以比较方便。在PPM界面上选择缺少的模块,然后安装即可,如果没有合适的版本,可以在PPM中添加另外一个的服务器试试。

保留以下部分是供可能需要的人参考

根据checksetup的提示,windows用户需要首先运行(必须最先运行,否则下面的模块找不到下载站点)
ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms
据提示一步一步安装perl模块,
>ppm install Email-Send
  如果有的模块在主站下载不到,可以使用--force从其他站点下载;如上面的ppm install --force Email-Send

  perl模块会下载到 Perl安装目录下的site\lib中,

安装中ImageMagick好像无法下载 可以下载ImageMagick-6.3.7-0-Q16-windows-dll.exe下载地址:http://www.imagemagick.org/script/binary-releases.php#windows ,在安装的时候切记选中"Install PerlMagick for ActiveState Perl v5.8.8 build822"
安装过程中可以多次运行 perl checksetup.pl --check-modules,如果有模块没有安装会有提示的如图
(2)修改配置文件

安装完所有的模块后,再次运行perl checksetup.pl,如果主要的模块都正确安装,会在bugzilla的目录下生成一个localconfig文件修改该文件,主要是以下几个配置:
  $db_host = 'localhost';  主机名称:mysql的数据库在本机

  $db_name = 'bugs';      数据库名称,在第二步安装mysql时已创建好了
  $db_user = 'bugs';        数据库用户名,在第二步已经创建好了
  $db_pass = 'bugs';       数据库访问的密码,在第二步已经创建好了

(3)
最后,再次运行perl checksetup.pl,会看到一些创建表的信息,并且中途会提示你输入管理员的相关信息。
只要注意mysql的语句最后是有分号的,按照上面的命令做应该不会有什么问题
四:安装配置apache
 apache的几乎所有的配置都在安装目录下conf文件夹下的httpd.conf文件中。打开该文件做以下几个修改:

1 确定监听端口未被占用,默认为80端口,如果被其他web服务器占用,则修改该端口号

 Listen 80

  2 修改主目录配置

若要直接通过http://localhost/访问,则修改主目录
修改DocumentRoot参数,默认情况下该参数是指向apache的安装目录下的htdos文件夹,修改该参数为bugzilla的安装路径下。同时要记得修改下面的参数

配置CGI访问,需要把下面这一句前面的#给去掉

AddHandler cgi-script .cgi


修改Options Indexes FollowSymLinks 为 Options Indexes FollowSymLinks ExecCGI

修改AllowOverride None为AllowOverride All

在AllowOverride All下一行添加ScriptInterpreterSource Registry-Strict

修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi
 
3 修改注册表,新建项HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command修改默认值为 E:\Perl\bin\perl.exe -T 重启apache 
配置完成,输入

http://localhost/ 就可以看到bugzilla的主页面了
 

如果是IIS则配置如下:


配置IIS: 
1. 打开【控制面板】->【管理工具】->【Internet 服务管理器】,在【默认 Web 站点】点按右键选择【属性】->【主目录】->【配置…】,在【应用程序映射】中点击【添加】 
,增加如下资料:

2. Perl脚本解析器:(*.pl)

可执行文件: D:\Perl\bin\perl.exe "%s" %s

扩展名: .pl 仅限于: GET,HEAD,POST 3. CGI脚本解析器:(*.cgi)
可执行文件: D:\Perl\bin\perl.exe "%s" %s 扩展名: .cgi 仅限于: GET,HEAD,POST 4. 默认 Web 站点】->【新建】->【虚拟目录】: 别名:Bugzilla,访问目录:D:\Bugzilla,访问权限中增加【写入】权限。 5. 选择刚建立的虚拟目录Bugzilla,右键选择【属性】-> 【文档】。【默认文档】中增加index.cgi。
安装这些模块有2种方式,离线安装和在线安装,我采用的是在线安装,如果需要离线安装,首先要到bugzilla的网站上去下载一个包,好像叫做bugzilla-boud(我在网上找了没找到,最好还是在线安装,下载需要较长的时间)


五. 邮件配置:
登录到Bugzilla的管理界面,将Email发送方式配置为SMTP,输入SMTP服务器地址:smtp.163.com, 输入用户名(不用@163.com),密码。如果出现 Can't locate Authen/SASL.pm in @INC,则需要用ActivePerl的PPM安装Authen::SASL,然后可以使用了。看到网上有些人去修改Bugzilla的perl代码去发送邮件,应该是因为没有安装Authen::SASL的缘故。