<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Create a Bugzilla Account</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="The Bugzilla Guide - 2.20.1 
    Release"
HREF="index.html"><LINK
REL="UP"
TITLE="Using Bugzilla"
HREF="using.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="using-intro.html"><LINK
REL="NEXT"
TITLE="Anatomy of a Bug"
HREF="bug_page.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide - 2.20.1 
    Release</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="using-intro.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. Using Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bug_page.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="myaccount"
>6.2. Create a Bugzilla Account</A
></H1
><P
>If you want to use Bugzilla, first you need to create an account.
    Consult with the administrator responsible for your installation of
    Bugzilla for the URL you should use to access it. If you're
    test-driving Bugzilla, use this URL: 
    <A
HREF="http://landfill.bugzilla.org/bugzilla-tip/"
TARGET="_top"
>http://landfill.bugzilla.org/bugzilla-tip/</A
>.
    </P
><P
></P
><OL
TYPE="1"
><LI
><P
>Click the 
        <SPAN
CLASS="QUOTE"
>"Open a new Bugzilla account"</SPAN
>

        link, enter your email address and, optionally, your name in the
        spaces provided, then click 
        <SPAN
CLASS="QUOTE"
>"Create Account"</SPAN
>

        .</P
></LI
><LI
><P
>Within moments, you should receive an email to the address
        you provided, which contains your login name (generally the
        same as the email address), and a password. 
        This password is randomly generated, but can be
        changed to something more memorable.</P
></LI
><LI
><P
>Click the 
        <SPAN
CLASS="QUOTE"
>"Log In"</SPAN
>
        link in the footer at the bottom of the page in your browser,
        enter your email address and password into the spaces provided, and
        click 
        <SPAN
CLASS="QUOTE"
>"Login"</SPAN
>.
        </P
></LI
></OL
><P
>You are now logged in. Bugzilla uses cookies to remember you are
    logged in so, unless you have cookies disabled or your IP address changes, 
    you should not have to log in again.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="using-intro.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bug_page.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="using.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Anatomy of a Bug</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>