ZT文萃

本博不原创,转帖自己感兴趣那些事人物,什么入眼贴什么,随心所欲。
posts - 93, comments - 5, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

bugzilla安装过程,已验证成功!

Posted on 2013-09-27 14:18 ZT文萃 阅读(1377) 评论(0)  编辑  收藏 所属分类: 中间件
From:
http://hi.baidu.com/najftulhmndgswr/item/6d8ba9f0d02e9004d89e7294


本文安装过程主要参考:

http://www.bugzilla.org/docs/3.6/en/html/installation.html

http://www.thegeekstuff.com/2010/05/install-bugzilla-on-linux/


安装流程:

1. 先检测下 Perl是否安装了


$ perl -v
如果没有安装,下载安装

2.  安装一个数据库,推荐使用 MySQL

$ mysql -V
如果没有安装的话,用 apt-get即可,server和client都装下。
在装 mysql-server的时候会提示输入 password,记住,再后面创建数据库的时候会用到。

3.  安装apache2

apt-get install 即可。

测试apache2是否正常:

在浏览器的URL栏输入:  http://localhost  或者  http://127.0.0.1;
只要出现: It works!
表示服务器已经正常启动。

4.  下载并安装 Bugzilla 

下载 Bugzilla 3.6.1,地址: http://www.bugzilla.org/download/

下载后在 /var/www/目录下解压,然后进入目录

1)Perl 模块的安装

a)首先查看下缺少的模块

bash# ./checksetup.pl --check-modules 

b)然后利用这个命令将所缺模块安装上

bash# perl install-module.pl <modulename>

必须安装的模块有这些:

1. CGI (3.21)
2. Date::Format (2.21)
3. DateTime (0.28)
4. DateTime::TimeZone (0.71)
5. DBI (1.41)
6. DBD::mysql (4.00) if using MySQL
7. Digest::SHA (any)
8. Email::Send (2.00)
9. Email::MIME (1.861)
10. Email::MIME::Encodings (1.313)
11. Email::MIME::Modifier (1.442)
12. Template (2.22)
13. URI (any)

如果未安装模块太多,可以执行下列命令,全体安装:
(注意:由于安装模块的时候会有权限问题,所以在执行下列命令前,
sudo chmod 777 -R bugzilla-3.6.1)

bash# /usr/bin/perl install-module.pl --all

(关于DateTime::TimeZone 模块安装失败的问题,请参考此网站的最后回复,Build)
http://www.experts-exchange.com/OS/Linux/Q_25111007.html
需要自己下载DateTIme模块,然后重新编译,在解压目录 perl Build.PL,然后按照上面网站所说!!!

2)
成功装完后,生成本地config

bash# ./checksetup.pl

bash# vi ./localconfig
修改: $db_pass = 'akaedu';
修改:   $webservergroup = 'www-data';
保存退出

3)之后在mysql数据库中加入信息

bash# mysql -u root -p 
(如果这里要输入密码一直过不去,请参考
http://hi.baidu.com/ever__love/blog/item/1c9b3c19cd0866f7af5133c7.html

mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY 'akaedu';

mysql> FLUSH PRIVILEGES;
mysql> quit;

mysql的命令必须都以分号结束。

4) 再次安装

bash# ./checksetup.pl

如果上述一切正常,这次安装过程中将提示你输入 邮箱,真名,密码。
邮箱是你登录bugzilla的root用户名,密码就是密码。


5. 配置apache的config,与bugzilla的index链接

bash# vi /etc/apache2/apache2.conf

在内部添加这样一段:
<Directory /var/www/bugzilla-3.6.1>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>

然后重启apache2

bash# /etc/init.d/apache2 restart

6.  到这里应该就能正常访问bugzilla的主页了

URL:    http://localhost/bugzilla  (如果不行,就把bugzilla的版本号加上)
就会看到如下图像,表示正常登录bugzilla了。




大功告成

进入后,选一个 “File a bug”, 然后输入root用户名(邮箱)以及密码就正常登录,可以使用了。
目前遗留问题,无法注册普通用户,因为注册时候会发送确认信件,发送显示成功(没有报错),但目标信件收不到,不知是哪里出了问题。TODO!


上述邮件发送问题已经解决了!!!

解决方法:
感觉应该是 bugzilla的设置问题,在bugzilla网页上登录后,点击上端菜单中的
Administration, 然后选择 Parameters, 在左侧栏中选择E-mail,然后在 mail_delivery_method中选择 Test,虽然你点击了发送邮件,但会被bugzilla自己截获,存入 data/mailer.testfile文件中。如果发不出邮件,可以选择Test,在data/mailer.testfile文件中如果有信息,那 说明邮件服务器有问题,但如果此文件中没有信息,那就说明有别的问题。
我发送邮件显示正常,但目标收不到邮件,检查 data/mailer.testfile文件,发现是空的。之前用telnet smtp测试,能正常连通smtp.163.com,思来想去,应该就是bugzilla的设置问题。这个不成功的版本是在同时电脑上测试的,我自己的已 经成功,只不过过程中修改的东西太多,不知如何调试了。于是乎我就想到了diff,网页上的配置信息对应到源码中,就是 data/params文件,于是我将我的文件与我同事电脑上的这个文件进行了diff,其中有一项 use_mailer_queue。  不成功: 'use_mailer_queue' => '1', 成功的'use_mailer_queue' => 0, 于是将不成功的修改为 0,结果再尝试Test, data/mailer.testfile中已经有信息了,将 mail_delivery_method修改为SMTP,也能正常发送邮件了!

只有注册用户登录后才能发表评论。


网站导航: