一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

发布新日志

  • (翻译)编写优秀Bug报告的艺术及案例分析(转载)

    2007-06-27 08:44:10

    前言
    99年的Quality week上的一次演讲中,微软的一个测试经理,Roger Sherman指出了由于“不可重现”导致bug关闭的主要原因。这是一个非常可惜的情况,因为这样的bug report浪费了紧张的开发计划中的宝贵时间,增加了对产品质量完全是无关紧要的事情,同时导致了在开发人员和测试之间的挫败感和差的感觉。有时,bug report是由于短暂的或随机的事件,测试和开发之间不一致的工具和配置,或者在测试的环境下对正确的行为的模糊定义而产生的,但是许多的由于不可重现而被关闭的测试报告是因为描述不清晰,被误解,或者只是文字的错误。
     
    幸运的是,我学习到一些能够引起管理层注意,更清楚的和开发人员沟通并得到修复的编写优秀bug report的诀窍。这些技巧不仅仅提供了是在被修复的问题的比例方面得到了可靠的回报,而且在同开发人员和管理层的通过中也得到了回报。在我管理的项目中使用这种方法编写bug report8bug report中大约只有一个没有被修复。
     
    这篇文章的思想只有当你的报告针对的测试执行过程是专业的质量工作才可以发挥作用。聪明地执行完整的测试包是产生可靠的测试状况信息的基础的其中一个因素。在许多的测试文献中广泛地介绍了多种多样的关于如何构建这样的测试包的方法。选择和你质量风险管理需求相一致的技术并且使之适应你的具体情况,敏捷地监督已计划的测试的执行过程,这样你就可以拥有可靠的测试执行过程。
     
    另外一个关键的因素-bug report,却没有得到太多的关注。这是非常令人遗憾的,因为优秀的bug report对反映测试小组真实的和可理解的工作质量同测试本身一样都是非常重要的。试想一下:如果你不能用开发人员能够理解的术语和能够用于调试的方法给开发人员解释一个错误,他怎么能够修复问题呢?如果你不能够在bug report中提出象“保险杆标签”(bumper sticker)一样的错误总结来引起管理层的注意,你又如何让他们关心你们发现的问题呢?
     
    Bug report的核心是对错误的描述。表格1中是一个关于好和差的错误描述的例子。编写好的bug report是一种好的艺术形式。采用以下的10条技巧可以帮助你的小组提高编写bug report的质量:
    1. 组织Structure:测试人员应该采用深思熟虑的,小心谨慎的方法执行测试,并且做详尽的记录。这样可以促使他们对测试下的系统有很好的认识。当错误发生的时候,一个有组织的测试人员能够知道最早出现问题的地方。
    2. 重现Reproduce:测试人员在编写bug report之前必须在检查问题是否可重现。如果错误不可再重现,仍然应该写下来,但是必须说明问题的偶然性。一个好的处理原则就是在编写bug report之前反复尝试3次。
    3. 隔离Isolate:在尝试编写bug report之前,必须试着隔离错误。可以采用改变一些变量的方法,如系统的配置,它可能可以改变错误的症状。这些信息可以为开发人员着手调试提供思路。
    4. 归纳Generalize:在测试人员发现了一个已隔离的,可重现的问题后,应该对问题进行归纳。同一个问题是否出现在其他的模块或其他的地方?同一个故障是否有更加严重的问题?
    5. 对比Compare:如果测试人员以前曾经验证过现在出错的测试用例,那么他就应该检查以前的测试结果以检查相同的条件是否通过以前的测试。如果是的话,那么这个问题就象是一个回归的错误。注意由于同一测试条件有可能出现在多个测试用例中,这个步骤就不仅仅只是检查一个测试用例在以前的多个结果。
    6. 总结Summarize:在bug report的第一行写上错误的总结是非常关键的。测试人员要花些时间思考已发现的错误对客户有何影响。这不仅仅要求测试人员编写的报告要能够吸引读者,使和管理层的沟通清晰,还要能够帮助设置错误修复的优先级别。
    7. 精简Condense:在bug report的初稿完成后,测试人员应该反复阅读它,集中剔除那些没有关系的步骤或词语。隐含的或模糊的说明和那些由于对没有任何关系的细节或者那些在重现错误过程中不需要的步骤而消磨报告欢迎程度的无穷唠叨都不是bug report的目标。
    8. 消除歧义Disambiguate:测试人员在精简空话的同时或其之后随即应该再仔细检查报告是否有会产生误解的地方。测试人员应该尽量避免使用模糊的,会产生歧义的和主观的词语。目标是使用能够表述事实,清楚的,不会产生争执的词语。
    9. 中立Neutralize:如文中所述,作为坏消息的传递人,和善地提交消息是一个挑战。如同所有的错误总结一样,独立的bug report在措辞方面应该保持公正。攻击开发人员,指责潜在的错误,企图诙谐或使用挖苦将引起开发人员的憎恶,并且使注意力从“提高产品质量”这个大的目标上转移开了。谨慎的测试人员只用Bug report来描述事实。
    10. 检查Review:一旦测试人员感觉bug report是他能够编写的最好版本,他应该将报告再给一个或多个同行进行检查。他的同事们也应该给出一些建议,为了澄清问题不断地提问,如果适当的话,甚至可以挑战“错误成灾”的结论。在允许的时间里,测试小组应该尽可能提交最好的bug report。
     
    以上10条技巧可以帮助你和你的小组提交准确简洁的,彻底校订的,精心构思的,高质量的技术文档。测试小组应该集中编写bug report的任务,测试组长和经理应该让测试组成员清楚地认识到编写优秀的bug report是一项首要的工作任务。衡量优秀的bug report的质量指标应该包括如下:
    o        对管理层来说,是清晰明了的,特别是在概要这一级;
    o        对于开发部门是有用的,主要是给出能够让开发人员高效地调试问题的相关信息
    o        可以很快的将bug从“Opened”状态转变成“Closed”状态,减少为得到更多的信息从开发人员打回的差的bug report并导致测试人员返工的时间。
     
    改进bug报告的流程是需要花费一些时间的,但是也给予了效果显著的回报。首先,简单的流程改进了测试小组和高层、平行管理层之间的沟通,增强小组的信任度,名望和鼓励管理层给测试投资更多的资源。第二,平稳地递交报告给开发人员促进了测试和开发人员之间积极的关系。第三,更短的bug生命周期是更加有效的,在时间上之前花费在编写优秀bug report上的时间和后期由于返工差的bug report花费的时间相抵消。这些回报帮助开发流程通过有效的沟通和高效率的流程获得更好的产品质量。
     

    Good

    Bad

    概要(Summary
    Arial, Wingdings和 Symbol字体破坏了新文件。
    重现问题的步骤(Steps to Reproduce
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中4行文字,点击字体的下拉菜单,选择Arial.
    4. 所有的文字转变成了控制字符,数字和其他一些二进制的数据.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离(Isolation
    这个问题是新出现在build 1.1.018;相同的测试用例是在builds 1.1.007 (System Test entry) 和 1.1.017中通过测试的.
    使用Wingdings和Symbol字体也可以重现这个问题,但Times-Roman, Courier New和Webdings字体都没有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。 
    在格式一些文字成Arial字体时,我创建的新文件中所有的内容被毁坏了。
                                                                                                         Table1
    案例分析:SpeedyWriter
    SpeedyWriter --
    ·         用Java开发的字处理器(word processor)
    ·         支持常见的字处理器功能
    ·         在案例分析中,用“italics”字体突出显示内容的描述上有差异
     
    步骤1、组织Structure
     
    ·         采用深思熟虑的,仔细的方法进行测试
    ·         遵循编写好的或者运行由编写好的和标准化的流程自动化的测试用例
    ·         做仔细的记录
     
    步骤2、重现Reproduce
     

    Good

    Bad

    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2. 然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    在格式一些文字成Arial字体时,讨厌的bug捣毁了我创建的新文件中所有的内容,浪费了我的时间。
     
     
    步骤3、隔离Isolate
     

    Better

    Good

    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下。
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2. 然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    这个问题在Solaris下没有出现。
     
    步骤4、归纳Generalize
     

    Better

    Good

    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下。
     
    步骤5、对比Compare
     

    Better

    Good

    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试.
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
     
    步骤6、总结Summarize
     

    Better

    Good

    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
     
    步骤7、精简Condense
     

    Better

    Good

    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中文字,点击字体的下拉菜单,选择Arial.
    4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,浪费了用户的时间.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下。
    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
    2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
    3. 我选中了文字,点击字体的下拉菜单,选择Arial。
    4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
    5. 我尝试了3次,每次都能够重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
    如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下。
     
    步骤8、消除歧义Disambiguate
     

    Better

    Good

    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中4行文字,点击字体的下拉菜单,选择Arial.
    4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,包括控制字符,数字和其他一些二进制的垃圾数据,浪费了用户的时间.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中文字,点击字体的下拉菜单,选择Arial.
    4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,浪费了用户的时间.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下。
     
    步骤9、中立Neutralize
     

    Better

    Good

    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中4行文字,点击字体的下拉菜单,选择Arial.
    4. 所有的文字转变成控制字符,数字和其他一些二进制的数据.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,不会产生这个错误。
    这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
    概要
    Arial, Wingdings和 Symbol字体破坏了新文件
    · 重现问题的步骤:
    1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
    2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
    3. 选中4行文字,点击字体的下拉菜单,选择Arial.
    4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,包括控制字符,数字和其他一些二进制的垃圾数据,浪费了用户的时间.
    5. 尝试了3次,每次都可以重现这个问题。
    隔离
    这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
    相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
    基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
    在转换字体之前保存文件,将不会产生这个错误。
    在已经存在的文件里,是不会产生这个错误。
    这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
  • Installing Bugzilla on Microsoft Windows

    2007-05-24 15:54:14

    Original author: Byron Jones

    Translation: es

    Bugzilla version 2.18 was the first release that runs unmodified on Windows. This document guides you step by step through the installation process.

    Note that there are a few things that don't work on Windows. The most important one of these would be the inbound email interface (contrib/README.Mailif).

    Bugzilla

    There's two main methods to getting the Bugzilla source - from CVS or in a tarball. The best method for fetching Bugzilla is to grab it directly from CVS, as this will allow for simple upgrades, even if you have customised Bugzilla.

    Read the Release Notes before you do anything.

    Installing Bugzilla From CVS

    Download the CVSNT client from http://www.cvsnt.org/ (2.15 Meg).

    Run the installation, you'll only need to install the Command line client and the Password Server (:pserver:) Protocol. Once the intsall has completed, log out and log in again to pick up the changes to the PATH.

    Note: this document assumes you want to install Bugzilla into C:\Bugzilla.

    Open the command line, and cd to the parent of the directory you want to install Bugzilla into. As we'll be installing Bugzilla into C:\Bugzilla, the current directory must be C:\.

    C:\>set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
    
    C:\>cvs login
    
    Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401:/cvsroot
    CVS password: anonymous
    
    C:\>cvs checkout -d Bugzilla -rBugzilla_Stable Bugzilla
    cvs checkout: cwd=C:\ ,current=C:\
    cvs checkout: Updating Bugzilla
    U Bugzilla/.cvsignore
    U Bugzilla/1x1.gif
    U Bugzilla/Bugzilla.pm
    U Bugzilla/CGI.pl
    ...
    U Bugzilla/template/en/default/whine/multipart-mime.txt.tmpl
    U Bugzilla/template/en/default/whine/schedule.html.tmpl
    cvs checkout: Updating Bugzilla/template/en/extension
    U Bugzilla/template/en/extension/filterexceptions.pl
    cvs checkout: Updating Bugzilla/template/en/extension/hook
    
    C:\>
    

    Upgrading From CVS

    If you've already installed an earlier version of Bugzilla from CVS or from a TarBall, updating is easy. Even if you've made customisations, CVS is smart enough to merge. If CVS needs help merging, it displays a C in the first column of its report. You need to resolve such conflicts manually.

    C:\Bugzilla>cvs update -R -d -rBugzilla_Stable
    cvs update: Updating .
    P editusers.cgi
    cvs update: Updating Bugzilla
    P Bugzilla/Bug.pm
    P Bugzilla/BugMail.pm
    P Bugzilla/Chart.pm
    P Bugzilla/Flag.pm
    P Bugzilla/User.pm
    P Bugzilla/Util.pm
    cvs update: Updating Bugzilla/Auth
    U Bugzilla/Auth/CGI.pm
    cvs update: Updating Bugzilla/Template
    cvs update: Updating Bugzilla/Template/Plugin
    ...
    cvs update: Updating template/en/default/search
    cvs update: Updating template/en/default/whine
    cvs update: Updating template/en/extension
    
    C:\Bugzilla>
    

    Installing Bugzilla From the TarBall

    Download the Bugzilla from:
    http://bugzilla.org/download.html (1.2 Meg).

    Bugzilla ships as a Tarball, which has the extension .tar.gz. Any decent Windows archive tool should be able to extract tarballs.

    Extract the archive to the directory of your choice. For the remainder of this document I will assume that you have extracted Bugzilla into C:\Bugzilla.

    Upgrading From TarBall

    If you installed Bugzilla from the TarBall, the simplest way to upgrade is to follow the CVS Upgrading instructions.

    MySQL

    Download MySQL

    Download the MySQL "Windows Essentials" installer from:
    http://dev.mysql.com/downloads/mysql/ (15.9 Meg).

    Install

    MySQL has a standard Windows installer. It's ok to select a Typical MySQL install (the default). For the remainder of this document I will assume you have installed MySQL into C:\mysql.

    Create Bugs Database and User

    Use the mysql command line utility to create the Bugzilla database and a MySQL account for Bugzilla.

    Note in the following example 'sockmonkey' is my password for the bugs account:

    C:\mysql\bin>mysql --user=root -p mysql
    Enter password: ********
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 15 to server version: 4.0.20a-debug
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> create database bugs;
    
    Query OK, 1 row affected (0.11 sec)
    
    mysql> grant all privileges on bugs.* to 'bugs'@'localhost' identified by 'sockmonkey';
    Query OK, 0 rows affected (0.03 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> quit
    
    Bye
    
    C:\mysql\bin>
    

    If you are running MySQL 4.1 or higher, you may encounter the Client does not support authentication protocol requested by server error message. To fix this, once the user has been created you will have to reset the password using OLD_PASSWORD:

    C:\mysql\bin>mysql --user=root -p mysql
    Enter password: ********
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 15 to server version: 4.1.11-nt
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> set password for 'bugs'@'localhost' = OLD_PASSWORD('sockmonkey');
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> quit
    
    Bye
    
    C:\mysql\bin>
    

    ActiveState Perl

    Download ActiveState Perl 5.8.1 or Higher

    Download the ActiveState Perl 5.8.1 or Higher MSI from:
    http://activestate.com/Products/Download/Download.plex?id=ActivePerl (12.5 Meg).

    Note that Bugzilla requires ActiveState Perl 5.8.1 as it needs CGI.pm version 2.93 or higher. 5.8.0 ships with CGI.pm version 2.81, 5.8.1 ships with CGI.pm version 3.00.

    There is a bug in Time::Local 1.10, which is shipped with ActiveState Perl 5.8.6, that will cause warnings to be generated at the top of every buglist. It's a good idea to avoid version 5.8.6 (version 5.8.4 works without issue).

    Install

    ActiveState Perl uses a standard Windows Installer. Install, sticking with the defaults, which will install Perl into C:\Perl.

    Note: Installing Perl into a directory that contains a space (eg "C:\Program Files") will break the Template-Toolkit installer.

    Once the intsall has completed, log out and log in again to pick up the changes to the PATH.

    Upgrading Existing Installs

    If you already have ActiveState Perl installed, now's a good time to ensure you're running the latest version of ActiveState Perl, along with the latest versions of the modules.

    To upgrade ActiveState Perl, follow the directions at:
    http://aspn.activestate.com/ASPN/docs/ActivePerl/install.html

    To upgrade your modules, simply run ppm upgrade

    Create Temp Directory

    On Windows, Perl has a hard time of locating the correct directory to write its temporary files (CGI.pm, File::Spec). Basically it has a list of paths hard coded to use, instead of querying Windows for the correct path.

    To avoid problems, create the C:\Temp directory (it has to be on drive C) and ensure SYSTEM has write and modify access.

    Install Modules

    Bugzilla requires a number of perl modules to be installed, all of which are available at http://landfill.bugzilla.org/ppm/.

    If you use a proxy server or a firewall you may have trouble running PPM. This is covered in the ActivePerl FAQ.

    The Net::LDAP module is only required if you want to use Active Directory for authentication.

    C:\>ppm
    
    PPM - Programmer's Package Manager version 3.1.
    Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
    ActiveState is a devision of Sophos.
    
    Entering interactive shell. Using Term::ReadLine::Stub as readline library.
    
    Type 'help' to get started.
    
    ppm> rep add Bugzilla http://landfill.bugzilla.org/ppm
    Repositories:
    [1] ActiveState PPM2 Repository
    [2] ActiveState Package Repository
    [3] Bugzilla
    ppm> install AppConfig
    ====================
    Install 'AppConfig' version 1.52 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 50508 bytes.
    ...
    Successfully installed AppConfig version 1.52 in ActivePerl 5.8.7.813.
    ppm> install TimeDate
    ====================
    Install 'TimeDate' version 1.16 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 19235 bytes.
    ...
    Successfully installed TimeDate version 1.16 in ActivePerl 5.8.7.813.
    ppm> install DBI
    ====================
    Install 'DBI' version 1.43 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 508164 bytes.
    ...
    Successfully installed DBI version 1.43 in ActivePerl 5.8.7.813.
    ppm> install DBD-mysql
    
    ====================
    Install 'DBD-mysql' version 2.9002 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 178803 bytes.
    ...
    Successfully installed DBD-mysql version 2.9002 in ActivePerl 5.8.7.813.
    ppm> install Template-Toolkit
    ====================
    Install 'Template-Toolkit' version 2.13 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 530770 bytes.
    ...
    Successfully installed Template-Toolkit version 2.13 in ActivePerl 5.8.7.813.
    ppm> install MailTools
    ====================
    Install 'MailTools' version 1.67 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 46881 bytes.
    ...
    Successfully installed MailTools version 1.67 in ActivePerl 5.8.7.813.
    ppm> install GD
    ====================
    Install 'GD' version 2.07 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 363039 bytes.
    ...
    Successfully installed GD version 2.07 in ActivePerl 5.8.7.813.
    ppm> install Chart
    ====================
    Install 'Chart' version 2.3 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 58641 bytes.
    ...
    Successfully installed Chart version 2.3 in ActivePerl 5.8.7.813.
    ppm> install GDGraph
    ====================
    Install 'GDTextUtil' version 0.86 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 19178 bytes.
    ...
    Successfully installed GDTextUtil version 0.86 in ActivePerl 5.8.7.813.
    ====================
    Install 'GDGraph' version 1.43 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 71764 bytes.
    ...
    Successfully installed GDGraph version 1.43 in ActivePerl 5.8.7.813.
    ppm> install PatchReader
    
    ====================
    Install 'PatchReader' version 0.9.4 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 9558 bytes.
    ...
    Successfully installed PatchReader version 0.9.4 in ActivePerl 5.8.7.813.
    ppm> install Net::LDAP
    
    ====================
    Install 'Convert-ASN1' version 0.19 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 26326 bytes.
    ...
    Successfully installed Convert-ASN1 version 0.19 in ActivePerl 5.8.7.813.
    ====================
    Install 'perl-ldap' version 0.33 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 188548 bytes.
    ...
    Successfully installed perl-ldap version 0.33 in ActivePerl 5.8.7.813.
    ====================
    Install 'Net-LDAP-Express' version 0.11 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 7693 bytes.
    ...
    Successfully installed Net-LDAP-Express version 0.11 in ActivePerl 5.8.7.813.
    ppm>
    

    PatchReader 0.9.4

    Make sure the version of PatchReader that is installed is 0.9.4 or higher. If you end up with an older version, uninstall the ppm and install the ppm from http://landfill.bugzilla.org/ppm/PatchReader.ppd.

    ppm> uninstall PatchReader
    ====================
    Remove 'PatchReader' version 0.9.2 from ActivePerl 5.8.7.813.
    ====================
    ...
    Successfully removed PatchReader version 0.9.2 from ActivePerl 5.8.7.813.
    ppm> install http://landfill.bugzilla.org/ppm/PatchReader.ppd
    ====================
    Install 'PatchReader' version 0.9.4 in ActivePerl 5.8.7.813.
    ====================
    Downloaded 9558 bytes.
    ...
    Successfully installed PatchReader version 0.9.4 in ActivePerl 5.8.7.813.
    ppm>
    

    Apache

    It is recommended that you run Bugzilla with the Apache web server. If you want to use IIS to run Bugzilla, there are configuration instructions in the Bugzilla documentation.

    Download Apache 2.x

    Download the Apache HTTP Server version 2.x or high from:
    http://httpd.apache.org/download.cgi (5.8 Meg).

    Install

    Yet another standard Windows Installer. Just follow the prompts, making sure you Install for All Users. Be aware the Apache will always install itself into an Apache2 directory under what ever path you specify. The default install path will be displayed as C:\Program Files\Apache Group which will result in Apache being installed to C:\Program Files\Apache Group\Apache2. This gets me every time.

    For the remainder of this document I will assume you installed Apache into the default location, C:\Program Files\Apache Group\Apache2.

    If you are already running IIS, you must configure apache to run on a port other than 80, however you aren't asked the port to listen on at install time. Choose All Users (which says port 80), and we'll change the port later.

    By default Apache installs itself to run as the SYSTEM account. For security reasons it's better the reconfigure the service to run as an Apache user. Create a user that is a member of no groups, and reconfigure the Apache2 service to run as that account.

    Grant write access for Apache account

    By default Apache will run as the SYSTEM account. This account needs write and modify access to the following directorys, and all their subdirectories. Depending on your version of Windows, this access may already be granted.

    • C:\Bugzilla\data
    • C:\Program Files\Apache Group\Apache2\logs
    • C:\Temp

    Note that C:\Bugzilla\data is created the first time you run checksetup.pl.

    Configure Port and DocumentRoot

    Edit C:\Program Files\Apache Group\Apache2\conf\httpd.conf with your favourite text editor.

    To change the port that Apache runs on (listens on, or binds to), edit the Listen option.

    #
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, instead of the default. See also the <VirtualHost>
    # directive.
    #
    # Change this to Listen on specific IP addresses as shown below to 
    # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
    #
    #Listen 12.34.56.78:80
    Listen 80
    
    

    Change the DocumentRoot setting to point to C:\Bugzilla. Note there are two locations in httpd.conf that need to be updated. Note you need to use / instead of \ as a path separator.

    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "C:/Bugzilla"
    
    #
    # Each directory to which Apache has access can be configured with respect
    # to which services and features are allowed and/or disabled in that
    # directory (and its subdirectories). 
    #
    # First, we configure the "default" to be a very restrictive set of 
    # features.  
    #
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    
    #
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    #
    
    #
    # This should be changed to whatever you set DocumentRoot to.
    #
    <Directory "C:/Bugzilla">
    

    Configure CGI

    To enable CGI support in Apache, you need to enable the CGI handler, by uncommenting the AddHandler cgi-scrīpt .cgi line.

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scrīpts outside of scrīptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    AddHandler cgi-scrīpt .cgi
    

    And allow .cgi scrīpts in the Bugzilla directory by adding the ExecCGI option. We also need to allow Bugzilla's .htaccess file to restrict access to sensitive documents by allowing it to override the defaults. This involves changing AllowOverride None to AllowOverride All.

    Apache also needs to know to use Perl to execute .cgi files, via the scrīptInterpreterSource directive.

    #
    # This should be changed to whatever you set DocumentRoot to.
    #
    <Directory "C:/Bugzilla">
    
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs-2.0/mod/core.html#options
    # for more information.
    #
        Options Indexes FollowSymLinks ExecCGI
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
        AllowOverride All
    
    #
    # Controls who can get stuff from this server.
    #
        Order allow,deny
        Allow from all
    
    #
    # Tell Apache to use Perl to execute .cgi
    #
        scrīptInterpreterSource Registry-Strict
    
    </Directory>
    

    You also should add index.cgi to the DirectoryIndex list.

    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #
    # The index.html.var file (a type-map) is used to deliver content-
    # negotiated documents.  The MultiViews Option can be used for the 
    # same purpose, but it is much slower.
    #
    DirectoryIndex index.html index.html.var index.cgi
    

    In order for scrīptInterpreterSource Registry-Strict to work, you also need to add an entry to the Registry so Apache will use Perl to execute .cgi files.

    Create a key HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command with the default value of the full path of perl.exe with a -T parameter. For example C:\Perl\bin\perl.exe -T

    regedit screenshot

    Disable Logging

    Unless you want to keep statistics on how many hits your Bugzilla install is getting, it's a good idea to disable logging by commenting out the CustomLog directive.

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog logs/access.log common
    

    Restart Apache

    Finally, restart Apache to get it pick up the changes.

    C:\>net stop apache2
    The Apache2 service is stopping..
    The Apache2 service was stopped successfully.
    
    C:\>net start apache2
    The Apache2 service is starting.
    The Apache2 service was started successfully.
    
    C:\>
    

    Extras

    While Bugzilla has built in support for SMTP servers, it doesn't (yet) support SMTP authentication or debugging of SMTP errors.

    If you require SMTP authentiation (including POP before SMTP), you can use Glob's sendmail wrapper. Download and install as per the instructions on that site.

    If you enable logging in Sendmail, you need to ensure that your Apache account has write access to C:\usr\lib.

    Configure Bugzilla

    checksetup.pl

    Run checksetup.pl. This will check your Perl modules and create localconfig.

    C:\>cd bugzilla
    
    C:\bugzilla>perl checksetup.pl
    
    Checking perl modules ...
    Checking for       AppConfig (v1.52)   ok: found v1.55
    Checking for             CGI (v2.93)   ok: found v3.10
    Checking for    Data::Dumper (any)     ok: found v2.121_04
    Checking for    Date::Format (v2.21)   ok: found v2.22
    Checking for             DBI (v1.38)   ok: found v1.48
    Checking for      File::Spec (v0.84)   ok: found v3.05
    Checking for      File::Temp (any)     ok: found v0.16
    Checking for        Template (v2.08)   ok: found v2.13
    Checking for      Text::Wrap (v2001.0131) ok: found v2001.09293
    Checking for    Mail::Mailer (v1.65)   ok: found v1.67
    Checking for        Storable (any)     ok: found v2.13
    
    The following Perl modules are optional:
    Checking for              GD (v1.20)   ok: found v2.16
    Checking for     Chart::Base (v1.0)    ok: found v2.3
    Checking for     XML::Parser (any)     ok: found v2.34
    Checking for       GD::Graph (any)     ok: found v1.43
    Checking for GD::Text::Align (any)     ok: found v1.18
    Checking for     PatchReader (v0.9.4)  ok: found v0.9.5
    
    Most ActivePerl modules are available at Apache's ppm repository.
    A list of mirrors is available at
        http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/
    You can add the repository with the following command:
        ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/
    
    Checking user setup ...
    
    This version of Bugzilla contains some variables that you may want
    to change and adapt to your local settings. Please edit the file
    './localconfig' and rerun checksetup.pl
    
    The following variables are new to localconfig since you last ran
    checksetup.pl:   index_html cvsbin interdiffbin diffpath create_htaccess
    webservergroup db_driver db_host db_pass db_sock db_check
    
    C:\bugzilla>
    

    Edit localconfig

    Open C:\Bugzilla\localconfig in your favourite text editor to configure Bugzilla.

    You have to tell Bugzilla how to access your database. If you used bugs/bugs, you'll only have to set db_pass.

    #
    # How to access the SQL database:
    #
    $db_host = "localhost";         # where is the database?
    $db_port = 3306;                # which port to use
    $db_name = "bugs";              # name of the MySQL database
    $db_user = "bugs";              # user to attach to the MySQL database
    
    #
    # Enter your database password here. It's normally advisable to specify
    # a password for your bugzilla database user.
    # If you use apostrophe (') or a backslash (\) in your password, you'll
    # need to escape it by preceding it with a \ character. (\') or (\\)
    #
    $db_pass = 'sockmonkey';
    

    checksetup.pl

    Run checksetup.pl again. This time it will build your database tables and initialise Bugzilla.

    C:\bugzilla>perl checksetup.pl
    
    Checking perl modules ...
    Checking for       AppConfig (v1.52)   ok: found v1.55
    Checking for             CGI (v2.93)   ok: found v3.10
    Checking for    Data::Dumper (any)     ok: found v2.121_04
    Checking for    Date::Format (v2.21)   ok: found v2.22
    Checking for             DBI (v1.38)   ok: found v1.48
    Checking for      File::Spec (v0.84)   ok: found v3.05
    Checking for      File::Temp (any)     ok: found v0.16
    Checking for        Template (v2.08)   ok: found v2.13
    Checking for      Text::Wrap (v2001.0131) ok: found v2001.09293
    Checking for    Mail::Mailer (v1.65)   ok: found v1.67
    Checking for        Storable (any)     ok: found v2.13
    
    The following Perl modules are optional:
    Checking for              GD (v1.20)   ok: found v2.16
    Checking for     Chart::Base (v1.0)    ok: found v2.3
    Checking for     XML::Parser (any)     ok: found v2.34
    Checking for       GD::Graph (any)     ok: found v1.43
    Checking for GD::Text::Align (any)     ok: found v1.18
    Checking for     PatchReader (v0.9.4)  ok: found v0.9.5
    
    Most ActivePerl modules are available at Apache's ppm repository.
    A list of mirrors is available at
        http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/
    You can add the repository with the following command:
        ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/
    
    Checking user setup ...
    Creating data directory (./data) ...
    Creating graphs directory...
    Creating .htaccess...
    Creating Bugzilla/.htaccess...
    Creating ./data/.htaccess...
    Creating ./template/.htaccess...
    Creating ./data/webdot/.htaccess...
    Precompiling templates ...
    Checking for    MySQL Server (v3.23.41) ok: found v4.0.20a-debug
    
    Creating table user_group_map ...
    Creating table series_data ...
    Creating table longdescs ...
    Creating table dependencies ...
    Creating table components ...
    Creating table keywords ...
    Creating table cc ...
    Creating table duplicates ...
    Creating table groups ...
    Creating table flagtypes ...
    Creating table profiles ...
    Creating table products ...
    Creating table bugs_activity ...
    Creating table series_categories ...
    Creating table keyworddefs ...
    Creating table fielddefs ...
    Creating table group_control_map ...
    Creating table profiles_activity ...
    Creating table group_group_map ...
    Creating table user_series_map ...
    Creating table bugs ...
    Creating table series ...
    Creating table versions ...
    Creating table flagexclusions ...
    Creating table logincookies ...
    Creating table watch ...
    Creating table bug_group_map ...
    Creating table votes ...
    Creating table attachments ...
    Creating table flags ...
    Creating table milestones ...
    Creating table tokens ...
    Creating table flaginclusions ...
    Creating table quips ...
    Creating table namedqueries ...
    Creating initial dummy product 'TestProduct' ...
    Populating duplicates table...
    Creating duplicates directory...
    Migrating old chart data into database ...
    Adding group tweakparams ...
    Adding group editusers ...
    Adding group creategroups ...
    Adding group editcomponents ...
    Adding group editkeywords ...
    Adding group admin ...
    Adding group editbugs ...
    Adding group canconfirm ...
    
    Looks like we don't have an administrator set up yet.  Either this is your
    first time using Bugzilla, or your administrator's privileges might have
    accidently been deleted.
    Enter the e-mail address of the administrator: byron@example.com
    You entered 'byron@example.com'.  Is this correct? [Y/n] y
    Enter the real name of the administrator: Byron Jones
    
    Enter a password for the administrator account: beef
    
    Please retype the password to verify: beef
    
    'byron@example.com' is now set up as an administrator account.
    
    C:\bugzilla>
    

    Parameters

    You should now be able to log into to Bugzilla using the account checksetup.pl just created. Point your web browser to http://localhost/, choose Log in to an existing account, and login.

    In the page footer, choose Parameters.

    Put in your email address as the maintainer.

    maintainer:
    The email address of the person who maintains this installation of Bugzilla.
    byron@example.com

    Put in the URL to Bugzilla in the urlbase field. This URL will be used in emails, so don't use localhost.

    urlbase:
    The URL that is the common initial leading part of all Bugzilla URLs.
    http://bugzilla.example.com/

    Download and install WebDot from http://www.graphviz.org/Download_windows.php. Put the complete path to dot.exe in webdotbase.

    webdotbase:
    It is possible to show graphs of dependent bugs. You may set this parameter to any of the following:

      * A complete file path to 'dot' (part of GraphViz) will generate the graphs locally.
      * A URL prefix pointing to an installation of the webdot package will generate the graphs remotely.
      * A blank value will disable dependency graphing.

    The default value is a publically-accessible webdot server. If you change this value, make certain that the webdot server can read files from your webdot directory. On Apache you do this by editing the .htaccess file, for other systems the needed measures may vary. You can run checksetup.pl to recreate the .htaccess file if it has been lost.
    C:/Program Files/ATT/Graphviz/bin/dot.exe

    Scheduled Tasks

    collectstats.pl

    Add a Scheduled Task to run collectstats.pl nightly.

    Step-by-step for Windows XP:

    1. Control Panel --> Scheduled Tasks --> Add Scheduled Task
    2. Next
    3. Browse
    4. Find perl.exe (normally C:\Perl\bin\perl.exe)
    5. Give it a name, such as "Bugzilla Collect Stats"
    6. Perfom the task daily at your desired time
    7. If you're running Apache as a user, not as SYSTEM, enter that user here. Otherwise you're best off creating an account that has write access to the Bugzilla directory and using that
    8. Tick "Open Advanced Properties.." and click Finish
    9. Append the scrīpt name to the end of the "Run" field. eg C:\Perl\bin\perl.exe C:\Bugzilla\collectstats.pl
    10. Change "start in" to the Bugzilla directory

    whineatnews.pl

    Add a Scheduled Task to run whineatnews.pl nightly.

    The steps for setting up whineatnews.pl are as per collectstats.pl

    whine.pl

    Add a Scheduled Task to run whine.pl nightly.

    The steps for setting up whine.pl are as per collectstats.pl, except whine.pl needs to run in Perl's Taint mode. The command line needs to include the -T option: C:\Perl\bin\perl.exe -T C:\Bugzilla\whine.pl

    Backing up Bugzilla

    You may want to backup the entire Bugzilla directory. It's small and you'll get all your settings and customisations on your backup media.

    The most important component of Bugzilla to backup is the Bugzilla Database. It contains all your Bugs, Users, Attachments, pretty well everything. Like most databases, backups with MySql are performed by generating a dump of the database and backing up the dump.

    Schedule the mysqldump utility to create the dump, and add the resulting file to your backup media. You'll find MySql's mysqldump documentation at http://dev.mysql.com/doc/mysql/en/mysqldump.html.

    Congratulations, the Bugzilla installation process is complete!

    爱生活爱爸爸爱妈妈爱自己爱龟龟爱家家爱本本爱澡澡爱作作爱飞飞爱吃吃爱觉觉爱觅觅爱蜜蜜爱爬爬爱孜孜爱娜娜

    我要宣布我最爱银子,哈哈。。。

    不过这篇文章更好,吼吼~~~大声吼三下~ ^o^,^o^,^o^

     

     

  • Bugfree安装备忘录(转)

    2007-05-22 17:32:26

    1.安装Mysql(5.0.37)
       安装完毕后有时要打开防火墙打开3306端口
    2.安装Apache2.2.4到C:\apache
       安装完毕提示133行错误,打开\conf中,修改httpd文件,在133行前加#
    3.目录增加读写权限
    4.解压缩PHP5.2.1到C:\PHP
       修改php.ini-dist,改名去掉-dist后复制到c:\windows
       复制php5ts.dll和libmysql.dll到system32
    5.修改c:\apache\conf\httpd.conf
       在#LoadModule ssl_module modules/mod_ssl.so的下面添加
        LoadModule PHP5_module c:/PHP/PHP5apache2_2.dll
       在AddType application/x-gzip .gz .tgz的下面添加
        AddType application/x-httpd-PHP .PHP
    6.解压缩Greenamp050123到c:\Greenamp
    7.解压缩Bugfree到Greenamp下的www文件夹中
    8.运行phpmyadmin,创建数据库Bugfree
    9.选择Bugfree库,选择SQL,选择greenamp\bugfree\document下的bugfree.sql,选择执行
    10.运行install.php配置bugfree
    11.打开配置文件,修改邮件区代码那个false为true
    12.修改配置文件中1024*100改为1024*1000
    13.服务器可以不装IIS,装了IIS要修改端口号,把80改为别的端口号
    14.PHPmyadmin的登陆密码不要修改,默认是root,密码空,改了密码后,可以用phpmyadmin,密码空登陆,再改密码就只有百度"phpmyadmin 修改密码"找解决办法了

     

    相关软件下载页面

    图解

     

Open Toolbar