在CentOS上安装Bugzilla

这几天一直在折腾Bugzilla,原以为应该挺简单的,却也是一波三折。下面是“被虐”的过程:

一、下载

由于不太习惯Linux的命令行下载方式,就先在本地的下载了当前最新的稳定版本Bugzilla3.6.1 ,然后通过scp上传到服务器上。解压至/usr/local/bugzilla。同时

在/var/www/html目录中创建一个symbolic link:

# ln -s /var/local/bugzilla bugzilla

为httpd的用户分配该文件夹的访问权限

# chown apache.apache -R bugzilla

二、安装和配置

注:以下操作都在root权限下完成。

完成解压后,自然就按照官网上的指南 (以下称指南 ),一步步开始安装。

1、之前Perl、MySQL、Apache Httpd都已经安装,并且版本符合要求。不过为了安全期间,还是运行了一下

# yum install perl

果真还是有不少内容更新。

2、切换到/var/www/html/bugzilla下,检查环境配置:

# ./checksetup.pl –check-modules

很多没有安装的模块都列了出来,指南上说可以用下面的命令安装缺少的模块:

# perl install-module.pl <modulename>

但是运行上条命令是给出了更加简便的方式:

# ./install-module.pl –all

然后运行

# ./checksetup.pl

注意这次没有后面的–check-modules选项,至此一切还都是按照指南上的说明顺利进行。可是接下来就踏上了痛苦“旅程”。

上面命令的运行结果并没有产生localconfig文件,而是提示有些模块仍然没有安装,尤其是DBD::mysql,还有几个可选的模块,GD、Chart、GDGraph等。当时就想,单独安装一下试试,于是:

# ./install-module.pl GD

没有成功,错误:

Can’t call method “cpan_version” on an undefined value at /usr/local/bugzilla/Bugzilla/Install/CPAN.pm line 96.

第一反应当然就是去Google,可是搜到的结果只有区区四条,还有两个是一个页面。难道这个问题只有我碰到?难道别人都那么顺利?

把看起来关联程度最高的读完了,,终于发现了一句话说是可能需要把之前的cpan删了,重新安装。有解决方案就行,试一下。就到root下面把.cpan目录删了。殊不知这下麻烦可大了。然后再次运行命令安装,从输出信息中看到需要安装cpan,可是死活连不上默认的两个ftp服务器,一直提示Connection:refused 。可是两个ftp在pc上访问都没有问题,顿时着急上火。怎么办?还是采用笨方法,先下载到本地,然后按照目录复制过去。实施起来才知道,这个想法太幼稚,cpan的目录结构虽然不太复杂,但是光下载文件,也要不断的时间,这个时间我可浪费不起。纠结呀!!

(总不能在一棵树上吊死吧,还有Mantis可以用,转投Mantis,还真是好用,很快就装好了。虽然也有一点小插曲,是因为自己没有看清楚说明,填错了数据库的用户名密码。)

一天后,心里还是不服,真的只能这样了吗?不行,继续来。既然这个办法不行,看看是不是因为代理的问题。于是就找系统可以设置代理的地方,无功而返。那就沉下心来(唉,知名的弱点,有时候太心急)研究下cpan吧,原来可以直接设置代理。以前都是直接跳过了。

# cpan

cpan> o conf init

提示是否需要手动配置时,直接回车,默认是yes。中间略过n多选项,到了ftp_proxy和http_proxy按照本地pc上的配置填写。最后一步步过去。退出cpan,重新开始安装。看起来好像有效果,可是连接proxy一直超时。看来是因为防火墙的原因,ftp出不去,那么看看有没有使用http的协议镜像,还真找到了 (如此明显的地址,看来是我以前的方向错了。)

重启配置cpan,去掉ftp_proxy和http_proxy的值,在最后一项提示输入另外一个URL时,将上面地址填入。终于解决了CPAN重新安装的问题。

这次没有安装DBD::mysql,而是尝试了GD,

# ./install-module.pl GD

得到了另外一个错误:

Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.

检查发现libgd已经安装,并且版本符合要求,有人说是因为gdlib-config不存在,于是下载gd ,然后编译,将产生的gdlib-config复制到/usr/bin/下面,并且添加权限:

# ./config

# cp gdlib-config /usr/bin

# chmod 774 gdlib-config

再次安装,这次错误有了变化:

GD.xs:7:16: error: gd.h: No such file or directory GD.xs:8:21: error: gdfontg.h: No such file or directory

这个是因为只安装了gd,还需要安装gd-devel包:

# yum install gd-devel

然后GD顺利完成。

接下来安装DBD::mysql,这次出现了的错误和上面的类似:

In file included from dbdimp.c:20: dbdimp.h:22:49: error: mysql.h: No such file or directory dbdimp.h:23:45: error: mysqld_error.h: No such file or directory

那就重新安装mysql和mysql-devel

# yum install mysql mysql-devel

DBD::mysql完成安装。

一切都安装完毕了,再次运行checksetup.pl,生成了localconfig。下面就按照指南开始配置:mysql和apache。数据库的配置很简单,顺利完成。

Apache的配置,指南中提供了两种方式,一个是cgi运行,一个mod_perl。我想既然安装那么多perl相关的东西,那就用后者吧。(不知道我是不是对指南的理解有误?)在/etc/httpd/conf.d/perl.conf中添加了:

也有伤心的,既有令人兴奋的,也有令人灰心的,

在CentOS上安装Bugzilla

相关文章:

你感兴趣的文章:

标签云: