Bugzilla安装配置(Rhel+Apache+MySQL)

 

 

Bugzilla安装手册

 

 

  本:

Bugzilla 3.2

 

操作系统:

Redhat Enterprise Linux 5

 

 

 

 

                                                                                   

 

 

2009-01-22

1. 关于本手册... 3

1.1 新版本... 3

2. 安装Bugzilla. 3

2.1 安装... 3

2.1.1 Perl 3

2.1.2 数据库... 4

2.1.3 Web Server 4

2.1.4 Bugzilla. 4

2.1.5 Perl Modules 5

2.2 配置... 6

2.2.1 localconfig. 6

2.2.2 数据库... 6

2.2.3 checksetup.pl 7

2.2.4 Web Server 7

2.2.5 Bugzilla. 8

附录APerl Modules 9

附录B.常见问题... 10

附录C.手动安装Perl Module. 10

术语表... 10

 


1. 关于本手册

1.1 新版本

这个安装手册是针Bugzilla V3.2的。最新版本的手册可以在http://www.bugzilla.org/docs/上找到。

2. 安装Bugzilla

2.1 安装

Bugzilla一般安装在LinuxSolaris上。如果你打算安装在其他操作系统上,请搜索相关文档。在Windows上安装可以查看:http://www.itjj.net/softtest/tools/20080527/298651.html

在安装前,请确定你拥有这台机器的管理员权限。

 

警告

安装过程可能会使你的机器不太安全,请确保防火墙已经启用。

 

 

 安装过程如下:

1.       安装Perl5.81或以上)

2.       安装数据库

3.       安装Web server

4.       安装Bugzilla

5.       安装Perl Modules

6.       安装MTAsendmail 8.7或以上)

7.       配置以上所有

2.1.1 Perl

 

Any machine that doesn’t have Perl on it is a sad machine indeed.

 

 查看已安装的版本:

bash$  perl –v

 

如果你的机器上没有安装,可以访问http://www.perl.com。尽管Bugzilla运行在Perl 5.8.1上,最好安装一个最新的稳定版本。

2.1.2 数据库

  Bugzilla支持MySQLPostgreSQLOracle作为数据库服务器。可选择安装一个。

本手册中使用MySQL

2.1.2.1 MySQL

  查看已安装的版本:

bash$  mysql –v

 

如果你没有安装,可以访问http://www.mysql.com。下载MySQL 4.2或以上版本。

 

Note

很多二进制版本的MySQL把它们的数据文件存储在/var。然而在一些Unix系统上,这只是root分区的一小部分。对于你的bug数据库,空间可能会不够。要更改存储数据的目录,必须从源码重新编译,在configure时作为一个选项设置。

 


  安装完成后,确定MySQL是否在系统启动时自动运行。

 bash#  checkconfig - -list | grep mysqld

 

  如果运行级别为35的状态为off,执行如下命令:

bash#  checkconfig - -level 35 mysqld on

2.1.3 Web Server

查看已经安装的版本,访问默认的欢迎界面:http://localhost/

本例中使用Apache Web Server,如果没有安装,访问http://apache.org/,下载1.3.x2.x版本。

2.1.4 Bugzilla

访问http://www.bugzilla.org/download,下载3.2版本的Bugzilla

解压文件后,将bugzilla-3.2重命名为bugzilla并移动到/var/www/html/目录下。

bash#  tar –xzvf bugzilla-3.2.tar.gz

bash#  mv –f ./bugzilla-3.2 /var/www/html/bugzilla

修改这个目录的属性,使webserver可以读写这个目录。

bash#  chmod –R root:apache bugzilla

这只是完成了bugzilla的临时安装,在完成Perl Modules的安装后,执行checksetup.pl后才可以正常使用。

2.1.5 Perl Modules

  Bugzilla的安装过程基于checksetup.pl脚本。它首先要检查你是否已经安装了必要的、合适版本的Perl模块。这一节的目的就是通过检查。这部分通过后,就可以进行2.2节部分了。

  因此,你要切换到root用户,直到安装结束。检查必要模块、可选模块是否已经安装:

  bash#  ./checksetup.pl - -check-modules

 

  checksetup.pl会打印出必要的、可选的模块列表,包括它们的版本号。下面是执行checksetup.pl后的部分结果:

 

* This is Bugzilla 3.2 on perl 5.8.8

* Running on Linux 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007

 

Checking perl modules...

Checking for              CGI.pm (v3.21)    found v3.15

Checking for            TimeDate (v2.21)    not found

Checking for           PathTools (v0.84)   ok: found v3.12

