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
tar zxvf bugzilla-3.4.1.tar.gz
mv bugzilla-3.4.1 bugzilla
mv bugzilla /var/www/html
cd /var/www/html/bugzilla
4、运行checksetup检查bugzilla依赖的perl模块是否安装完全。
./checksetup.pl --check-modules
5、安装缺少的perl模块。安装方法:
a)如果缺少安装bugzilla必须的perl模块,执行第4步后会有缺少的perl模块的列表显示。使用perl install-module.pl <modulename> ,将缺少的perl模块都安装上去。
b)使用perl install-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建立数据库用户和密码,并授权.
GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY '您的密码';
FLUSH PRIVILEGES;
7、生成bugzilla需要的数据库schema。执行:
./checksetup.pl 生成BugZilla所需要的数据库schema.数据库schema生成完成后,将会提示输入管理员邮件地址、真实用户名、密码。
8、配置apache,修改httpd.conf文件(假设将bugzilla安装在/var/www/html/bugzilla),增加:
<Directory "/var/www/html/bugzilla">
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
9、中文支持
10、修改bugzilla的界面显示:
unzip -d custom custom.zip
cp -fr custom /var/www/html/bugzilla/skins/
注:
1、允许大附件:在/etc/my.cnf中(mysql配置文件)增加:
[mysqld]
# Allow packets up to 1M
max_allowed_packet=1M
2、允许少量词的全文检索,在/etc/my.cnf文件中增加:
[mysqld]
# Allow small words in full-text indexes
ft_min_word_len=2
默认情况下,必须要有至少4个字符才能进行全文检索。
3、允许bugzilla数据库中的attachments表大小能超过4GB.
mysql> use $bugs_db //$bugs_db为bugzilla使用的数据库。
mysql> ALTER TABLE attachments
AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
上面命令将attachments表大小增加到20GB。
4、bugzill参数设置及其他相关设置参考官方文档:
http://www.bugzilla.org/docs/
5、连接Mysql的问题
如果第3步运行 checksetup.pl 报错无法连接数据库
这个问题的解决方法在:http://kevin.9511.net/archives/294.html 中有说明,但我用它的方法没有解决,但它给我带来了解决的思路。我的解决方法是:
#find / -name libmysqlclient.so
#cd libmysqlclient.so所在的目录
#cp * /usr/lib/
最后再执行checksetup.pl