随着时间的推移。在大脑中形成的记忆总会慢慢的淡去。人的记忆力就是这样。所以最好的办法就是形成博客去记录下来,一方面给自己以后回想用。一方面也算是自己的一个积累。所以一旦选择了一个行业,最好不要轻
易转行,由于非常多知识须要不断的反复才干真正的掌握,而一个行业又须要非常多真正掌握的知识,有人称这是积累的过程。无论怎么说,不论哪个行业都不是熬几个 通宵就搞定的。

而你的积累也就变成想转此行别人的壁垒,你积累的越多,壁垒也就越高。

所以一旦选择。就要一直走下去,相信不久的将来你会看到不一样的曙 光,由于有非常多人在路上半途而废。我坚信这一点。



我在ubuntu上安装bugzilla系统部署,也是一头雾水,如今能做的也就是从网络上借鉴各种大牛的教程然后加上自己的总结和实际操作中遇到的困难从而记录下来写成博客。

Bugzilla简单介绍

         Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具(Bug-Tracking System)。

由Mozilla公司提供。创始人是Terry Weissman,開始时使用一种名为“TCL”的语言创建的,后用Perl语言实现。并作为Open
source公布。它能够管理软件开发中缺陷的提交(new)。修复(resolve)。关闭(close)等整个生命周期。

Bugzilla特点

Bugzilla可以为你建立一个完好的bug跟踪体系。包含报告bug、查询bug记录并产生报表、处理解决bug、管理员系统初始化和设置四部分。Bugzilla具有例如以下特点:

1.基于Web方式,安装简单、执行方便快捷、管理安全。

2.有利于缺陷的清楚传达。

本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的bug报告。 提供大量的分析选项和强大的查询匹配能力,能依据各种条件组合进行bug统计。当缺陷在它的生命周期中变化时,开发者、測试人员、及管理人员将及时获得 动态的变化信息,同意你获取历史记录,并在检查缺陷的状态时參考这一记录。

3.系统灵活。强大的可配置能力。Bugzilla工具能够对软件产品设定不同的模块。并针对不同的模块设定开发者和測试人员。

这样能够实现提交报告时 自己主动发给指定的责任人,并可设定不同的小组。权限也可划分。设定不同的用户对bug记录的操作权限不同。可有效控制进行管理。同意设定不同的严重程度和优 先级。能够在缺陷的生命期中管理缺陷。

从最初的报告到最后的解决,确保了缺陷不会被忽略。同一时候能够使注意力集中在优先级和严重程度高的缺陷上。

4.自己主动发送Email,通知相关人员。依据设定的不同责任人,自己主动发送最新的动态信息,有效的帮助測试人员和开发者进行沟通。

假设大家想对bugzilla系统具体了解。能够去官方站点查看。毕竟官网的东西我认为都是比較权威的。官方网址:

http://www.bugzilla.org/

我们从官方能够看到部署该系统的要求和方法:

http://www.bugzilla.org/requirements/

http://www.bugzilla.org/docs/4.4/en/html/

Requirements

Operating System

To install and run Bugzilla on your server, the core requirement is to have Perl installed. This means that Bugzilla can be installed on any platform where Perl can be installed, including Windows, Linux, and Mac OS X. Linux
is highly recommended and is our 1st-class citizen operating system.

Hardware

The hardware requirements depend heavily on the size of the user base and on the number of bugs in your database. For small teams (up to a few tens of users) with few bugs (up to a few thousands bugs), any good machine will do
the job pretty well. The important part is to have enough RAM (4 GB or more recommended) and a fast processor (for instance, 3 GHz). Such hardware is pretty common nowadays. A harddisk with 50 GB of free space is large enough.

Larger teams with several thousands of users and several hundreds of thousands bugs need more hardware. To give you an idea, the Bugzilla installation at Mozilla uses 8 servers: 3 webheads (12 GB of RAM each), 1 master database
(35 GB of RAM), 3 slave databases (35 GB of RAM each), and 1 email relay. Moreover, mod_perl is enabled for improved performance. Note that it is designed for very high concurrent access, which is quite unusual, so your requirements are probably lower than
that.

Software

Bugzilla needs a database server, a web server, and Perl. In all recommendations below, "Bugzilla requires version X" must be understood as "Bugzilla requires version Xor newer". In all cases, the newer, the better,
as newer releases have more bug fixes, are still supported and still get security fixes. If you install the mimimum version mentioned below, the risk is that this version will reach End Of Life pretty soon and so can be unsupported at any time.

Perl:
Bugzilla 4.4 and older require Perl 5.8.1 (or newer, see the previous paragraph), but Bugzilla 5.0 and newer will require Perl 5.10.1, and so we don't recommend Perl 5.8.x at this stage. Instead, you should install
Perl 5.12 (thoughthis version already reached End Of Life) or newer, as these newer versions have some useful improvements
which will make your life easier.
Database Server:
Bugzilla supports MySQL, PostgreSQL, Oracle and SQLite. We highly recommend MySQL and PostgreSQL, which have the best support from Bugzilla and are used daily by Bugzilla developers. Oracle hasseveral
known issues
and is a 2nd-class citizen. It should work decently in most cases, but may fail miserably in some cases too. SQLite is recommended for testing purposes only or for small teams.

If you install MySQL, version 5.0.15 is required by Bugzilla 4.x, but we highly recommend version 5.5 or newer. If you install PostgreSQL, version 8.3 is required.
Web Server:
Bugzilla has no minimum requirements for its web server. We recommend to install Apache 2.2, though Bugzilla works fine with IIS too (IIS 7 or higher recommended). If you install Apache and you want improved performances, you
can enable its mod_perl module.

通过以上了解我们知道须要预先安装一下几个软件:

  • Perl(V5.8.1以上)
  • 数据库引擎(Mysql/postgresql/Oracle)
  • Webserver
  • Mail Transfer Agent
  • Bugzilla压缩包的下载和Perl Moudles(Perl 模块)

详细过程例如以下:

一:

1.须要安装perl,首先就要知道这个perl是什么。干什么用的。

perl的前身是Unix系统管理的一个工具。被用在无数的小任务里。后逐渐发展成为一种功能强大的程序设计语言,用作Web编程、数据库处理、XML处理以及系统管理。在完毕这些工作时,同一时候仍能处理日常细小工作。这是它的设计初衷。Perl特别适合系统管理和Web编程。

实际上已经被用在全部Unix(包含Linux)捆绑在一起作为标准部件公布。同一时候也用在Microsoft Windows和差点儿其它全部操作系统。Perl 被称为“有用报表提取语言”(Practical
Extraction and Report Language)。Perl是由拉里·沃尔(Larry Wall)设计的,并由他不断更新和维护的编程语言。简而言之,Perl像C一样强大。像awk、sed等脚本描写叙述语言一样方便。



2.Perl通常是系统自带 。假设没有或者版本号不符合要求,请自行安装,或者apt-get install perl

用Perl -v查看perl版本号信息

perl的官方网址是:http://www.perl.org/

3.在命令终端输入命令:perl -v
查看安装的perl的版本号:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aGFvbWF0b3U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

运行一下这个命令:sudo apt-get update 获得近期的软件包的列表。列表中包括一些包的信息,比方这个包是否更新过

我的perl的版本号为:5.14.2网上说的安装版本号要求为:5.8.1显然我的perl的版本号已经够用了。可是我还是

用命令apt-get install perl更新了一下。

二:安装Mysql

在终端输入命令:mysql -v 
例如以下图所看到的:

依照提示继续输入命令:sudo apt-get install mysql-client-core-5.5

安装命令:sudo apt-get install mysql-server(安装完毕的最后,会让你输入root管理员的帐号password。记住该password。此root非用户组中的root,而是mysql数据库的root管理员根帐号)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aGFvbWF0b3U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

三、Webserver(apache2)

安装命令 : sudo apt-get install apache2

四、Mail Transfer Agent

安装命令: sudo apt-get install sendmail

五、下载bugzilla及安装Perl模块

下载链接:http://www.bugzilla.org/

将该文件解压缩到/var/www/文件夹下

sudo tar -C /var/www/ -xvf bugzilla-4.4.5.tar.gz

解压完成。该文件夹下将会有一个名为bugzilla-4.4.5的文件夹,将该文件夹改名为bugzilla并切换到/var/www/bugzilla/文件夹

sudo mv bugzilla-4.4.5  bugzilla & cd /var/www/bugzilla/

在bugzilla文件夹下有一个checksetup.pl的文件,执行该文件

sudo perl checksetup.pl

执行完成,会告诉你当前bugzilla还差那些perl模块须要安装,而且有提示安装命令。

这里我们仅仅须要安装必须的一些包就能够了,可选包能够不用安装。安装这些必须的包的命令一般为:

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

这句命令将安装bugzilla所须要的一系列perl模块,基本上执行完成,安装bugzilla的前期准备工作都做的差点儿相同了。

当然也存在一些安装不上的情况,这时要自己安装,我安装时候存在YAML和DateTime 安装不成功,通过例如以下命令安装或到cpan上下载须要的模块安装

sudo /usr/bin/perl install-module.pl YAML

sudo /usr/bin/perl install-module.pl DateTime

这句命令将安装bugzilla所须要的一系列perl模块,基本上执行完成,安装bugzilla的前期准备工作都做的差点儿相同了。

事实上这个时候bugzilla差点儿相同能够算是安装好一大半了,剩下的就是一些配置的问题了。

六、配置

1、mysql的配置。

bugzilla须要用mysql数据库来管理bugs,其默认的数据库名字为bugs。默认的数据库管理员帐号为bugs。默认管理员password为空,这些都是写在配置文件localconfig中的。所以我们须要加入一个bugs的mysql数据管理员用户,并创建一个名为bugs的数据库来保存bugzilla提交的bugs。

在终端输入:

mysql -u root -p(用mysql的root管理员登录mysql,以加入用户bugs),终端会提示输入password,即之前安装mysql时的最后输入的rootpassword。

进入mysql界面后

