CentOS下安装BugZilla 3.4.1 及一些问题的解决方法

89231441 2009-09-03

linux下安装BugZilla    Bugzilla确实是不好安装呀,尤其是我对Perl一点都不熟习,更是对一些安装过程中出现的问题,很棘手。这次我花了两天时间才安装好,而且把一些问题解决了。主要时间是花在解决问题上了。

Bugzilla安装需要perl5.8.1及以上版本、mysql4.0.14及以上版本(PostgreSQL7.3.x及以上版本)

1、下载bugzilla

下载bugzilla3.4.1。

2、下载bugzilla中文包

    现在还没有3.4.1的简体中文包,但有繁体中文包,为了使用方便,下载了一个繁体中文包:

    到http://www.bugzilla.org/download/找

3、解压bugzilla

tarzxvfbugzilla-3.4.1.tar.gz

mvbugzilla-3.4.1bugzilla

mvbugzilla/var/www/html

cd/var/www/html/bugzilla

4、运行checksetup检查bugzilla依赖的perl模块是否安装完全。

./checksetup.pl--check-modules

5、安装缺少的perl模块。安装方法:

a)如果缺少安装bugzilla必须的perl模块,执行第4步后会有缺少的perl模块的列表显示。使用perlinstall-module.pl<modulename>,将缺少的perl模块都安装上去。

b)使用perlinstall-module.pl--all自动安装bugzilla依赖的所有perl模块,遇到提示输入时直接回车。

    以上两种方法都是通过CPAN来安装的。所安装过程中,可能会出现提示输入CPAN的URL,这时可以http://www.cpan.org/SITES.html中找到一个可以访问的地址,然后使用这个可以访问的地址.

    c)在http://search.cpan.org/中搜索,下载到本地,进行手动安装。

    我是用第二种方法,这样简单。

6、生成localconfig文件。执行:

安装完perl模块后,执行./checksetup.pl生成localconfig文件,修改该文件的数据库用户名密码等信息。

//为BugZilla建立数据库用户和密码,并授权.

GRANTSELECT,INSERT,

UPDATE,DELETE,INDEX,ALTER,CREATE,LOCKTABLES,

CREATETEMPORARYTABLES,DROP,REFERENCESONbugs.*

TObugs@localhostIDENTIFIEDBY'您的密码';

FLUSHPRIVILEGES;

7、生成bugzilla需要的数据库schema。执行:

./checksetup.pl生成BugZilla所需要的数据库schema.数据库schema生成完成后,将会提示输入管理员邮件地址、真实用户名、密码。

8、配置apache,修改httpd.conf文件(假设将bugzilla安装在/var/www/html/bugzilla),增加:

<Directory"/var/www/html/bugzilla">

AddHandlercgi-script.cgi

Options+Indexes+ExecCGI

DirectoryIndexindex.cgi

AllowOverrideLimit

</Directory>

9、中文支持

10、修改bugzilla的界面显示:

unzip-dcustomcustom.zip

cp-frcustom/var/www/html/bugzilla/skins/

注:

1、允许大附件:在/etc/my.cnf中(mysql配置文件)增加:

[mysqld]

#Allowpacketsupto1M

max_allowed_packet=1M

2、允许少量词的全文检索,在/etc/my.cnf文件中增加:

[mysqld]

#Allowsmallwordsinfull-textindexes

ft_min_word_len=2

默认情况下,必须要有至少4个字符才能进行全文检索。

3、允许bugzilla数据库中的attachments表大小能超过4GB.

mysql>use$bugs_db//$bugs_db为bugzilla使用的数据库。

mysql>ALTERTABLEattachments

AVG_ROW_LENGTH=1000000,MAX_ROWS=20000;

上面命令将attachments表大小增加到20GB。

4、bugzill参数设置及其他相关设置参考官方文档:

http://www.bugzilla.org/docs/

5、连接Mysql的问题

如果第3步运行 checksetup.pl 报错无法连接数据库
Reading ./localconfig...

CheckingforDBD-mysql(v4.00)ok:foundv4.010

HadtocreateDBD::mysql::dr::imp_data_sizeunexpectedlyat/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/DBI.pmline1190,<DATA>line275.

Useofuninitializedvalueinsubroutineentryat/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/DBI.pmline1190,<DATA>line275.

HadtocreateDBD::mysql::db::imp_data_sizeunexpectedlyat/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/DBI.pmline1190,<DATA>line275.

Useofuninitializedvalueinsubroutineentryat/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/DBI.pmline1190,<DATA>line275.

TherewasanerrorconnectingtoMySQL:

Undefinedsubroutine&DBD::mysql::db::_logincalledatlib/x86_64-linux-thread-multi/DBD/mysql.pmline142,<DATA>line275.

Thismighthaveseveralreasons:

*MySQLisnotrunning.

*MySQLisrunning,butthereisaproblemeitherinthe

serverconfigurationorthedatabaseaccessrights.ReadtheBugzilla

Guideinthedocdirectory.Thesectionaboutdatabaseconfiguration

shouldhelp.

*Yourpasswordforthe'bugs'user,specifiedin$db_pass,is

incorrect,in'./localconfig'.

*ThereisasubtleproblemwithPerl,DBI,orMySQL.Make

sureallsettingsin'./localconfig'arecorrect.Ifallelsefails,set

'$db_check' to 0.

这个问题的解决方法在:http://kevin.9511.net/archives/294.html中有说明,但我用它的方法没有解决,但它给我带来了解决的思路。我的解决方法是:

#find/-namelibmysqlclient.so

#cdlibmysqlclient.so所在的目录

#cp*/usr/lib/

最后再执行checksetup.pl

相关推荐