因为自己在安装配置的时候走了些弯路,所以一方面自己提个醒,另一方面可以让有这方面需要的朋友做个参考
bugzilla是一个可以发布bug以及跟踪报告bug进展情况的开源软件,有关的官方文档可以查看:http://www.bugzilla.org/docs/
本人是在RH9上安装配置成功bugzilla-2.18rc3的,事先也成功安装配置过2.16.7,后来发现在2.18中加入了图表的功能,觉得蛮有意思的,所以升级了一下。在安装前先确定自己机器上一些软件版本的情况:perl(5.6 or above)、mysql(3.23.41 or above)、sendmail(8.7 or above),在http://www.bugzilla.org/download/下载2.18rc3,并在本地解压
#cd /usr/local
#tar -zxvf bugzilla-2.18rc3.tar.gz
#cd bugzilla
#./checksetup.pl-------检查安装需要的perl模块
如果缺少相应的perl模块,有两个办法可以解决:
1.perl -MCAN -e 'install "Bundle::Bugzilla"'------选择CPAN主机站点下载安装缺少的perl模块,当完成时进入~/.CPAN/build查看INSTALL.html了解安装情况,这个命令一般会安装bugzilla必须的模块,要安装其他的option模块的话,可以到perl -MCPAN -e shell里面,打入install xxx模块即可。
2.直接到http://www/cpan.org/modules/,下载相应的模块下来,解压后一个个安装,比如CGI模块
#cd CGI
#perl Makefile.PL
#make
#make test
#make install
所有模块都可按此法安装,在安装一些模块如Template Toolkit时会有一些信息要求确认,按照默认一路回车即可
[b:a7830c7dd9]注:[/b:a7830c7dd9]我是比较倾向于第二种方法,一个比较灵活,可以去下载安装不同版本的模块,另一个又不依赖于网络状况,我第一次安装的时候按第一种方法,结果等了老半天还没下载完一个模块,后来才知道CPAN的网站那天关闭,晕~。不过我后来在选择ftp站点时选了2以后,下载的速度就很快,所以如果要用方法一来安装模块请大陆的同志务必要选2。这里还有一点要提醒,有时在运行checksetup.pl后显示的信息里会只有found而没有OK,这表示当前模块的版本太低,需要下载更高版本的安装
接着做个perl的链接# ln -s /usr/bin/perl /usr/bonsaitools/bin/perl
安装完需要的perl模块后可谓完成了一半,接下来设置mysql
#mysql -u root -pyourpasswd
mysql>create database bugs;
mysql> GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, [b:a7830c7dd9]LOCK TABLES[/b:a7830c7dd9],[b:a7830c7dd9]CREATE TEMPORARY TABLES[/b:a7830c7dd9], DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass';
mysql> FLUSH PRIVILEGES;
mysql>quit
-----------上面黑体的字段只有你的mysql版本在4.0以上才需要,这里的bugs、bugs@localhost和$db_pass分别表示为bugzilla建立的数据库名、bugzilla的数据库用户和密码,请设置好后用笔记下来,马上就会需要 :wink:
然后进入刚才的bugzilla目录,修改localconfig文件,修改其中的:
$db_host = "localhost";
$db_name = "bugs";
$db_user = "bugs";
$db_pass = "xxxx";-------就是刚才你建立数据库时用到的
好了以后,再次运行checksetup.pl,此处会按要求创建数据库以及其中的tables,并要求你输入administrator的email、realname和password,最后设置一下bugzilla目录的权限
#chown -R apache.apache bugzilla
好了任务完成得差不多了,接着就是apache和sendmail的设定了
[b:a7830c7dd9]apache的设置:[/b:a7830c7dd9]
在 /var/www 下链接 bugzilla
# ln -s /usr/local/bugzilla-xxx /var/www/bugzilla
设置 apache
找到 httpd.conf 文件先
在其中查找:
AddHandler cgi-script .cgi 把注释去掉.
查找:
AddDefaultCharset 把 ISO-8859-1 改成 GB2312
增加:
Alias /bugzilla/ "/var/www/bugzilla/"
<Directory "/var/www/bugzilla/">
Options ExecCGI
AllowOverride Limit
</Directory>
好了以后开启apache服务
[b:a7830c7dd9]sendmail的设置:[/b:a7830c7dd9]
默认RH安装的sendmail已经可以工作了,只要开启服务就行了,因为我的机子是在内网的,只负责发生邮件即可,但是我后来发现在测试bugzilla的时候会有个奇怪的现象发生:当我新建一个用户的email是hotmail的时候,邮件可以收到,而如果是其他的email地址的话邮件就发送失败,后来看到hotmail中收到邮件的帐户是bugs@localhost.localdomain,才明白可能一般的邮件服务器都做了设置,显然我这里的domain是在inte.net上没有的,它就会认为是垃圾邮件,而hotmail可能没做这方面的设置,想了个办法,修改/etc/mail/local-hosts-names,在里面随便指定一个hostname.domainname,这样邮件服务器就不会认为是垃圾邮件了
所有的安装配置到此为止,你可以登陆http://bugs_ip(or bugs_domain)/bugzilla/测试一下bugzilla看看
还有几点需要补充:
1.如果需要修改刚才的administrator的email,可以在bugs数据库profiles表中找到,修改相应的元组即可
2.要升级的话,需要
#cd /usr/local
#cp bugzilla/localconfig* bugzilla.new/
#cp -r bugzilla/data bugzilla.new/
#mv bugzilla bugzilla.old
#mv bugzilla.new bugzilla
#cd bugzilla
#./checksetup.pl
即可
好好先生 回复于:2004-12-16 17:18:22 |
鼓励这种精神 |
lichin 回复于:2004-12-16 21:15:51 |
自从接触linux以来就深刻体会到linux世界需要OPEN的态度,跟大家多多交流心得体会是应该的^_^ |
wethair 回复于:2005-01-05 08:33:32 |
我想问楼主一个问题。 你这台机器有装DNS吗?域名解析是怎么处理的?在sendmail里本机的邮件地址是什么? 谢谢 |
lichin 回复于:2005-01-07 12:00:31 |
我发现我有一个问题弄错了,就是关于sendmail设置的问题: 上面说的那个local-hosts-names配置文件是有关收取邮件的,我这里只关心能发送邮件,因为并不是每个人都能轻易的拥有具有正规域名的邮件服务器的,要做的工作只是修改sendmail.mc文件,将带有"myhost.mydomain"这行随便填入一个internet上域名就行了,最后还要利用m4生成sendmail.cf文件,命令如下: #m4 sendmail.mc > sendmail.cf 重启sendmail服务就OK了 |
arhui0531 回复于:2005-06-09 15:05:01 |
[quote:c64a9f7a71="lichin"]要做的工作只是修改sendmail.mc文件,将带有"myhost.mydomain"这行随便填入一个internet上域名就行了, 最后还要利用m4生成sendmail.cf文件,命令如下: #m4 sendmail.mc > sendmail.cf [/quote:c64a9f7a71] 我这些都设置了,还是只对hotmail可行,其他邮件地址不可以。请多指教,谢谢 |
wind521 回复于:2005-06-09 16:01:13 |
不错,鼓励一下 |
trademark 回复于:2005-06-13 10:59:31 |
这个介绍并没有介绍全啊,比如说如果我在服务器指定目录安装了mysql后,再checksetup.pl的时候发现不能连接/var/lib/mysql/mysql.sock,这个应该怎么办,好像要修改好多文件 |
peng 回复于:2005-06-13 11:44:00 |
[quote:065aa965c0="trademark"]这个介绍并没有介绍全啊,比如说如果我在服务器指定目录安装了mysql后,再checksetup.pl的时候发现不能连接/var/lib/mysql/mysql.sock,这个应该怎么办,好像要修改好多文件[/quote:065aa965c0] 这和楼主介绍的软件没有任何关系,应该是你mysql安装问题。 没有给mysql.sock生成的目录应有的权限造成的。 |
trademark 回复于:2005-06-13 12:36:21 |
汗,checksetup.pl一直不通过 Checking user setup ... Precompiling templates ... Checking for MySQL Server (v3.22.5) ok: found v4.1.1-alpha-standard DBD::mysql::db table_info failed: Access denied for user: 'bugs'@'%' to database 'bugtrack' at ./checksetup.pl line 1613. [Mon Jun 13 12:31:35 2005] checksetup.pl: DBD::mysql::db table_info failed: Access denied for user: 'bugs'@'%' to database 'bugtrack' at ./checksetup.pl line 1613. Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 197 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. [Mon Jun 13 12:31:35 2005] checksetup.pl: Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 197. Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 1276 (#1) [Mon Jun 13 12:31:35 2005] checksetup.pl: Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 1276. DBD::mysql::db selectcol_arrayref failed: Query was empty at ./checksetup.pl line 1614. [Mon Jun 13 12:31:35 2005] checksetup.pl: DBD::mysql::db selectcol_arrayref failed: Query was empty at ./checksetup.pl line 1614. Can't use an undefined value as an ARRAY reference at ./checksetup.pl line 1614 (#2) (F) A value used as either a hard reference or a symbolic reference must be a defined value. This helps to delurk some insidious errors. Uncaught exception from user code: Can't use an undefined value as an ARRAY reference at ./checksetup.pl line 1614. |
trademark 回复于:2005-06-13 13:33:46 |
各位兄台,帮帮忙啊 |
lily_7948 回复于:2005-07-08 11:28:48 |
谢楼主 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/