Bugzilla的安装过程是通过运行checksetup.pl脚本完成的,首先它会检查当前环境是否有运行Bugzilla所需要的Perl模块,以及这些模块的版本是否满足要求。
运行checksetup.pl脚本需要管理员权限,或者使用sudo。
运行命令检查Perl模块是否完整:
$cdbugziila
$sudoperl checksetup.pl --check-modules
此命令会返回一组必须和可选的Perl模块列表,以及模块对应的最低版本(列表可能会很长,当然有些模块系统中可能已经存在)。如果已经安装了模块,也会列出这些已有的模块和它们的版本信息。
安装没有的Perl模块最好的方式是使用操作系统提供的包管理器程序(如Linux上的rpm或yum,Windows上的ActivePerlppm)。如果某些Perl模块版本太旧或者不存在,建议使用install-module.pl脚本(此脚本在Windows的ActivePerl上不可用)。当然也可以自己手工编译后安装。
Ubuntu上可用命令安装模块:
perlinstall-module.pl <modulename>
也可使用Bugzilla提供的脚本安装所有需要的模块:
$perlinstall-module.pl --all
若某些模块安装不了,可以单独安装或下载源码安装。
注意:补充安装说明如下,实际情况和具体环境有关,需要另行处理某些模块的安装:
如果没有安装gcc编译器,则可以通过运行下面的命令安装:
sudoapt-get install gcc-4.7
sudoapt-get install gcc
安装make
apt-getinstall make
安装GD有问题时,可先运行命令:
apt-get-y install libgd2-xpm-dev build-essential
安装mod_perl:
sudoapt-get install apache2 apache2-mpm-prefork
sudoapt-get install libapache2-mod-perl2 libapache2-mod-apreq2
上述命令运行后,不能安装Apache2::SizeLimit,运行如下命令重新安装mod_perl和Apache2::SizeLimit:
安装mod_perl& Apache2::SizeLimit modules if they did not get installed
apt-getinstall libapache2-mod-perl2 libapache2-mod-perl2-devlibapache2-mod-perl2-doc
/usr/bin/perlinstall-module.pl Apache2::SizeLimit
安装XML::Twig:
apt-getinstall libxml-twig-perl libxml-rss-perl
再次运行perlchecksetup.pl --check-modules,提示:
Checkingfor mod_headers (any) not found
Checkingfor mod_expires (any) not found
运行命令:
sudoa2enmod headers
sudoa2enmod expires
andthen restart apache
sudo/etc/init.d/apache2 restart
之后再运行perlchecksetup.pl --check-modules,不会再有没安装的模块。
注意:
如果使用基于包的系统,试图从CPAN安装Perl模块时,可能需要先为MySQL和GD安装开发包才能安装相应的Perl模块。这些包的名称和你使用的特定版本相关,不过通常名称都为<packagename>-devel。
下面是完整的Perl模块列表和它们最低要求版本(某些模块有特殊的安装说明):
必须的Perl模块列表
1.CGI (3.51)
2.Date::Format (2.21)
3.DateTime (0.28)
4.DateTime::TimeZone (0.71)
5.DBI (1.41)
6.DBD::mysql (4.001) 如果使用MySQL
7.DBD::Pg (1.45) 如果使用PostgreSQL
8.DBD::Oracle (1.19) 如果使用Oracle
9.Digest::SHA (any)
10.Email::Send (2.00)
11.Email::MIME (1.904)
12.Template (2.22)
13.URI (1.37)
可选的Perl模块列表
1.GD (1.20) Bug图表
2.Template::Plugin::GD::Image (any) 图形报告
3.Chart::Lines (2.1) Bug图表
4.GD::Graph (any) Bug图表
5.GD::Text (any) Bug图表
6.XML::Twig (any) Bug导入/导出
7.MIME::Parser (5.406) Bug导入/导出
8.LWP::UserAgent (any) 自动更新通知
9.PatchReader (0.9.6) for pretty HTML view of patches
10.Net::LDAP (any) LDAP集成认证
11.Authen::SASL (any) SASL集成认证
12.Authen::Radius (any) RADIUS集成认证
13.SOAP::Lite (0.712) for the web service interface
14.JSON::RPC (any) for the JSON-RPC interface
15.Test::Taint (any) for the web service interface
16.HTML::Parser (3.40) for More HTML in Product/Group Descriptions
17.HTML::Scrubber (any) for Mo
reHTML in Product/Group Descriptions
18.Email::MIME::Attachment::Stripper (any) for Inbound Email
19.Email::Reply (any) for Inbound Email
20.TheSchwartz (any) 邮件队列
21.Daemon::Generic (any) 邮件队列
22.mod_perl2 (1.999022) for mod_perl