grant all on *.* to bugs@localhost identified by '';flush privileges;(别忘最后的‘。'号)。这样我们就创建好了mysql的用户bugs,供bugzilla使用。

最后创建bugs数据库文件。

在mysql界面中输入:

CREATE DATABASE bugs;

2、apache2server的配置   

打开apache2的配置文件httpd.conf

sudo vi /etc/apache2/httpd.conf。在当中加入例如以下内容:

<Directory "/var/www/bugzilla/">

AddHandler cgi-script .cgi

Options +Indexes +ExecCGI +FollowSymLinks

DirectoryIndex index.cgi

AllowOverride None

Order allow,deny

Allow from all

</Directory>

3、bugzilla的配置

改动/bugzilla/localconfig文件里的一句话:$webservergroup = 'www-data';

这里为什么填www-data呢,这是由我们安装好的apache2的环境变数决定的。该变数存在文件/etc/apache2/envvars中,文件的内容例如以下:

# settings are defined via environment variables and then used in apache2ctl,

# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.

export APACHE_RUN_USER=www-data

export APACHE_RUN_GROUP=www-data

这就是我们要填www-data的原因了。另外我们须要改动bugzilla文件夹的owner和groups。由于apache2环境变数决定是其是用www-data用户组来运行的。

改动的命令为:sudo chgrp -R root.www-data bugzilla。

最后在终端执行以下的命令:sudo perl checksetup.pl,执行完成bugzilla将会顺利的安装好,在安装的最后会让你输入bugzilla系统的管理员帐号和password,这个必须记好了。

七、启动bugzilla

重新启动apache2服务器和mysqlserver

sudo /etc/init.d/apache2 restart

sudo /etc/init.d/mysql restart

bugzilla的环境算是基本上搭建好了,接下来打开firefox就能够用了。

在地址一栏输入http://localhost/bugzilla就能够看到bugzilla的首页了,截图例如以下:

后面大部分的内容是參考了博客:http://blog.csdn.net/ocean181/article/details/7184961

在点击 open a new account 的注冊一个新用户的时候:

报了下面错误:

Software error:

No SASL mechanism found
at lib/Authen/SASL.pm line 78
at /usr/share/perl/5.14/Net/SMTP.pm line 143

For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.

  • apt-get install libauthen-sasl-cyrus-perl libauthen-sasl-perl

  • sudo /etc/init.d/sendmail restart



更新了以后再次去注冊创建一个用户的时候又报了一下一个错误:

An unexpected error occurred. This could be a temporary problem, or some code is behaving incorrectly. If this problem persists, please email this page to xxx@XXX.com with
details of what you were doing at the time this message appeared.

URL: http://192.168.20.207/bugzilla/createaccount.cgi?login=xx%403XXX.com&token=1407149745-hvvkPJpqM65UnbQRJ5WWgBU3OYzz15fQ_ME0-UOlXIU

There was an error sending mail from 'xxx@XXX.com' to 'xx@XXX.com': Couldn't authenticate 'xxx@XXX.com:...'

Traceback:

 at Bugzilla/Mailer.pm line 174
Bugzilla::Mailer::MessageToMTA(...) called at Bugzilla/Token.pm line 76
Bugzilla::Token::issue_new_user_account_token(...) called at Bugzilla/User.pm line 2039
Bugzilla::User::check_and_send_account_creation_confirmation(...) called at /var/www/bugzilla/createaccount.cgi line 37

在网上看了非常多的教程,也没有看到什么详细的解决方式。于是自己静下新来。从头又过了一边。

自己的又读了一边输出的错误日志信息:There was an error sending mail from 'xxx@XXX.com' to 'xx@XXX.com': Couldn't authenticate 'xxx@XXX.com:...'

这里的意思是说无法认证:xxx@XXX.com。

所以在次返回:Administration->Parameters->Email->smtp_username

在这里有这样一段英文描写叙述:The username to pass to the SMTP server for SMTP authentication. Leave this field empty if your SMTP server doesn't require authentication.

意思就是说:username传递到SMTPserver进行SMTP认证。

将此字段留空。假设您的SMTPserver不须要身份验证。



于是看到这里我就不禁产生了几个疑问:什么是SMTP认证。SMTP认证有什么作用?

 SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP
协议簇。它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP server就是遵循 SMTP 协议的发送邮件server。

SMTP 认证,简单地说就是要求必须在提供了账户名和password之后才干够登录 SMTP server。这就使得那些垃圾邮件的散播者无可乘之机。

添加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

公司的邮件server是没有SMTP认证的。所以这里直接空着邮件就能够正常的发送出来了。

bugzilla 从3.4版后,改由jopqueue.pl来运行邮件通知功能。假设发现几天没有收到邮件了,就能够check一下该脚本的状态。看看是否在正常工作。

在bugzilla安装文件夹,运行指令:

./jobqueue.pl check

假设该脚本执行正常。通常会有例如以下提示:

[root@axdc-release /usr/local/www/bugzilla]# ./jobqueue.pl check

Configuration looks okay

jobqueue.pl running - pid 34479

0 jobs in the queue.

假设出现故障。通常会有例如以下提示:

[root@axdc-release /usr/local/www/bugzilla]# ./jobqueue.pl check

Configuration looks okay

No jobqueue.pl running - pid 34193

1304 jobs in the queue.

假设jobqueue.pl存在问题,首要做的是用 ps -aux | grep “jopqueue.pl"查看一下是否有该进程存在,假设有。请直接kill掉。

指令: kill [jopqueue.pl PID]

kill后,再运行jobqueue.pl启动指令:

./jobqueue.pl start

然后再运行几次check动作,看jobqueue.pl是否正常工作。正常的话 “xxx jobs in the queue”中的数字 “xxx”会是0或不断减小 。当然也能够通过能否接收到bugzillaserver发出的邮件来验证。

bugzilla 数据库操作相关总结:

1、本机登陆mysql:mysql
-u root -p

2、 远程登录mysql:mysql
-h ip -u user -p

3、quit;//退出mysql操作



要想知道每一个数据库的大小的话,过程例如以下:

1、进入information_schema 数据库(存放了其它的数据库的信息)

use information_schema;

2、查询全部数据的大小:

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;

3、查看指定数据库的大小:

比方查看数据库home的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';

4、查看指定数据库的某个表的大小

比方查看数据库home中 members 表的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';

数据库经常使用命令总结例如以下:

create
database name; 创建数据库

use databasename; 选择数据库

drop database name 直接删除数据库,不提醒

show tables; 显示表

describe tablename; 表的具体描写叙述

select 中加上distinct去除反复字段

mysqladmin drop database name 删除数据库前,有提示。

显示当前mysql版本号和当前日期

select version(),current_date;

版权声明:本文博主原创文章。博客,未经同意不得转载。

ubuntu 系统设置bugzilla制的更多相关文章

  1. 给 Virtualbox 中 Ubuntu 系统设置静态 IP ,让 DNS 配置信息不会在重启后被清除

    虚拟机网络选择 桥接网卡 模式. 主要涉及两个步骤: 1. 修改 /etc/network/interfaces 文件: 2. 修改 dns : 第一步,修改 interfaces 文件: sudo ...

  2. 新安装 Ubuntu 系统设置root用户密码!谨此纪念自己踩过的坑!

    Ubuntu 在安装过程中创建的用户为普通用户,而root 用户密码该如何设置呢? 执行以下命令即可: sudo passwd root 提示你输入普通用户密码,然后设置root用户的密码!这样,就更 ...

  3. AWS EC2实例Ubuntu系统设置root用户密码并使用root/ubuntu用户登录

    参考链接:http://www.wangchao.info/1137.html  注意:链接中写的简化了,其中重启服务的命令似乎不太适用,可能是不通用,我下面描述的方式亲测可行,如有其他疑问请留言: ...

  4. 给 Virtualbox 中 Ubuntu 系统设置静态 IP

    虚拟机网络选择 桥接网卡 模式. 主要涉及两个步骤: 1. 修改 /etc/network/interfaces 文件: 2. 修改 dns : 第一步,修改 interfaces 文件: sudo ...

  5. ubuntu系统设置开机后使用使用终端运行应用程序

    1.在菜单栏输入start,点击startup application进入 2. 添加开机启动程序 3.因为要用终端启动一个应用程序,所以command输入:gnome-terminal -- 程序执 ...

  6. ubuntu 入门

    ubuntu 系统设置不全sudo apt-get install ubuntu-desktop uget aria2:下载工具http://www.xitongzhijia.net/xtjc/201 ...

  7. 怎样在Win10下安装ubuntu双系统

    Win10系统下安装ubuntu系统 安装前准备: 概念 在动手之前,一定要先了解双系统.系统引导.分区这3个概念,这样才能理解安装步骤,应对安装过程中的意外情况. 双系统 双系统就是开机之后,会有一 ...

  8. 使用Ubuntu

    一.ubuntu把文件夹名称改为中文 vim ~/.config/user-dirs.dirs 修改文件内容为: XDG_DESKTOP_DIR="$HOME/Desktop" X ...

  9. Ubuntu 16.04下指定Sublime Text 3 默认python编译版本

    安装PackageResourceViewer插件 输入 Ctrl+Shift+P 输入install,选择Package Control: Install Package 选择PackageReso ...

随机推荐

  1. VC GDI双缓冲机制绘图防屏幕闪烁实现步骤

    在OnDraw(CDC* pDC) 中添加如下代码 CDC MemDC; //首先定义一个显示设备对象 CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设 ...

  2. OCA读书笔记(3) - 使用DBCA创建Oracle数据库

    Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...

  3. win32多线程程序设计笔记(第二章)

    第二章线程的第一次接触,主要讲了如何创建线程以及需要注意的几点. 一.创建线程 与调用函数的过程类似;线程只不过用CreateThread的API将函数封装起来,并产生一个与主程序同时执行的程序来调用 ...

  4. 与众不同 windows phone (26) - Contacts and Calendar(联系人和日历)

    原文:与众不同 windows phone (26) - Contacts and Calendar(联系人和日历) [索引页][源码下载] 与众不同 windows phone (26) - Con ...

  5. Android 编程之第三方开发 MaoZhuaWeiBo微博开发演示样例-1

    在大学期间我做过非常多类似这种APP.这个是我们小组之前做的,我后期增加非常多新元素.完好了这个应用,由于为了加强 专业技术嘛.也是常常熬夜写些小东西,嘿嘿.只是还算不错.起码技术长进了不少嘛,还是非 ...

  6. ThinkPHP框架模型连贯操作(八)

    原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...

  7. Selenium来抓取动态加载的页面

    一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写的爬虫框架webmagic里也使用了HttpClient来完成这样的任务. 但是有些页面是通过js以及a ...

  8. How to use STA(sql tuning advisor)

    一.手工生成Sql tuning advisor  1.SQL text format: DECLARE   my_task_name VARCHAR2(30);   my_sqltext   CLO ...

  9. Android自己定义控件:老版优酷的三级菜单(效果图 + Demo)

    效果图: 制作思路: 1.先分析这个效果,事实上能够理解为把三级菜单分成level1,level2,level3,level1是始终显示的. 点击level1后,level2会出现:点击level2后 ...

  10. OCP读书笔记(10) - 使用闪回技术I

    使用闪回技术查询数据 闪回查询:就是查询表在过去某个时间点的数据,所用到的技术就是undo数据 SQL> conn scott/tiger 创建测试表 SQL> create table ...