在CentOS上安装Bugzilla(2)

      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中添加了: 

PerlSwitches -I/var/www/html/bugzilla -I/var/www/html/bugzilla/lib -w -T   PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl  

看起来一切都完成了。那就重启httpd服务吧。

# service httpd restart

启动时发生错误:

Can't locate Template/Config.pm

除了上面信息以外,还有几个的类似的。解决方法比较简单,使用cpan重新安装即可。

# cpan Template 

有时候运行下面的命令,再用cpan运行一次:

# ./install-module.pl <modulename>

经过几次反复,终于启动了httpd服务。在浏览器看到了Bugzilla的尊容,可是还没有来得及高兴,发现输入用户名和密码后不能登陆,提示500 Internal Error。赶紧查看apache的error_log,发现里面还有一个:

Can't locate Digest/SHA.pm in @INC (@INC contains: . lib /var/www/html/bugzilla

还是采用上面的方法,安装缺少的Digest。

安装成功,还是提交不成功,仍然是500 Internal Error。仔细观察地址栏中的地址,显示的是index.cgi,不是采用perl方式吗,难道还要用CGI??(恳请高手指点!)

看来还要打开CGI。没办法,就先把perl.conf中那两行注释掉。再编辑/etc/httpd/conf/httpd.conf:

将下面这行前面的注释去掉:

AddHandler cgi-script .cgi

然后,添加下面内容:

<Directory /var/www/html/bugzilla>       Options Indexes FollowSymLinks ExecCGI       AllowOverride Limit       DirectoryIndex index.cgi index.html       Order allow,deny       Allow from all   </Directory>  

重新启动httpd服务,bugzilla终于可以正常使用了。 

三、后记

按说我应该珍惜这来之不易的劳动成果,可是实在不习惯进去后还要自己搜索bug的做法(可能这就是先入为主吧,因为之前使用近三年的mantis),同时也习惯bug的管理方式,感觉有点乱。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23675.html