• Bugzilla+MySql+IIS+ActivePerl搭建指南


    头在忙着他的技术研究,对团队建设、测试管理、流程规范都不怎么理会,眼见着产品进入后期整合阶段,在测试过错中出现很多Bug,单靠着我一个人用txt来收集整理bug需求,然后整理成word,放在svn上面去,然后邮件通知各模块负责人去修正,效率太慢了。拿着工程师的钱,干着项目经理的事情,哎。

    抱怨完了,该干活的开始干活。

    Bugzilla是一开源Bug Tracking System,是专门为Unix定制开发的。但是在windows平台下依然可以成功安装使用.

    Testopia是一款和Bugzilla集成到一起的test case management系统.
         它的强大功能表现在以下几个方面:
    1. 强大的检索功能
    2. 用户可配置的通过Email公布Bug变更
    3. 历史变更记录
    4. 通过跟踪和描述处理Bug
    5. 附件管理
    6. 完备的产品分类方案和细致的安全策略
    7. 安全的审核机制
    8. 强大的后端数据库支持
    9. Web,Xml,Email和控制界面
    10. 友好的网络用户界面
    11. 丰富多样的配置设定
    12. 版本间向下兼容

    安装部署

    1. 下载安装文件

    先从官网上面下载Bugzilla安装包,看一些ReadMe,它是基于Perl写的,数据库使用的是MySql,

    Perl下载地址点此。MySql下载地址点此。Web服务器就用系统自带的IIS。Bugzilla下载地址点此

    Bugzilla的汉化包下载地址点此

        将Bugzilla解压到D盘,放在Bugzilla目录下,安装Bugzilla需要Perl相关组件,此处先放一放。

    2. 安装MySql数据库

        我下载的是zip安装包,这和网上一些教程介绍的安装包安装方法不一样,一路next下去就好了。MySql提供两种安装方式,

    一种是msi格式,另一种是zip格式,各有各的好处,zip格式的MySql安装教程点此

       安装好MySql后,需要新建一个Bug数据库和一个访问Bug数据库的MySql账户。

    先将MySql的Bin目录添加到系统的环境变量中去,后续的Perl也是一样,需要将可执行文件的路径添加到系统环境变量中去。

    以root用户登录进MySql,使用方法如下:

    image

    配置数据库。

    image

    上述就是MySql服务器的简单配置。

    3. 安装Perl

        按照安装包一步一步走下去,最后,将安装包中bin目录添加到系统环境变量中,如果在命令行中显示出如下变量,则表示安装成功。

    image

        Bugzilla需要Perl的一系列插件,直接在命令行中输入ppm upgrade –install 就可以安装所有Perl的插件

    (其实,只要安装Bugzilla需要的就可以了,手贱点快,幸好网速快,下载过程蛮顺利)

    和Ubuntu的apt更新源类似,peri也是从源上获取更新插件包,为了加快perl下载速度,可以添加perl源到ppm管理器中。

    image

    出现其他perl下载的问题,可以点此尝试解决。

    4. 配置Bugzilla

      进入Bugzilla目录,手动执行checksetup.pl,该脚本会检查所有必需的perl模块是否安装,缺啥安装啥。等到所有的都安装好之后,再次执行checksetup.pl,会在当前目录下生成localconfig文件。

    有如下的关键几项需要我们来配置:

    image

    image

    改成和MySql中配置的一样就可以,配置完后,再次执行checksetup.pl,经过耐心的等待,输入SMTP服务器地址、Bugzilla管理员名称和密码就可以了。

    5. 配置IIS

    我是用Win7自带的IIS来作为Web服务器的。Win7旗舰版默认没有开启这个服务。因此,需要先开启这些服务。

    WIn+R,输入OptionalFeatures,打开Windows功能,选上如下的功能。

    image

    继续Win+R,输入inetmgr,打开Windows IIS配置管理工具。

    基本的新建新建应用程序等一些基本设置,点此进入了解。下面介绍遇到的各种坑。

    第一个坑:

    在配置IIS的时候,访问目录无权限

    image

    解决方法:点击基本设置->连接为,默认选中的是“应用程序用户”,选择上面的特定用户,输入登陆电脑的用户名和密码。

    第二个坑:

    在添加脚本映射时,出现如下错误:

    image

    原因是没有包含CGI ASP功能

    解决方法:选上下述功能就可以了,

    image

    同类问题解决方案,点此了解。

    第四个坑:设置脚本映射出错

    解决方法:在Default Web Site目录下设置处理程序映射

    image

    第五个坑:

    添加应用程序账户后,在浏览器中输入http://localhost时,出现如下错误:

    image

    或者

    image 

    解决方法:

    添加脚本映射,请求路径选择*.pl,可执行文件根据实际情况,选择perl.exe –T %s %s,名称选择 Perl Script Map.还需要添加一个脚本映射,处理*.cgi的脚本。在这里,看到网上有很多人修改了Bugzilla目录下面所有cgi脚本的头文件解释路径,将#!/usr/bin/perl -wT替换为#!/usr/bin/perl -w,不修改,也是可以安装成功的。

    image

    这里的话,-T的参数一定要加上,弹出的提示框中,一定要点是。之前,我被网上的Installing under IIS 7.5给误导了。点了否,结果,怎么折腾都折腾不出来,气死人,后来点是,就可以了。此时,我深深的了解到,实践才是检验真理的唯一标准

    上述大概就是在折腾IIS中遇到的各种坑。

    6.配置Bugzilla

    在注册账户的时候,发送邮件时出现下面的错误, image

    怀疑是Bugzilla的SMTP没有配置好。根据 网上的Bugzilla使用手册及解决方案,需要确认在data/目录下的param文件,参数配置是否正确。第二是,查看SMTP认证插件和服务器的邮件服务器开启没有。

    下面是配置例子:

    maintainer :                  123@163.com
         mail_delivery_method :         SMTP
         mailfrom :                     123@163.com
         sendmailnow:                   on
         smtpserver :                   smtp.163.com
         smtp_username:                 123@163.com
         smtp_password :                **********

    这里需要注意的是: maintainer、mailfrom必须相同,SMTP_username邮箱必须是真实存在的邮箱,smtp_password是真实邮箱对于的密码。

    经过上述的配置,邮件已经发送成功。

    提示:如果忘记了Bugzilla管理员的密码,可以 ./checksetup.pl --reset-password=管理员邮箱,就可以修改密码了。

     

    基本的Bugzilla配置

        urlbase :    指向你安装路径的URL,该URL会在新用户注册邮件中使用,用于注册登陆以及内网用户访问。

                  设置为Bugzilla所在的服务器IP即可。假设IP为192.168.1.100,则需要设置为http://192.168.1.100/

        特别备注:当设置完此项设置后,之后的登陆就不能用localhost来登陆了,而是需要用设置的urlbase来登陆才行,我在这里卡主了一个多小时,设置了这个参数之后,在localhost里面注销再次登陆时,怎么就登陆不上去了,在地址栏中输入urlbase的地址后,才登陆成功了。

    能够犯的错误都犯一次,下次就不会再犯错误了。看到网上一些教程,一切都很顺利的样子,我在这两天的搭建中,几乎是不可能这样顺利的,犯错,反思,搜索,总结记录,再犯错,再反思,再搜索总结和记录,这样才能更加深入的理解。

        cookiepath:帮助浏览器正确的管理cookie。

        maintainer : Bugzilla的主维护人

        requirelogin: 登陆验证,防止匿名用户登录。

        createemailregexp: 注册账号名称限制,如果设置为”.*”,任何人都可以创建他的账户。

                           如果设置为“@mycompany.com$”,只允许拥有myconpany账户的用户注册申请。

                           如果设置为空,仅仅管理员可以创建新账户,普通用户不允许申请账户。

        allow_attachment_display: 是否允许浏览器窗口打开附件,默认为Off,这是为了防止附件中隐藏的恶意行为

        如果要打开此项设置,需要指明附件所在地址,属性名称为attachment_base.例如:配置为http://www/Bugzilla.com/,则附件的下载地址为:http://www/Bugzilla.com/attachment.cgi?id=6

    默认单次上传附件最大为1MB,我现在把它改为20M。

    1. 配置maxattachmentsize 改为20000

    2. 配置MySql的max_allowed_packet参数。进入MySql,

    image

    设置了cookie相关后,在重新登陆后,出现如下错误:

    image

    经过这个博客给出的解决方法,博客地址为Bugzilla的Cookie问题,不能解决这个问题。在重新设置Bugzilla,每执行完一个设置后,重新开一个网页登陆尝试,看看有没有 刷新后需要重新登陆的问题。最后定位到一个参数的配置

    shutdownhtml,特别加红,以示警戒。最后,如果这个属性设置了值,不管是什么数值,都会导致上述的原因,解决的方法是不设置这个参数。至于更深层次的原因,不是很了解。在google上面找到这个Bug,点此进入。

    Bugzilla上传附件失败,弹出如下提示:

    image     问题原因:用于上传附件的lib/CGI.pm程序中使用了默认的临时文件夹/usr/temp,而在windows系统中没有此文件夹,因此,可以在lig/CGI.pm中修改临时文件夹地址,修改如下:

    image

    7. 汉化Bugzilla

    字体汉化:将前面下载的汉化包,解压,将顶层文件夹改名为cn,拷贝到template目录下就可以了。

    帮助文件:将doc目录下的en文件夹整个复制一份出来,该名为cn,这样就确保了在中文环境下,显示帮助文件不正常的问题。

    8. 总结

    经过两天的部署学习,MySql+ActivePerl+IIS+Bugzilla终于取得成功,心中积累的郁闷一扫而空,这几天我所犯下的错误和遇到的问题,都总结出来并且尝试着找到解决方法去解决,网络的力量很强大,利用好google,(如果有人想上google,可以给我发邮件,我有上google的好宝贝,嘿嘿)。

    希望这篇文章可以帮助更多在安装Bugzilla路上迷惑的人。

    ---------------------------分割线-----------------------------------------------

    可恶的房东要收回房子,给他儿子娶媳妇用,11月底又要搬家了,希望一切平稳过渡。

    下个星期,倒腾一下Testopia和hMailserver,看看好不够好用。

  • 相关阅读:
    js 性能调试
    js 面向对象编程
    js 零碎
    如果遇到二维数组 想取某个字段的和
    昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题
    mysql报错: 1548-Cannot load from mysql.proc. The table is probably corrupted 解决办法
    php 时间倒计时代码 个人写法 有好的想法的欢迎贴出来分享
    linux 环境下安装mysql5.6
    关于数据库连接不上 出现错误的问题
    推荐一个不错的css3网站 可以直接调用的
  • 原文地址:https://www.cnblogs.com/cherishui/p/4111439.html
Copyright © 2020-2023  润新知