Checking for                 DBI (v1.41)   ok: found v1.52

Checking for    Template-Toolkit (v2.15)    not found

Checking for          Email-Send (v2.00)    not found

Checking for          Email-MIME (v1.861)   not found

Checking for Email-MIME-Modifier (v1.442)   not found

 

Checking available perl DBD modules...

Checking for              DBD-Pg (v1.45)    not found

Checking for           DBD-mysql (v4.00)    found v3.0007

Checking for          DBD-Oracle (v1.19)    not found

 

The following Perl modules are optional:

Checking for                  GD (v1.20)    not found

Checking for               Chart (v1.0)     not found

 


检查结果

解释

ok

已经安装且版本满足最低要求

found

已经安装但版本较低,如:CGI.pm(v3.21) found v3.15

not found

没有安装,required的模块必须安装;optional的模块可选择安装

2.1-1 checksetup.pl检查结果

  Unix上安装Perl 模块的最好的方法是使用CPAN,在Windows上则使用PPM。下面的例子是使用CPAN安装,如果手动安装,请参考附录C

  bash#  perl –MCPAN –e ‘install <modulename>’

 

  附录Arhel上的模块安装列表。该列表是按照安装顺序排列的。

2.2 配置

2.2.1 localconfig

  再次执行checksetup.pl,不需要加参数。

  bash#  ./checksetup.pl

 

  这次checksetup.pl会列出你已经正确安装的Perl模块及版本信息。还会生成一个localconfig文件。这里面包含bugzilla一些参数的默认设置。

  用文本编辑器打开localconfig,需要修改$db_driver$db_pass两个值。更改$db_driver为正确的数据库,如:mysqlPgoracle(本例中使用mysql)。修改$db_pass,为访问数据库创建一个密码。

 

Note

如果使用Oracle,则$db_driver应该为数据库的SID

 

 

  如果你的Web Server不是以“apache”组运行的,还应该修改webservergroup

2.2.2 数据库

  这一部分主要配置Bugzilla使用的数据库服务器。本例中使用的是MySQL

2.2.2.1 MySQL

警告

MySQL的默认设置是很不安全的。后面章节中会有提高安全性的详细信息

 

2.2.2.1.1 全文索引

  MySQL全文索引查询所用关键词最小长度默认4个字符。这样会使bugzilla的很多特殊词被忽略,如:ccftpuri

  打开/et       c/my.conf,按照如下修改:

  [mysqld]

# Allow small words in full-text indexes

ft_min_word_len=2

 

参考这个文章重建索引:http://www.mysql.com/doc/en/Fulltext_Finetuning.html

2.2.2.1.2 添加用户

  需要为bugzilla创建一个新的MySQL用户(让bugzilla使用root用户是很不安全的)。

  下面的例子基于localconfig的默认设置。如果你更改过,需要在下面的SQL中做同样的修改。“$db_pass”要替换为localconfig中的值(本例中$db_pass=bugs)。

  mysql> CREATE DATABASE bugs;

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs IDENTIFIED by “bugs”;

mysql> FLUSH PRIVILEGES;

2.2.2.1.3 修改表大小限制

  按照默认设置,MySQL会限制表大小不超过4GB。在MySQL命令行中输入以下进行修改,将$bugs_db修改为你的bugzilla数据库的名字。

  mysql> use $bugs_db

  mysql> ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=2000;

 

  以上命令会将限制改为20GB

2.2.3 checksetup.pl

  接下来,重新运行checksetup.pl。它会编译UI模板,连接到数据库并创建数据库及表。

  完成后,会请求你输入管理员帐号的信息。Bugzilla可以有多个管理员帐号(你可以在稍后进行创建),但是你需要有一个来开始。输入管理员的Email地址,他或她的全称,以及密码。

  Checksetup.pl就执行完成了,你可以在任何时候重新执行它。

2.2.4 Web Server

2.2.4.1 Apache
2.2.4.1.1 Apache httpdmod_cgi模式

  为配置Apache web server,使Bugzilla可以使用mod_cgi模式:

1.       打开/etc/httpd/conf/httpd.conf

2.       Apache使用<Directory>命令以允许细节的权限设置。添加如下几行,在这个例子中,Bugzilla安装在/var/www/html/bugzilla

<Directory /var/www/html/bugzilla>

AddHandler cgi-script.cgi

Options +Indexes +ExecCGI

DirectoryIndex index.cgi

AllowOverride Limit

</Directory>

解释:允许apache运行在bugzilla目录发现的.cgi文件;如果在浏览器中只输入目录名称,会提示server查找index.cgiallows Bugzilla’s .htaccess files to override global permissions

