Bugzilla的安装

上一篇 / 下一篇  2008-05-02 18:36:28 / 个人分类:测试生活

最新的稳定版Bugzilla是3.0版的,看了一下release notice,对附属软件有版本的要求。(只要/etc/rc.d/init.d下面有对应的服务脚本,就可以用Server httpd start/stop/restart的方式直接启动服务)

1.       Perl:用perl –v检查Perl的版本,版本号为5.8.8,要求Perl 5.8.0。

2.       Database Engine:用mysql –v检查MySQL的版本,出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock',说明MySQL服务未启动。先输入mysql_install_db初始化数据库,再输入cd /etc/rc.d/init.d 然后输入./mysqld start可以启动服务。如果要加入自启动服务队列的话,首先得看/etc下inittab文件中首先启动的id号,我的机器是5,然后在/etc/rc.d/rc5.d中添加启动服务的链接ln -s ../init.d/mysqld S94mysqld。再次用mysql –v,版本号为5.0.37,Bugzillia对Database无版本要求。另外,如果Database选用PostgreSQL的话,可用psql –v检查PostgreSQL的版本,要求8.00。

3.       Web Server:只要用支持CGI scripts的server即可,一般来说使用的是Apache。使用自启动服务ln -s ../init.d/httpd S94httpd。使用httpd –v查看版本,版本号为2.2.4。可以用http://127.0.0.1来测试服务是否正常。

4.       Bugzilla:将bugzilla-3.0.tar.gz包放入/usr/local,解包tar -zxvf bugzilla-3.0.tar.gz,进入bugzilla目录。

5.       Perl Modules:用./checksetup.pl --check-modules来检查是否拥有符合的Perl Modules。

[root@localhost bugzilla-3.0]# ./checksetup.pl --check-modules

 

* This is Bugzilla 3.0 on perl 5.8.8

* Running on Linux 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007

 

Checking perl modules...

Checking for             CGI (v2.93)   ok: found v3.15

Checking for        TimeDate (v2.21)    not found

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

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

Checking for Template-Toolkit (v2.12)   ok: found v2.18

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

Checking for Email-MIME-Modifier (any)      not found

 

Checking available perl DBD modules...

Checking for          DBD-Pg (v1.45)   ok: found v1.49

Checking for       DBD-mysql (v2.9003) ok: found v3.0008

 

The following Perl modules are optional:

Checking for              GD (v1.20)    not found

Checking for     Template-GD (any)      not found

Checking for           Chart (v1.0)     not found

Checking for         GDGraph (any)      not found

Checking for      GDTextUtil (any)      not found

Checking for        XML-Twig (any)      not found

Checking for      MIME-tools (v5.406)   not found

Checking for     libwww-perl (any)     ok: found v2.033

Checking for     PatchReader (v0.9.4)   not found

Checking for      PerlMagick (any)      not found

Checking for       perl-ldap (any)      not found

Checking for       SOAP-Lite (any)      not found

Checking for     HTML-Parser (v3.40)   ok: found v3.56

Checking for   HTML-Scrubber (any)      not found

Checking for Email-MIME-Attachment-Stripper (any)      not found

Checking for     Email-Reply (any)      not found

Checking for        mod_perl (v1.999022) ok: found v2.000003

Checking for             CGI (v3.11)   ok: found v3.15

Checking for      Apache-DBI (v0.96)    not found

显然有很多Modules没有安装,明天的基本完成目标就是到http://www.cpan.org/modules/ 下载并安装这些包。

 

 
Bugzilla的安装(续)

5.       Perl Modules:由于公司无法用ftp连到国外的网站上,所以就无法使用自动更新Perl Modules的命令perl -MCPAN -e ’install "<modulename>"’。必须得一个包一个包下载下来分别安装。

http://search.cpan.org 在这个页面上可以search到所要的tar包。(什么是CPAN?CPAN是Comprehensive Perl Archive Network的缩写,它是一个巨大的Perl软件收藏库,收集了大量有用的Perl模块(modules)及其相关的文件。)

TimeDate:在http://search.cpan.org/~gbarr/TimeDate-1.16/lib/Date/Format.pm 下载TimeDate-1.16.tar.gz,module version为2.22。在任意文件夹tar –xf <filename>后,进入目录,顺序执行perl Makefile.PL/make/make test/make install即可。其他module的安装方法与此相同。在执行make时,遇到错误

Manifying blib/man3/Date::Format.3pm

Can't open blib/man3/Date::Format.3pm for writing: 没有那个文件或目录

        at /usr/lib/perl5/5.8.8/ExtUtils/Command/MM.pm line 132

         经过石可箴的介绍,blib/man3是专门放man的说明文档的地方,对于TimeDate的运行来说不是必要的,所以在Makefile中将

         $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW) \

           lib/Date/Format.pm $(INST_MAN3DIR)/Date::Format.$(MAN3EXT) \

           lib/Date/Parse.pm $(INST_MAN3DIR)/Date::Parse.$(MAN3EXT) \

                  lib/Time/Zone.pm $(INST_MAN3DIR)/Time::Zone.$(MAN3EXT)

         用#注释掉即可。make install后,用/usr/local/bugzilla-3.0/checksetup.pl --check-modules检查TimeDate包安装完毕。想想还有17个这样的包要安装。。。我的天。。。

Email-Send:在http://www.cpan.org/modules/by-module/Email/ 下载Email-Send-2.185.tar.gz,解包后安装,perl Makefile.PL后有warning。

         Warning: prerequisite Email::Address 1.80 not found.

Warning: prerequisite Email::Simple 1.92 not found.

Warning: prerequisite Module::Pluggable 2.97 not found.

Warning: prerequisite Return::Value 1.28 not found.

                   说明Email::Address 1.80/Email::Simple 1.92/Module::Pluggable/Return::Value 1.28三个perl模块没有安装,遂即到网上找包。

                                     Email::Address:在http://search.cpan.org/~rjbs/Email-Address-1.888/lib/Email/Address.pm 下载Email-Address-1.888.tar.gz,make的时候同样发生了类似于TimeDate的make错误

                                              Manifying blib/man3/Email::Address.3pm

Can't open blib/man3/Email::Address.3pm for writing: 没有那个文件或目录

                                                      at /usr/lib/perl5/5.8.8/ExtUtils/Command/MM.pm line 132

                                                        说明一定是我机器上有环境变量或者其他什么的没有设置正确。将关键字放在google上无相关信息,随即想到了上CPAN官方论坛上求助,www.cpanforum.org,等待回复。

 

Bugzilla的安装(续)

From the official forum of CPAN, I found some users of different perl modules met the same installation problem like me. But it seems no one has solved it.

Here is the reference links: http://www.cpanforum.com/threads/264   http://www.cpanforum.com/posts/3174   http://ubuntuforums.org/archive/index.php/t-12245.html  

This is my topic: http://www.cpanforum.com/threads/5832

Since no clue to solve it, I continue to learn about DirectFB.

 

In the afternoon, I found a link in Chinese about this problem, and he has solve it! But he just used the auto update command, which based on the permission of ftp protocol… -_-!  http://www.linuxfans.org/bbs/archiver/tid-170104.html

 

Bugzilla的安装(续)

今天有大的突破,石可箴尝试了很多方法后发现,把perl module的安装文件从VMwareTool创建的目录/mnt/hgfs/ShareFolder移出来后再make即可。现在总算可以正常地手动安装下去了。随即我补完了自己先前提的问题以防后人再走弯路。http://www.cpanforum.com/threads/5832

 

Perl Modules Installed: (缩进代表安装的依赖关系)

TimeDate

Template-Toolkit

         Text::Autoformat

                   Text::Reform

         Image::Info/Image::Size

         Pod::POM

         File::Temp/File::Spec

Email-Send

         Email::Address

                   Test::Pod::Coverage

                            Pod::Coverage

                                     Devel::Symdump

                                               Test::Pod

                                                        Pod::Simple

                                                                 Pod::Escapes

                                              Test::Pod::Coverage

                                                        Pod::Coverage

碰到了棘手的问题:在安装Pod::Coverage这个module时,他的一个必须要安装的module Test::Pod::Coverage的安装,也必须要Pod::Coverage。这样就形成了一个死循环。。。

 

尝试了一下强行安装Test::Pod::Coverage这个module,报错了但好像还是装上了点东西的,层层倒退安装上去,终于把Pod::Coverage这个module强行安装上去了,保险起见,又从最低层module层层安装了一遍上来。

 

克服了这些困难后,明天应该能将perl modules搞定了。

 

Bugzilla的安装(续)

Here is all the PERL MODULES I installed these two days, it’s too too lengthy.

 

perl modules:

TimeDate

Template-Toolkit

         Text::Autoformat

                   Text::Reform

         Image::Info/Image::Size

         Pod::POM

         File::Temp/File::Spec

Email-Send

         Email::Address

                   Test::Pod::Coverage

                            Pod::Coverage

                                     Devel::Symdump

                                               Test::Pod

                                                        Pod::Simple

                                                                 Pod::Escapes

                                               Test::Pod::Coverage

                                                        Pod::Coverage

         Email::Simple

                   Test::MinimumVersion

                            File::Find::Rule::Perl

                                     File::Find::Rule

                                               Number::Compare

                                               Text::Glob

                            Perl::MinimumVersion

                                     List::Util

                                     PPI

                                               Clone

                                                        Taint::Runtime

                                               List::MoreUtils

                                               Task::Weaken

                                               Test::Object

                                                        Test::Builder

                                     Params::Util

                                     Test::Script

                                               IPC::Run3

                                     version

                            version

         Module::Pluggable

         Return::Value

         Email::Abstract

                   MIME::Entity

                            IO::Stringy

                            Mail::Field

                            Mail::Header

                            Mail::Internet

Email-MIME-Modifier

         Email::MIME

                   MIME::Types

         Email::MIME::ContentType

         Email::MIME::Encodings

         Email::MessageID

 

perl modules optional:

GD

         libgd

         Math::Trig

Template-GD

         GD::Text

         GD::Graph

         GD::Graph3D

Chart

XML-Twig

         XML::Parser

         HTML::TreeBuilder

         Tie::IxHash

         Text::Iconv

         Unicode::Map8

         Unicode::String

         XML::Handler::YAWriter

                   XML::Parser::PerlSAX

         XML::SAX::Writer

                   XML::Filter::BufferText

         LWP::Simple

         XML::Simple

                   XML::SAX

                            XML::NamespaceSupport

         XML::XPathEngine

         XML::XPath

GDGraph

GDTextUtil

MIME-tools

PatchReader

SOAP-Lite

         XMLRPC::Lite

         UDDI::Lite

         XML::Parser::Lite

HTML-Scrubber

Email-Reply

         Email::MIME::Creator

                   Email::Simple::Creator

                            Email::Date

                                     Time::Piece

Apache-DBI

Image::Magick

Net::LDAP

Email-MIME-Attachment-Stripper

 

 

The last two in red is the only modules I can’t install now.

About the Image::Magick module, when I install it, it shows ‘Note (probably harmless): No library found for -lgvc’. I think I can solve it by accessing to its website: www.imagemagick.org

About the Net::LDAP, when I install it, it will try to access to the perl server by FTP. It seems without FTP, it just can’t be installed properly. I will try to find another way to solve it tomorrow.

 

Bugzilla的安装(续)

All Perl Modules have been done!

I’ll continue to install Bugzilla platform.

 

6.         Sendmail:到www.sendmail.org 下载最新的tarball。解压后,./Build安装sendmail系统。Reboot系统,假设sendmail进程已经被自动启动的话,用

# telnet localhost 25

ehlo test

来查看sendmail运行是否正常。其中250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN代表了smtp协议工作正常。退出telnet可以用quit。

 

Bugzilla的相关文件安装工作到此为止。

 

Bugzilla的配置

首先进入/usr/local/bugzilla-3.0的目录运行# ./checksetup.pl,在bugzilla自动检查完所有module后,会生成localconfig文件,其中唯一需要改的设置是$db_pass,可以设置access入database的password。看了一下其他参数,暂时默认即可,重新运行# ./checksetup.pl以激活新的配置参数。

在Bugzilla Guide上看到一个程序叫Bugzilla Database Schema,这个软件可以将Bugzilla的database信息用图表表示出来,还可以比较不同version数据库的不同之处,觉得这个程序挺有用的,等Bugzilla正常工作后再来安装测试一下。网站地址:http://www.ravenbrook.com/project/p4dti/tool/cgi/bugzillaschema

设置MySQL支持文件的大小:在/etc/my.cnf中,增加max_allowed_packet=1M。这与Bugzilla默认的附件大小值maxattachmentsize相同。如果两个值不同的话,两者取其轻。

设置small words:为了不让Bugzilla的cc、ftp等短于4个字母的word在MySQL中错误显示,需要在/etc/my.cnf中添加ft_min_word_len=2。

为Bugzilla添加一个MySQL的用户:

mysql

GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass';

FLUSH PRIVILEGES;

超长的那句表明数据库名为’bugs’,数据库用户名为’bugs@localhost’,密码为先前在localconfig中设置的字段。

重新运行# ./checksetup.pl,现在它会检测到localconfig已经被修改。再次运行mysql,创建数据库’bugs’,create database bugs;。

明天继续。

 

Bugzilla的配置(续)

现在配置Apache:

Apache的默认访问路径:/var/www/html。默认访问页面:index.html。

把Bugzilla关联到Apache服务器中,# ln -s /usr/local/bugzilla-3.0 /var/www/html/bugzilla

设置允许Apache运行cgi-bin目录之外的CGI脚本,编辑文件/etc/httpd/conf/httpd.conf,去除注释这一行:AddHandler cgi-script. .cgi。设置默认支持字符集,将AddDefaultCharset后改成UTF-8。设置允许在bugzilla目录下运行cgi文件,增加以下内容:

<Directory /var/www/html/bugzilla>

AddHandler cgi-script. .cgi

Options +Indexes +ExecCGI +FollowSymLinks

DirectoryIndex index.cgi

AllowOverride Limit

</Directory>

重启Apache服务。

 

设置sendmail:bugzilla默认发送mail的地址为 bugs@localhost.localdomain ,通常会被其他邮件服务器认作为垃圾邮件而被block,修改/etc/mail/sendmail.mc中的LOCAL_DOMAIN为一个普通点的服务器地址,然后还要利用m4生成sendmail.cf文件,# m4 sendmail.mc > sendmail.cf。重启sendmail服务。

 

Bugzilla配置过程至此完毕。

 

在浏览器中输入http://localhost/bugzilla

即可访问Bugzilla页面了,可以使用通过perl脚本checksetup.pl创建的管理员帐号和密码登录进去。

 

现在尝试在独立的Linux上安装Bugzilla,安装进度明显比以前快很多。等到安装完毕后,将进行大规模测试,一切ok后将最终安装到server上。


TAG: bugzilla Bugzilla

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2011-06-14  
   1234
567891011
12131415161718
19202122232425
2627282930  

我的存档

数据统计

  • 访问量: 444
  • 日志数: 1
  • 建立时间: 2008-05-02
  • 更新时间: 2008-05-02

RSS订阅

Open Toolbar