3.       checksetup.pl如果知道web server是以哪个组运行的,就可以设置Bugzilla的文件和目录的权限。在httpd.conf中找到Group一行,将这个值赋给localconfig中的$webservergroup变量,然后重新运行checksetup.pl

4.       如果bugzilla并不是真正安装在/var/www/html/目录下,而只是一个符号链接,那么在Bugzilla<Directory>Options一行后面添加如下:

+FollowSymLinks

2.2.5 Bugzilla

  经过以上配置,你的Bugzilla应该可以使用了。访问http://<your-bugzilla-server>/bugzilla,你可以看见bugzilla的首页,如果不能正常访问,参见附录B


附录APerl Modules

注:

1.        在安装时,有些模块还依赖其他的模块,这里一并列出了,如果你需要的模块不包含在内,请根据提示信息,在http://search.cpan.org/上下载相应的模块。下面的模块实际上是下载后的tarball的名称,在搜索时将下面模块间的“-”替换为“::”。如:Template-Toolkit,在搜索时输入:Template::Toolkit

2.        安装顺序如同序号

3.        安装DBD-mysql前,需要安装mysql的开发包

4.        DBIDBD-mysql模块的版本固定外,其他模块均可使用最新版本

No.

Modules

Required

Optional

1

FCGI (0.67)

GD (2.41)

2

CGI (3.42)

Chart (2.4.1)

3

TimeDate (1.16)

Template-GD (2.66)

4

Template-Toolkit (2.20)

GDTextUtil (0.86)

5

Email-Address (1.889)

GDGraph (1.44)

6

Email-Simple (2.004)

XML-Parser (2.36)

7

Module-Pluggable (3.8)

XML-Twig (3.32)

8

Return-Value (1.302)

File-Temp (0.21)

9

Email-Send (2.194)

IO-stringy (2.110)

10

Email-MIME-ContentType (1.014)

MailTools (2.04)

11

Email-MIME-Encodings (1.311)

MIME-tools (5.427)

12

Pod-Escapes (1.04)

PatchReader (0.9.5)

13

Pod-Simple (3.07)

PerlMagick (6.40) 未安装成功

14

Test-Pod (1.26)

Convert-ASN1 (0.22)

15

MIME-Types (1.26)

GSSAPI (0.26)

16

Email-MIME (1.861)

Authen::SASL (2.12)

17

Email-MessageID (1.400)

Text-Iconv (1.7)

18

Email-MIME-Modifier (1.442)

XML-NamespaceSupport (1.09)

19

DBI (1.50)

XML-SAX (0.96)

20

mysql-devel-5.0.22-2.1.0.1.i386.rpm

XML-SAX-Base (1.02)

21

DBD-mysql (4.00)

XML-Filter-BufferText (1.01)

22

 

XML-SAX-Writer (0.52)

23

 

perl-ldap (0.39)

24

 

Data-HexDump (0.02)

25

 

RadiusPerl (0.13)

26

 

HTML-Scrubber (0.08)

27

 

Email-MIME-Attachment-Stripper (1.315)

28

 

Email-Abstract (3.001)

29

 

Email-Data-Format (1.002)

30

 

Email-Simple-Creator (1.424)

31

 

Email-MIME-Creator (1.454)

32

 

Email-Reply (1.202)

 

附录B.常见问题

1.       手动安装Perl模块时,如果提示<modulename> not found,说明依赖这个模块,须先安装这个模块。

2.        

附录C.手动安装Perl Module

  http://search.cpan.org/上搜索并下载合适版本的模块。

  切换到root用户后:

bash#  tar –xzvf <module>.tar.gz

bash#  cd <module>

bash#  perl Makefile.PL

bash#  make

bash#  make test

bash#  make install

 

术语表

词汇

解释

MTA

Mail Transfer Agent,邮件传送代理。在Unix/Linux上,最著名的MTAsendmailqmail等。

CPAN

Comprehensive Perl Archive NetworkPerl综合典藏网;它包含了极多用Perl写成的软件和其文件。 CPAN亦是一个Perl程序的名字,其作用是让使用者容易从CPAN下载、安装、更新及管理其他在CPAN上的Perl程序。

CPAN的成功引很多其他程式語言社群的模仿。CTANComprehensive TeX Archive NetworkTeX合典藏)和CSANComprehensive Scheme Archive NetworkScheme合典藏)都考了CPAN的命名方式。另外PEARPHP Extension and Application Repository)也是类似CPANPHP程序网站。

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值