Commit 1252fe4e authored by jake%bugzilla.org's avatar jake%bugzilla.org

Recompile docs so (hopefully) I can get some feedback on the installation chapter changes.

parent dda1abb9
...@@ -448,11 +448,16 @@ CLASS="LOT" ...@@ -448,11 +448,16 @@ CLASS="LOT"
></DT ></DT
><DT ><DT
>4-1. <A >4-1. <A
HREF="#install-mysql-packets"
>Set Max Packet Size in MySQL</A
></DT
><DT
>4-2. <A
HREF="#trouble-filetemp-errors" HREF="#trouble-filetemp-errors"
>Other File::Temp error messages</A >Other File::Temp error messages</A
></DT ></DT
><DT ><DT
>4-2. <A >4-3. <A
HREF="#trouble-filetemp-patch" HREF="#trouble-filetemp-patch"
>Patch for File::Temp in Perl 5.6.0</A >Patch for File::Temp in Perl 5.6.0</A
></DT ></DT
...@@ -468,6 +473,11 @@ CLASS="LOT" ...@@ -468,6 +473,11 @@ CLASS="LOT"
></DT ></DT
><DT ><DT
>4-1. <A >4-1. <A
HREF="#install-perlmodules-cpan"
>Installing perl modules with CPAN</A
></DT
><DT
>4-2. <A
HREF="#http-apache-htaccess" HREF="#http-apache-htaccess"
><TT ><TT
CLASS="filename" CLASS="filename"
...@@ -635,7 +645,7 @@ NAME="newversions" ...@@ -635,7 +645,7 @@ NAME="newversions"
>&#13; The newest version of this guide can always be found at <A >&#13; The newest version of this guide can always be found at <A
HREF="http://www.bugzilla.org" HREF="http://www.bugzilla.org"
TARGET="_top" TARGET="_top"
>bugzilla.org</A >http://www.bugzilla.org</A
>; including >; including
documentation for past releases and the current development version. documentation for past releases and the current development version.
</P </P
...@@ -650,13 +660,12 @@ TARGET="_top" ...@@ -650,13 +660,12 @@ TARGET="_top"
</P </P
><P ><P
>&#13; The latest version of this document can always be checked out via CVS. >&#13; The latest version of this document can always be checked out via CVS.
Please follow the instructions available at Please follow the <A
<A
HREF="http://www.mozilla.org/cvs.html" HREF="http://www.mozilla.org/cvs.html"
TARGET="_top" TARGET="_top"
>the Mozilla CVS page</A >Mozilla CVS</A
>, >
and check out the <TT instructions and check out the <TT
CLASS="filename" CLASS="filename"
>mozilla/webtools/bugzilla/docs/</TT >mozilla/webtools/bugzilla/docs/</TT
> >
...@@ -794,7 +803,7 @@ TARGET="_top" ...@@ -794,7 +803,7 @@ TARGET="_top"
><P ><P
>&#13; Thanks also go to the following people for significant contributions >&#13; Thanks also go to the following people for significant contributions
to this documentation (in alphabetical order): to this documentation (in alphabetical order):
Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Ron Teitelbaum, Spencer Smith, Zach Liption Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Martin Wulffeld, Ron Teitelbaum, Spencer Smith, Zach Liption
. .
</P </P
></DIV ></DIV
...@@ -811,7 +820,7 @@ NAME="conventions" ...@@ -811,7 +820,7 @@ NAME="conventions"
><DIV ><DIV
CLASS="informaltable" CLASS="informaltable"
><A ><A
NAME="AEN110" NAME="AEN111"
></A ></A
><P ><P
></P ></P
...@@ -1371,8 +1380,8 @@ NAME="myaccount" ...@@ -1371,8 +1380,8 @@ NAME="myaccount"
<A <A
HREF="http://landfill.bugzilla.org/bugzilla-tip/" HREF="http://landfill.bugzilla.org/bugzilla-tip/"
TARGET="_top" TARGET="_top"
>&#13; http://landfill.bugzilla.org/bugzilla-tip/</A >http://landfill.bugzilla.org/bugzilla-tip/</A
> >.
</P </P
><P ><P
></P ></P
...@@ -1707,10 +1716,8 @@ NAME="query" ...@@ -1707,10 +1716,8 @@ NAME="query"
<A <A
HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"
TARGET="_top" TARGET="_top"
>&#13; landfill.bugzilla.org/bugzilla-tip/query.cgi</A >http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A
> >.</P
.</P
><P ><P
>The Search page has controls for selecting different possible >The Search page has controls for selecting different possible
values for all of the fields in a bug, as described above. Once you've values for all of the fields in a bug, as described above. Once you've
...@@ -1878,7 +1885,7 @@ CLASS="section" ...@@ -1878,7 +1885,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN370" NAME="AEN371"
></A ></A
>3.2.1. Autolinkification</H2 >3.2.1. Autolinkification</H2
><P ><P
...@@ -2026,7 +2033,7 @@ CLASS="section" ...@@ -2026,7 +2033,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN399" NAME="AEN400"
></A ></A
>3.2.5. Filing Bugs</H2 >3.2.5. Filing Bugs</H2
><P ><P
...@@ -2178,34 +2185,21 @@ CLASS="section" ...@@ -2178,34 +2185,21 @@ CLASS="section"
NAME="stepbystep" NAME="stepbystep"
></A ></A
>4.1. Step-by-step Install</H1 >4.1. Step-by-step Install</H1
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="intstall-into"
></A
>4.1.1. Introduction</H2
><P ><P
>Bugzilla has been successfully installed under Solaris, Linux, >Bugzilla has been successfully installed under many different
and Win32. Win32 is not yet officially supported, but many people operating systems including almost all Unix clones and
have got it working fine. <SPAN
Please see CLASS="productname"
>Microsoft Windows</SPAN
>. Many
operating systems have utilities that make installation easier or quirks
that make it harder. We have tried to collect that information in
<A <A
HREF="#os-win32" HREF="#os-specific"
>Section 4.3.1</A >Section 4.3</A
> >, so be sure to check out that section before
for further advice on getting Bugzilla to work on Microsoft you start your installation.
Windows.</P </P
></DIV
><DIV
CLASS="section"
><HR><H2
CLASS="section"
><A
NAME="install-package-list"
></A
>4.1.2. Package List</H2
><DIV ><DIV
CLASS="note" CLASS="note"
><P ><P
...@@ -2227,265 +2221,117 @@ ALT="Note"></TD ...@@ -2227,265 +2221,117 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you are running the very most recent >Windows is one of those operating systems that has many quirks
version of Perl and MySQL (both the executables and development and is not yet officially supported by the Bugzilla team. If you wish
libraries) on your system, you can skip these manual installation to install Bugzilla on Windows, be sure to see
steps for the Perl modules by using Bundle::Bugzilla; see
<A <A
HREF="#bundlebugzilla" HREF="#os-win32"
>Using Bundle::Bugzilla instead of manually installing Perl modules</A >Section 4.3.1</A
>. >.
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><DIV
CLASS="warning"
><P ><P
>The software packages necessary for the proper running of
Bugzilla (with download links) are:
<P
></P
><OL
TYPE="1"
><LI
><P
>&#13; <A
HREF="http://www.mysql.com/"
TARGET="_top"
>MySQL database server</A
>
(3.23.41 or greater)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.perl.org"
TARGET="_top"
>Perl</A
>
(5.6, 5.6.1 is recommended if you wish to
use Bundle::Bugzilla)
</P
></LI
><LI
><P
>Perl Modules (minimum version):
<P
></P ></P
><OL ><TABLE
TYPE="a" CLASS="warning"
><LI WIDTH="100%"
><P BORDER="0"
>&#13; <A ><TR
HREF="http://www.template-toolkit.org" ><TD
TARGET="_top" WIDTH="25"
>Template</A ALIGN="CENTER"
> VALIGN="TOP"
(v2.08) ><IMG
</P SRC="../images/warning.gif"
></LI HSPACE="5"
><LI ALT="Warning"></TD
><P ><TD
>&#13; <A ALIGN="LEFT"
HREF="http://www.perldoc.com/perl5.6/lib/File/Temp.html" VALIGN="TOP"
TARGET="_top"
>&#13; File::Temp</A
>
(1.804) (Prerequisite for Template)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/AppConfig/"
TARGET="_top"
>AppConfig
</A
>
(1.52)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/authors/id/MUIR/modules/Text-Tabs%2BWrap-2001.0131.tar.gz"
TARGET="_top"
>Text::Wrap</A
>
(2001.0131)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://search.cpan.org/search?dist=File-Spec"
TARGET="_top"
>File::Spec
</A
>
(0.82)
</P
></LI
><LI
><P ><P
>&#13; <A >While installing Bugzilla, it is a good idea to ensure that there
HREF="http://www.cpan.org/modules/by-module/Data/" is some kind of firewall between you and the rest of the Internet
TARGET="_top" as your machine may be insecure for periods during the install. Many
>Data::Dumper installation steps require an active Internet connection to complete,
</A but you must take care to ensure that at no point is your machine
> vulnerable to an attack.</P
(any) ></TD
</P ></TR
></LI ></TABLE
><LI ></DIV
><P ><P
>&#13; <A >This guide assumes that you already have your operating system
HREF="http://www.cpan.org/modules/by-module/Mysql/" installed, network configured, and have administrative access to the
TARGET="_top" shell on the machine you are installing Bugzilla onto. It is possible to
>DBD::mysql install and run Bugzilla without administrative access, but you have to
</A either make sure all the required software is installed or get somebody
> with administrative access to install it for you.
(2.1010)
</P </P
></LI
><LI
><P ><P
>&#13; <A >The listing below is a basic step-by-step list. More information
HREF="http://www.cpan.org/modules/by-module/DBI/" can be found in the sections below. Minimum versions will be
TARGET="_top" included in parenthesis where appropriate.
>DBI</A
>
(1.32)
</P </P
></LI ><DIV
CLASS="procedure"
><OL
TYPE="1"
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/Date/" HREF="#install-mysql"
TARGET="_top" >Install MySQL</A
>Date::Parse
</A
> >
(2.21) (3.23.41)
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/CGI/" HREF="#install-perl"
TARGET="_top" >Install Perl</A
>CGI
</A
> >
(2.88) (5.6)
</P </P
></LI ></LI
></OL
>
and, optionally:
<P
></P
><OL
TYPE="a"
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/GD/" HREF="#install-perlmodules"
TARGET="_top" >Install Perl Modules</A
>GD</A
> >
(1.20) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; GD::Graph ><A
(any) for bug charting HREF="#install-webserver"
</P >Install a Webserver</A
></LI
><LI
><P
>&#13; GD::Text::Align
(any) for bug charting
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/Chart/"
TARGET="_top"
>Chart::Base
</A
> >
(0.99c) for bug charting
</P
></LI
><LI
><P
>&#13; XML::Parser
(any) for the XML interface
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; MIME::Parser ><A
(any) for the email interface HREF="#install-bzfiles"
</P >Put Bugzilla in the Webspace</A
></LI
></OL
> >
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; The web server of your choice. ><A
<A HREF="#install-setupdatabase"
HREF="http://www.apache.org/" >Setup the MySQL Database</A
TARGET="_top"
>Apache</A
> >
is highly recommended.
</P </P
></LI ></LI
></OL ></OL
>
<DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>It is a good idea, while installing Bugzilla, to ensure that there
is some kind of firewall between you and the rest of the Internet,
because your machine may be insecure for periods during the install.
Many
installation steps require an active Internet connection to complete,
but you must take care to ensure that at no point is your machine
vulnerable to an attack.</P
></TD
></TR
></TABLE
></DIV
>
</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
...@@ -2494,13 +2340,13 @@ CLASS="section" ...@@ -2494,13 +2340,13 @@ CLASS="section"
><A ><A
NAME="install-mysql" NAME="install-mysql"
></A ></A
>4.1.3. MySQL</H2 >4.1.1. MySQL</H2
><P ><P
>Visit the MySQL homepage at >Visit the MySQL homepage at
<A <A
HREF="http://www.mysql.com" HREF="http://www.mysql.com"
TARGET="_top" TARGET="_top"
>www.mysql.com</A >http://www.mysql.com</A
> >
to grab and install the latest stable release of the server. to grab and install the latest stable release of the server.
</P </P
...@@ -2543,53 +2389,65 @@ CLASS="filename" ...@@ -2543,53 +2389,65 @@ CLASS="filename"
></TABLE ></TABLE
></DIV ></DIV
><P ><P
>If you install from something other than an RPM or Debian >If you install from something other than a packaging/installation
package, you will need to add <TT system (such as .rpm, .dep, .exe, or .msi) you will need to configure
CLASS="filename" your system so the MySQL server daemon will come back up whenever
>mysqld</TT your machine reboots.
>
to your init scripts so the server daemon will come back up whenever
your machine reboots. Further discussion of UNIX init sequences are
beyond the scope of this guide.
</P </P
><P ><P
>Change your init script to start >If you wish to have attachments larger than 64K, you will have to
<TT configure MySQL to accept large packets. This is done by adding the text
CLASS="filename" in <A
>mysqld</TT HREF="#install-mysql-packets"
> >Figure 4-1</A
with the ability to accept large packets. By default, > to your
<TT
CLASS="filename"
>mysqld</TT
>
only accepts packets up to 64K long. This limits the size of
attachments you may put on bugs. If you add
<TT
CLASS="option"
>-O max_allowed_packet=1M</TT
>
to the command that starts
<TT <TT
CLASS="filename" CLASS="filename"
>mysqld</TT >my.conf</TT
> > file. There is also a parameter in Bugzilla
(or <TT for setting the maximum allowable attachment size.
CLASS="filename"
>safe_mysqld</TT You should set this value to be slightly larger than that parameter.
>), </P
then you will be able to have attachments up to about 1 megabyte. ><DIV
There is a Bugzilla parameter for maximum attachment size; CLASS="figure"
you should configure it to match the value you choose here.</P ><A
><P NAME="install-mysql-packets"
>If you plan on running Bugzilla and MySQL on the same machine, ></A
consider using the ><P
<TT ><B
CLASS="option" >Figure 4-1. Set Max Packet Size in MySQL</B
>--skip-networking</TT ></P
> ><TABLE
option in the init script. This enhances security by preventing BORDER="0"
network access to MySQL.</P BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>If you are running Bugzilla and MySQL on the same machine, you may
also wish to utilize the <TT
CLASS="option"
>skip-networking</TT
> option as
mentioned in <A
HREF="#security-mysql"
>Section 5.6.2</A
> for the added security.
</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
...@@ -2598,26 +2456,208 @@ CLASS="section" ...@@ -2598,26 +2456,208 @@ CLASS="section"
><A ><A
NAME="install-perl" NAME="install-perl"
></A ></A
>4.1.4. Perl</H2 >4.1.2. Perl</H2
><P ><P
>Any machine that doesn't have Perl on it is a sad machine indeed. >Any machine that doesn't have Perl on it is a sad machine indeed.
Perl can be got in source form from Perl can be got in source form from <A
<A
HREF="http://www.perl.com" HREF="http://www.perl.com"
TARGET="_top" TARGET="_top"
>perl.com</A >http://www.perl.com</A
> for the rare >.
*nix systems which don't have it. There are also binary versions available for many platforms, most of which
are linked to from perl.com.
Although Bugzilla runs with perl 5.6, Although Bugzilla runs with perl 5.6,
it's a good idea to be up to the very latest version it's a good idea to be up to the very latest version
if you can when running Bugzilla. As of this writing, that is Perl if you can when running Bugzilla. As of this writing, that is Perl
version 5.8.</P version 5.8.</P
></DIV
><DIV ><DIV
CLASS="tip" CLASS="section"
><HR><H2
CLASS="section"
><A
NAME="install-perlmodules"
></A
>4.1.3. Perl Modules</H2
><P
>Perl modules can be found using
<A
HREF="#gloss-cpan"
><I
CLASS="glossterm"
>CPAN</I
></A
> on Unix based systems or
<A
HREF="#gloss-ppm"
><I
CLASS="glossterm"
>PPM</I
></A
> on Win32. The root servers
have a real tendency to bog down, so please use mirrors.
</P
><P
>Good instuctions can be found for using each of these services on
their respective websites. The basics can be found in
<A
HREF="#install-perlmodules-cpan"
>Example 4-1</A
> for CPAN and
<A
HREF="#win32-perlmodules"
>Section 4.3.1.2</A
> for PPM.
</P
><DIV
CLASS="example"
><A ><A
NAME="bundlebugzilla" NAME="install-perlmodules-cpan"
></A ></A
><P ><P
><B
>Example 4-1. Installing perl modules with CPAN</B
></P
><P
>The easy way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> perl -MCPAN -e 'install "&#60;modulename&#62;"'
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>Or the hard way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> tar xzvf &#60;module&#62;.tar.gz <A
NAME="cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> cd &#60;module&#62; <A
NAME="cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> perl Makefile.PL
<TT
CLASS="prompt"
>bash#</TT
> make
<TT
CLASS="prompt"
>bash#</TT
> make test
<TT
CLASS="prompt"
>bash#</TT
> make install
</PRE
></FONT
></TD
></TR
></TABLE
>
<DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>This assumes that you've already downloaded the
<TT
CLASS="filename"
>&#60;module&#62;.tar.gz</TT
> to the current working
directory.
</DD
><DT
><A
HREF="#cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>The process of untaring the module as defined in
<A
HREF="#cpan-moduletar"
><A
HREF="#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></A
> will create the
<TT
CLASS="filename"
>&#60;module&#62;</TT
> directory.
</DD
></DL
></DIV
>
</P
></DIV
><DIV
CLASS="tip"
><P
></P ></P
><TABLE ><TABLE
CLASS="tip" CLASS="tip"
...@@ -2636,249 +2676,433 @@ ALT="Tip"></TD ...@@ -2636,249 +2676,433 @@ ALT="Tip"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>You can skip the following Perl module installation steps by >Many people complain that Perl modules will not install for
installing them. Most times, the error messages complain that they are missing a
file in
<SPAN <SPAN
CLASS="productname" CLASS="QUOTE"
>Bundle::Bugzilla</SPAN >"@INC"</SPAN
>.
Virtually every time, this error is due to permissions being set too
restrictively for you to compile Perl modules or not having the
necessary Perl development libraries installed on your system.
Consult your local UNIX systems administrator for help solving these
permissions issues; if you
<EM
>are</EM
> >
the local UNIX sysadmin, please consult the newsgroup/mailing list
from for further assistance or hire someone to help you out.</P
<A ></TD
HREF="#gloss-cpan" ></TR
><I ></TABLE
CLASS="glossterm" ></DIV
>CPAN</I
></A
>,
which installs all required modules for you.</P
><P ><P
>&#13; <TT >Perl Modules (minimum version):
CLASS="computeroutput" <P
>&#13; <TT ></P
CLASS="prompt" ><OL
>bash#</TT TYPE="1"
> ><LI
><P
<B >&#13; <A
CLASS="command" HREF="#install-modules-bundle-bugzilla"
>perl -MCPAN -e 'install "Bundle::Bugzilla"'</B >Bundle::Bugzilla</A
> >
</TT (Will allow you to skip the rest)
</P
></LI
><LI
><P
>&#13; <A
HREF="#install-modules-appconfig"
>AppConfig</A
> >
(1.52)
</P </P
></LI
><LI
><P ><P
>Bundle::Bugzilla doesn't include GD, Chart::Base, or >&#13; <A
MIME::Parser, which are not essential to a basic Bugzilla install. If HREF="#install-modules-cgi"
installing this bundle fails, you should install each module >CGI</A
individually to isolate the problem.</P >
></TD (2.88)
></TR </P
></TABLE ></LI
></DIV ><LI
></DIV
><DIV
CLASS="section"
><HR><H2
CLASS="section"
><A
NAME="perl-modules"
></A
>4.1.5. Perl Modules</H2
><P ><P
>&#13; <A
HREF="#install-modules-data-dumper"
>Data::Dumper</A
> >
All Perl modules can be found on the (any)
<A
HREF="http://www.cpan.org"
TARGET="_top"
>Comprehensive Perl
Archive Network</A
> (CPAN). The
CPAN servers have a real tendency to bog down, so please use mirrors.
</P </P
></LI
><LI
><P ><P
>Quality, general Perl module installation instructions can be >&#13; <A
found on the CPAN website, but the easy thing to do is to just use the HREF="#install-modules-date-format"
CPAN shell which does all the hard work for you. >Date::Format</A
To use the CPAN shell to install a module: >
(2.21)
</P </P
></LI
><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="#install-modules-dbi"
>&#13; <TT >DBI</A
CLASS="prompt"
>bash#</TT
> >
<B (1.32)
CLASS="command" </P
>perl -MCPAN -e 'install "&#60;modulename&#62;"'</B ></LI
><LI
><P
>&#13; <A
HREF="#install-modules-dbd-mysql"
>DBD::mysql</A
> >
</TT (2.1010)
</P
></LI
><LI
><P
>&#13; <A
HREF="#install-file-spec"
>File::Spec</A
> >
(0.82)
</P </P
></LI
><LI
><P ><P
>&#13; To do it the hard way: >&#13; <A
HREF="#install-modules-file-temp"
>File::Temp</A
>
(any)
</P </P
></LI
><LI
><P ><P
>Untar the module tarball -- it should create its own >&#13; <A
directory</P HREF="#install-modules-template"
>Template Toolkit</A
>
(2.08)
</P
></LI
><LI
><P ><P
>CD to the directory just created, and enter the following >&#13; <A
commands: HREF="#install-modules-text-wrap"
>Text::Wrap</A
>
(2001.0131)
</P
></LI
></OL
>
and, optionally:
<P <P
></P ></P
><OL ><OL
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="#install-modules-gd"
>&#13; <TT >GD</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>perl Makefile.PL</B
>
</TT
> >
(1.20) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="#install-modules-chart-base"
>&#13; <TT >Chart::Base</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>make</B
>
</TT
> >
(0.99c) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="#install-modules-xml-parser"
>&#13; <TT >XML::Parser</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>make test</B
>
</TT
> >
(any) for the XML interface
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="#install-modules-gd-graph"
>&#13; <TT >GD::Graph</A
CLASS="prompt"
>bash#</TT
> >
(any) for bug charting
<B </P
CLASS="command" ></LI
>make install</B ><LI
><P
>&#13; <A
HREF="#install-modules-gd-text-align"
>GD::Text::Align</A
> >
</TT (any) for bug charting
</P
></LI
><LI
><P
>&#13; <A
HREF="#install-modules-mime-parser"
>MIME::Parser</A
> >
(any) for the email interface
</P </P
></LI ></LI
></OL ></OL
> >
</P </P
><DIV ><DIV
CLASS="warning" CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-bundle-bugzilla"
></A
>4.1.3.1. Bundle::Bugzilla</H3
><P ><P
></P >If you are running at least perl 5.6.1, you can save yourself a lot
of time by using Bundle::Bugzilla. This bundle contains every module
required to get Bugzilla running. It does not include GD and friends, but
these are not required for a base install and can always be added later
if the need arises.
</P
><P
>Assuming your perl was installed with CPAN (most unix installations
are), using Bundle::Bugzilla is really easy. Simply follow along with the
commands below.
</P
><TABLE ><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0" BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
WIDTH="25" ><FONT
ALIGN="CENTER" COLOR="#000000"
VALIGN="TOP" ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> <B
CLASS="command"
>perl -MCPAN -eshell</B
> <A
NAME="bundle-cpanconfig"
><IMG ><IMG
SRC="../images/warning.gif" SRC="../images/callouts/1.gif"
HSPACE="5" HSPACE="0"
ALT="Warning"></TD VSPACE="0"
><TD BORDER="0"
ALIGN="LEFT" ALT="(1)"></A
VALIGN="TOP"
><P
>Many people complain that Perl modules will not install for
them. Most times, the error messages complain that they are missing a
file in
<SPAN
CLASS="QUOTE"
>"@INC"</SPAN
>.
Virtually every time, this error is due to permissions being set too
restrictively for you to compile Perl modules or not having the
necessary Perl development libraries installed on your system.
Consult your local UNIX systems administrator for help solving these
permissions issues; if you
<EM
>are</EM
> >
the local UNIX sysadmin, please consult the newsgroup/mailing list cpan shell -- CPAN exploration and modules installation (v1.63)
for further assistance or hire someone to help you out.</P ReadLine support enabled
<TT
CLASS="prompt"
>cpan&#62;</TT
>
</PRE
></FONT
></TD ></TD
></TR ></TR
></TABLE ></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="#bundle-cpanconfig"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>At this point, unless you've used CPAN on this machine before,
you'll have to go through a series of configuration steps.
</DD
></DL
></DIV
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-appconfig"
></A
>4.1.3.2. AppConfig (1.52)</H3
><P
>Dependency for Template Toolkit. We probably don't need to
specifically check for it anymore.
</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-cgi"
></A
>4.1.3.3. CGI (2.88)</H3
><P
>The CGI module parses form elements and cookies and does many
other usefule things. It come as a part of recent perl distributions, but
Bugzilla needs a fairly new version.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/CGI.pm/"
TARGET="_top"
>http://search.cpan.org/dist/CGI.pm/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/CGI.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/CGI.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-data-dumper"
></A
>4.1.3.4. Data::Dumper (any)</H3
><P
>The Data::Dumper module provides data structure persistence for
Perl (similar to Java's serialization). It comes with later
sub-releases of Perl 5.004, but a re-installation just to be sure it's
available won't hurt anything.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Data-Dumper/"
TARGET="_top"
>http://search.cpan.org/dist/Data-Dumper/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-date-format"
></A
>4.1.3.5. TimeDate modules (2.21)</H3
><P
>Many of the more common date/time/calendar related Perl modules
have been grouped into a bundle similar to the MySQL modules bundle.
This bundle is stored on the CPAN under the name TimeDate.
The component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea anyway.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN566" NAME="install-modules-dbi"
></A ></A
>4.1.5.1. DBI</H3 >4.1.3.6. DBI (1.32)</H3
><P ><P
>The DBI module is a generic Perl module used the >The DBI module is a generic Perl module used the
MySQL-related modules. As long as your Perl installation was done MySQL-related modules. As long as your Perl installation was done
correctly the DBI module should be a breeze. It's a mixed Perl/C correctly the DBI module should be a breeze. It's a mixed Perl/C
module, but Perl's MakeMaker system simplifies the C compilation module, but Perl's MakeMaker system simplifies the C compilation
greatly.</P greatly.</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="AEN569"
></A
>4.1.5.2. Data::Dumper</H3
><P ><P
>The Data::Dumper module provides data structure persistence for CLASS="literallayout"
Perl (similar to Java's serialization). It comes with later ><br>
sub-releases of Perl 5.004, but a re-installation just to be sure it's &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
available won't hurt anything.</P HREF="http://search.cpan.org/dist/DBI/"
TARGET="_top"
>http://search.cpan.org/dist/DBI/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://dbi.perl.org/doc/"
TARGET="_top"
>http://dbi.perl.org/doc/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN572" NAME="install-modules-dbd-mysql"
></A ></A
>4.1.5.3. MySQL-related modules</H3 >4.1.3.7. MySQL-related modules</H3
><P ><P
>The Perl/MySQL interface requires a few mutually-dependent Perl >The Perl/MySQL interface requires a few mutually-dependent Perl
modules. These modules are grouped together into the the modules. These modules are grouped together into the the
...@@ -2896,34 +3120,161 @@ NAME="AEN572" ...@@ -2896,34 +3120,161 @@ NAME="AEN572"
with a null password should find itself with sufficient access to run with a null password should find itself with sufficient access to run
tests on the 'test' database which MySQL created upon installation. tests on the 'test' database which MySQL created upon installation.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-file-spec"
></A
>4.1.3.8. File::Spec (0.82)</H3
><P
>File::Spec is a perl module that allows file operations, such as
generating full path names, to work cross platform.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Spec.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN577" NAME="install-modules-file-temp"
></A ></A
>4.1.5.4. TimeDate modules</H3 >4.1.3.9. File::Temp (any)</H3
><P ><P
>Many of the more common date/time/calendar related Perl modules >File::Temp is used to generate a temporary filename that is
have been grouped into a bundle similar to the MySQL modules bundle. guaranteed to be unique. It comes as a standard part of perl
This bundle is stored on the CPAN under the name TimeDate. </P
The component module we're most interested in is the Date::Format ><P
module, but installing all of them is probably a good idea anyway. CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Temp.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-template"
></A
>4.1.3.10. Template Toolkit (2.08)</H3
><P
>When you install Template Toolkit, you'll get asked various
questions about features to enable. The defaults are fine, except
that it is recommended you use the high speed XS Stash of the Template
Toolkit, in order to achieve best performance.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Template-Toolkit/"
TARGET="_top"
>http://search.cpan.org/dist/Template-Toolkit/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"
TARGET="_top"
>http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.template-toolkit.org/docs.html"
TARGET="_top"
>http://www.template-toolkit.org/docs.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-text-wrap"
></A
>4.1.3.11. Text::Wrap (2001.0131)</H3
><P
>Text::Wrap is designed to proved intelligent text wrapping.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/"
TARGET="_top"
>http://search.cpan.org/dist/Text-Tabs+Wrap/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN580" NAME="install-modules-gd"
></A ></A
>4.1.5.5. GD (optional)</H3 >4.1.3.12. GD (1.20) [optional]</H3
><P ><P
>The GD library was written by Thomas Boutell a long while ago to >The GD library was written by Thomas Boutell a long while ago to
programatically generate images in C. Since then it's become the programmatically generate images in C. Since then it's become the
defacto standard for programmatic image construction. The Perl bindings defacto standard for programmatic image construction. The Perl bindings
to it found in the GD library are used on millions of web pages to to it found in the GD library are used on millions of web pages to
generate graphs on the fly. That's what Bugzilla will be using it for generate graphs on the fly. That's what Bugzilla will be using it for
...@@ -2967,36 +3318,224 @@ CLASS="classname" ...@@ -2967,36 +3318,224 @@ CLASS="classname"
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The version of the GD perl module you need is very closely tied
to the <TT
CLASS="classname"
>libgd</TT
> version installed on your system.
If you have a version 1.x of <TT
CLASS="classname"
>libgd</TT
> the 2.x
versions of the GD perl module won't work for you.
</P
></TD
></TR
></TABLE
></DIV
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GD/"
TARGET="_top"
>http://search.cpan.org/dist/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://stein.cshl.org/WWW/software/GD/"
TARGET="_top"
>http://stein.cshl.org/WWW/software/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN587" NAME="install-modules-chart-base"
></A ></A
>4.1.5.6. Chart::Base (optional)</H3 >4.1.3.13. Chart::Base (0.99c) [optional]</H3
><P ><P
>The Chart module provides Bugzilla with on-the-fly charting >The Chart module provides Bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been abilities. It can be installed in the usual fashion after it has been
fetched from CPAN. fetched from CPAN.
Note that earlier versions that 0.99c used GIFs, which are no longer Note that earlier versions that 0.99c used GIFs, which are no longer
supported by the latest versions of GD.</P supported by the latest versions of GD.</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Chart/"
TARGET="_top"
>http://search.cpan.org/dist/Chart/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN590" NAME="install-modules-xml-parser"
></A ></A
>4.1.5.7. Template Toolkit</H3 >4.1.3.14. XML::Parser (any) [Optional]</H3
><P ><P
>When you install Template Toolkit, you'll get asked various >XML::Parser is used by the <TT
questions about features to enable. The defaults are fine, except CLASS="filename"
that it is recommended you use the high speed XS Stash of the Template >importxml.pl</TT
Toolkit, in order to achieve best performance. >
script. You only need it if you are going to be importing bugs (such as
for bug moving). XML::Parser requires that the
<TT
CLASS="classname"
>expat</TT
> library is already installed on your machine.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/XML-Parser/"
TARGET="_top"
>http://search.cpan.org/dist/XML-Parser/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
TARGET="_top"
>http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-gd-graph"
></A
>4.1.3.15. GD::Graph (any) [Optional]</H3
><P
>In addition to GD listed above, the reporting interface of Bugzilla
needs to have the GD::Graph module installed.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/Graph.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-gd-text-align"
></A
>4.1.3.16. GD::Text::Align (any) [Optional]</H3
><P
>GD::Text::Align, as the name implies, is used to draw aligned
strings of text. It is needed by the reporting interface.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><HR><H3
CLASS="section"
><A
NAME="install-modules-mime-parser"
></A
>4.1.3.17. MIME::Parser (any) [Optional]</H3
><P
>MIME::Parser is only needed if you want to use the e-mail interface
located in the <TT
CLASS="filename"
>contrib</TT
> directory.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
></DIV ></DIV
><DIV ><DIV
...@@ -3004,9 +3543,9 @@ CLASS="section" ...@@ -3004,9 +3543,9 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="sbs-http" NAME="install-webserver"
></A ></A
>4.1.6. HTTP Server</H2 >4.1.4. HTTP Server</H2
><P ><P
>You have freedom of choice here, pretty much any web server that >You have freedom of choice here, pretty much any web server that
is capable of running <A is capable of running <A
...@@ -3046,7 +3585,12 @@ VALIGN="TOP" ...@@ -3046,7 +3585,12 @@ VALIGN="TOP"
>We strongly recommend Apache as the web server to use. The >We strongly recommend Apache as the web server to use. The
Bugzilla Guide installation instructions, in general, assume you are Bugzilla Guide installation instructions, in general, assume you are
using Apache. If you have got Bugzilla working using another webserver, using Apache. If you have got Bugzilla working using another webserver,
please share your experiences with us.</P please share your experiences with us by filing a bug in <A
HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&component=Documentation"
TARGET="_top"
>Bugzilla Documentation</A
>.
</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -3057,9 +3601,9 @@ CLASS="section" ...@@ -3057,9 +3601,9 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN600" NAME="install-bzfiles"
></A ></A
>4.1.7. Bugzilla</H2 >4.1.5. Bugzilla</H2
><P ><P
>You should untar the Bugzilla files into a directory that you're >You should untar the Bugzilla files into a directory that you're
willing to make writable by the default web server user (probably willing to make writable by the default web server user (probably
...@@ -3113,112 +3657,129 @@ CLASS="QUOTE" ...@@ -3113,112 +3657,129 @@ CLASS="QUOTE"
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><P ><P
>Once all the files are in a web accessible directory, make that >Once all the files are in a web accessible directory, make that
directory writable by your webserver's user. This is a temporary step directory writable by your webserver's user. This is a temporary step
until you run the post-install until you run the post-install
<TT <TT
CLASS="filename" CLASS="filename"
>checksetup.pl</TT >checksetup.pl</TT
> >
script, which locks down your installation.</P script, which locks down your installation.</P
><DIV
CLASS="caution"
><P
></P
><TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The default Bugzilla distribution is not designed to be placed
in a <TT
CLASS="filename"
>cgi-bin</TT
> directory (this
includes any directory which is configured using the
<TT
CLASS="option"
>ScriptAlias</TT
> directive of Apache). This will probably
change as part of
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top"
>bug
44659</A
>.
</P
></TD
></TR
></TABLE
></DIV
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN611" NAME="install-setupdatabase"
></A ></A
>4.1.8. Setting Up the MySQL Database</H2 >4.1.6. Setting Up the MySQL Database</H2
><P ><P
>After you've gotten all the software installed and working you're >After you've gotten all the software installed and working you're
ready to start preparing the database for its life as the back end to ready to start preparing the database for its life as the back end to
a high quality bug tracker.</P a high quality bug tracker.</P
><P ><P
>First, you'll want to fix MySQL permissions to allow access from >This first thing you'll want to do is make sure you've given the
Bugzilla. For the purpose of this Installation section, the Bugzilla
username will be
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"root"</SPAN
>, and will have minimal permissions. > user a password as suggested in
<A
HREF="#security-mysql"
>Section 5.6.2</A
>. For clarity, these instructions will
assume that your MySQL user for Bugzilla will be <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
>,
the database will be called <SPAN
CLASS="QUOTE"
>"bugs_db"</SPAN
> and the password for
the <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
> user is <SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
>. You
should, of course, substitute the values you intend to use for your site.
</P </P
><DIV
CLASS="note"
><P ><P
>Begin by giving the MySQL root user a password. MySQL passwords are limited
to 16 characters.
<P
></P ></P
><TABLE ><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0" BORDER="0"
><TBODY
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>mysql -u root mysql</B
>
</TT
>
</TD
></TR
><TR ><TR
><TD ><TD
>&#13; <TT WIDTH="25"
CLASS="computeroutput" ALIGN="CENTER"
>&#13; <TT VALIGN="TOP"
CLASS="prompt" ><IMG
>mysql&#62;</TT SRC="../images/note.gif"
> HSPACE="5"
ALT="Note"></TD
<B
CLASS="command"
>UPDATE user SET Password=PASSWORD('&#60;new_password&#62;')
WHERE user='root';</B
>
</TT
>
</TD
></TR
><TR
><TD ><TD
>&#13; <TT ALIGN="LEFT"
CLASS="computeroutput" VALIGN="TOP"
>&#13; <TT ><P
CLASS="prompt" >Most people use <SPAN
>mysql&#62;</TT CLASS="QUOTE"
> >"bugs"</SPAN
> for both the user and
<B database name.
CLASS="command" </P
>FLUSH PRIVILEGES;</B ></TD
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P ></DIV
></P
>
From this point on, if you need to access MySQL as the MySQL root user,
you will need to use
<B
CLASS="command"
>mysql -u root -p</B
>
and enter &#60;new_password&#62;. Remember that MySQL user names have
nothing to do with Unix user names (login names).</P
><P ><P
>Next, we use an SQL <B >Next, we use an SQL <B
CLASS="command" CLASS="command"
...@@ -3226,19 +3787,18 @@ CLASS="command" ...@@ -3226,19 +3787,18 @@ CLASS="command"
> command to create a > command to create a
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
user, and grant sufficient permissions for checksetup.pl, which we'll user, and grant sufficient permissions for checksetup.pl, which we'll
use later, to work its magic. This also restricts the use later, to work its magic. This also restricts the
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
user to operations within a database called user to operations within a database called
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_db"</SPAN
>, and only allows the account to connect from >, and only allows the account to connect from
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
...@@ -3246,55 +3806,31 @@ CLASS="QUOTE" ...@@ -3246,55 +3806,31 @@ CLASS="QUOTE"
>. >.
Modify it to reflect your setup if you will be connecting from Modify it to reflect your setup if you will be connecting from
another machine or as a different user.</P another machine or as a different user.</P
><P
>Remember to set &#60;bugs_password&#62; to some unique password.
<P
></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
><TBODY BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
>&#13; <TT ><FONT
CLASS="computeroutput" COLOR="#000000"
>&#13; <TT ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt" CLASS="prompt"
>mysql&#62;</TT >mysql&#62;</TT
> > GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost
<B IDENTIFIED BY 'bugs_password';
CLASS="command" <TT
>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost
IDENTIFIED BY '&#60;bugs_password&#62;';</B
>
</TT
>
</TD
></TR
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt" CLASS="prompt"
>mysql&#62;</TT >mysql&#62;</TT
> > FLUSH PRIVILEGES;
</PRE
<B ></FONT
CLASS="command" ></TD
>FLUSH PRIVILEGES;</B
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P
></P
>
</P
><DIV ><DIV
CLASS="note" CLASS="note"
><P ><P
...@@ -3317,7 +3853,14 @@ ALIGN="LEFT" ...@@ -3317,7 +3853,14 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>If you are using MySQL 4, the bugs user also needs to be granted >If you are using MySQL 4, the bugs user also needs to be granted
the LOCK TABLES and CREATE TEMPORARY TABLES permissions. the <TT
CLASS="computeroutput"
>LOCK TABLES</TT
> and
<TT
CLASS="computeroutput"
>CREATE TEMPORARY TABLES</TT
> permissions.
</P </P
></TD ></TD
></TR ></TR
...@@ -3329,9 +3872,9 @@ CLASS="section" ...@@ -3329,9 +3872,9 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN649" NAME="AEN749"
></A ></A
>4.1.9. <TT >4.1.7. <TT
CLASS="filename" CLASS="filename"
>checksetup.pl</TT >checksetup.pl</TT
></H2 ></H2
...@@ -3340,10 +3883,11 @@ CLASS="filename" ...@@ -3340,10 +3883,11 @@ CLASS="filename"
<A <A
HREF="mailto:holgerschurig@nikocity.de" HREF="mailto:holgerschurig@nikocity.de"
TARGET="_top" TARGET="_top"
>Holger Schurig </A >Holger Schurig</A
> >
for writing this script!) for writing this script!)
This script is designed to make sure your MySQL database and other This script is designed to make sure your perl modules are the correct
version and your MySQL database and other
configuration options are consistent with the Bugzilla CGI files. configuration options are consistent with the Bugzilla CGI files.
It will make sure Bugzilla files and directories have reasonable It will make sure Bugzilla files and directories have reasonable
permissions, set up the permissions, set up the
...@@ -3352,35 +3896,28 @@ CLASS="filename" ...@@ -3352,35 +3896,28 @@ CLASS="filename"
>data</TT >data</TT
> >
directory, and create all the MySQL tables. directory, and create all the MySQL tables.
<P </P
></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
><TBODY BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
>&#13; <TT ><FONT
CLASS="computeroutput" COLOR="#000000"
>&#13; <TT ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt" CLASS="prompt"
>bash#</TT >bash#</TT
> > ./checksetup.pl
</PRE
<B ></FONT
CLASS="command" ></TD
>./checksetup.pl</B
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P ><P
></P >&#13; The first time you run it, it will create a file called
>
The first time you run it, it will create a file called
<TT <TT
CLASS="filename" CLASS="filename"
>localconfig</TT >localconfig</TT
...@@ -3408,7 +3945,7 @@ CLASS="QUOTE" ...@@ -3408,7 +3945,7 @@ CLASS="QUOTE"
>database name: >database name:
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_db"</SPAN
> >
if you're following these directions</P if you're following these directions</P
></LI ></LI
...@@ -3417,7 +3954,7 @@ CLASS="QUOTE" ...@@ -3417,7 +3954,7 @@ CLASS="QUOTE"
>MySQL username: >MySQL username:
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
if you're following these directions</P if you're following these directions</P
></LI ></LI
...@@ -3426,9 +3963,12 @@ CLASS="QUOTE" ...@@ -3426,9 +3963,12 @@ CLASS="QUOTE"
>Password for the >Password for the
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
MySQL account; (&#60;bugs_password&#62;) above</P MySQL account; (<SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
> above)</P
></LI ></LI
></OL ></OL
> >
...@@ -3482,9 +4022,9 @@ CLASS="section" ...@@ -3482,9 +4022,9 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN681" NAME="AEN780"
></A ></A
>4.1.10. Configuring Bugzilla</H2 >4.1.8. Configuring Bugzilla</H2
><P ><P
>&#13; You should run through the parameters on the Edit Parameters page >&#13; You should run through the parameters on the Edit Parameters page
(link in the footer) and set them all to appropriate values. (link in the footer) and set them all to appropriate values.
...@@ -3508,7 +4048,7 @@ CLASS="section" ...@@ -3508,7 +4048,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN687" NAME="AEN786"
></A ></A
>4.2.1. Dependency Charts</H2 >4.2.1. Dependency Charts</H2
><P ><P
...@@ -3572,7 +4112,7 @@ CLASS="section" ...@@ -3572,7 +4112,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN702" NAME="AEN801"
></A ></A
>4.2.2. Bug Graphs</H2 >4.2.2. Bug Graphs</H2
><P ><P
...@@ -3631,7 +4171,7 @@ CLASS="section" ...@@ -3631,7 +4171,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN715" NAME="AEN814"
></A ></A
>4.2.3. The Whining Cron</H2 >4.2.3. The Whining Cron</H2
><P ><P
...@@ -3813,13 +4353,13 @@ HREF="http://www.openldap.org/" ...@@ -3813,13 +4353,13 @@ HREF="http://www.openldap.org/"
TARGET="_top" TARGET="_top"
>&#13; OpenLDAP</A >&#13; OpenLDAP</A
> with Bugzilla, using any of a number of administration > with Bugzilla, using any of a number of administration
tools. You should apply the patch attached this bug: tools. You should apply the patch attached to
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=158630</A >bug 158630</A
>, then set >
the following object classes for your users: , then set the following object classes for your users:
<P <P
></P ></P
...@@ -3877,7 +4417,7 @@ NAME="content-type" ...@@ -3877,7 +4417,7 @@ NAME="content-type"
<A <A
HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3" HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3"
TARGET="_top" TARGET="_top"
>&#13; http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A >http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>. >.
Executing the following code snippet from a UNIX command shell will Executing the following code snippet from a UNIX command shell will
rectify the problem if your Bugzilla installation is intended for an rectify the problem if your Bugzilla installation is intended for an
...@@ -3954,9 +4494,9 @@ VALIGN="TOP" ...@@ -3954,9 +4494,9 @@ VALIGN="TOP"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
TARGET="_top" TARGET="_top"
>bug >bug 126266</A
126266</A >
> for more information including progress toward making for more information including progress toward making
bugzilla charset aware by default. bugzilla charset aware by default.
</P </P
></TD ></TD
...@@ -4037,7 +4577,7 @@ CLASS="filename" ...@@ -4037,7 +4577,7 @@ CLASS="filename"
HREF="http://www.snert.com/Software/mod_throttle/" HREF="http://www.snert.com/Software/mod_throttle/"
TARGET="_top" TARGET="_top"
>http://www.snert.com/Software/mod_throttle/</A >http://www.snert.com/Software/mod_throttle/</A
> >.
Follow the instructions to install into your Apache install. Follow the instructions to install into your Apache install.
<EM <EM
>This module only functions with the Apache web >This module only functions with the Apache web
...@@ -4134,19 +4674,23 @@ CLASS="section" ...@@ -4134,19 +4674,23 @@ CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="win32-perl-modules" NAME="win32-perlmodules"
></A ></A
>4.3.1.2. Perl Modules on Win32</H3 >4.3.1.2. Perl Modules on Win32</H3
><P ><P
>Bugzilla on Windows requires the same perl modules found in >Bugzilla on Windows requires the same perl modules found in
<A <A
HREF="#install-package-list" HREF="#install-perlmodules"
>Section 4.1.2</A >Section 4.1.3</A
>. The main difference is that >. The main difference is that
windows uses <B windows uses <A
CLASS="command" HREF="#gloss-ppm"
>ppm</B ><I
> instead of CPAN. CLASS="glossterm"
>PPM</I
></A
> instead of
CPAN.
</P </P
><TABLE ><TABLE
BORDER="0" BORDER="0"
...@@ -4690,7 +5234,7 @@ CLASS="command" ...@@ -4690,7 +5234,7 @@ CLASS="command"
>./checksetup.pl</B >./checksetup.pl</B
> (shown in <A > (shown in <A
HREF="#http-apache-htaccess" HREF="#http-apache-htaccess"
>Example 4-1</A >Example 4-2</A
> >
for the curious) are allowed to override Apache's normal access for the curious) are allowed to override Apache's normal access
permissions or else important password information may be exposed to the permissions or else important password information may be exposed to the
...@@ -4811,7 +5355,7 @@ NAME="http-apache-htaccess" ...@@ -4811,7 +5355,7 @@ NAME="http-apache-htaccess"
></A ></A
><P ><P
><B ><B
>Example 4-1. <TT >Example 4-2. <TT
CLASS="filename" CLASS="filename"
>.htaccess</TT >.htaccess</TT
> files for Apache</B > files for Apache</B
...@@ -4990,7 +5534,7 @@ CLASS="productname" ...@@ -4990,7 +5534,7 @@ CLASS="productname"
<A <A
HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp" HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp"
TARGET="_top" TARGET="_top"
>Q245225 </A >Q245225</A
> >
for <SPAN for <SPAN
CLASS="productname" CLASS="productname"
...@@ -5126,8 +5670,7 @@ CLASS="filename" ...@@ -5126,8 +5670,7 @@ CLASS="filename"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383"
TARGET="_top" TARGET="_top"
>bug >&#13; bug 186383</A
186383</A
> or <A > or <A
HREF="http://online.securityfocus.com/bid/6501" HREF="http://online.securityfocus.com/bid/6501"
TARGET="_top" TARGET="_top"
...@@ -5219,7 +5762,7 @@ CLASS="section" ...@@ -5219,7 +5762,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN977" NAME="AEN1076"
></A ></A
>4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2 >4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2
><P ><P
...@@ -5244,7 +5787,7 @@ CLASS="section" ...@@ -5244,7 +5787,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN982" NAME="AEN1081"
></A ></A
>4.5.2. DBD::Sponge::db prepare failed</H2 >4.5.2. DBD::Sponge::db prepare failed</H2
><P ><P
...@@ -5400,7 +5943,7 @@ CLASS="productname" ...@@ -5400,7 +5943,7 @@ CLASS="productname"
5.6.0. Many minor variations of this error have been reported. Examples 5.6.0. Many minor variations of this error have been reported. Examples
can be found in <A can be found in <A
HREF="#trouble-filetemp-errors" HREF="#trouble-filetemp-errors"
>Figure 4-1</A >Figure 4-2</A
>. >.
</P </P
><DIV ><DIV
...@@ -5410,7 +5953,7 @@ NAME="trouble-filetemp-errors" ...@@ -5410,7 +5953,7 @@ NAME="trouble-filetemp-errors"
></A ></A
><P ><P
><B ><B
>Figure 4-1. Other File::Temp error messages</B >Figure 4-2. Other File::Temp error messages</B
></P ></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
...@@ -5441,7 +5984,7 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. ...@@ -5441,7 +5984,7 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
or higher solved the problem for them. A less involved fix is to apply or higher solved the problem for them. A less involved fix is to apply
the patch in <A the patch in <A
HREF="#trouble-filetemp-patch" HREF="#trouble-filetemp-patch"
>Figure 4-2</A >Figure 4-3</A
>. The patch is also >. The patch is also
available as a <A available as a <A
HREF="../xml/filetemp.patch" HREF="../xml/filetemp.patch"
...@@ -5456,7 +5999,7 @@ NAME="trouble-filetemp-patch" ...@@ -5456,7 +5999,7 @@ NAME="trouble-filetemp-patch"
></A ></A
><P ><P
><B ><B
>Figure 4-2. Patch for File::Temp in Perl 5.6.0</B >Figure 4-3. Patch for File::Temp in Perl 5.6.0</B
></P ></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
...@@ -6442,7 +6985,7 @@ TYPE="1" ...@@ -6442,7 +6985,7 @@ TYPE="1"
><P ><P
><EM ><EM
>Maximum Votes a person can put on a single >Maximum Votes a person can put on a single
bug"</EM bug</EM
>: >:
It should probably be some number lower than the It should probably be some number lower than the
"Maximum votes per person". Don't set this field to "0" if "Maximum votes per person". Don't set this field to "0" if
...@@ -6990,8 +7533,7 @@ NAME="security-access" ...@@ -6990,8 +7533,7 @@ NAME="security-access"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top" TARGET="_top"
>bug >&#13; bug 44659</A
44659</A
> for more information. > for more information.
</P </P
><P ><P
...@@ -7331,7 +7873,7 @@ CLASS="section" ...@@ -7331,7 +7873,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1425" NAME="AEN1524"
></A ></A
>5.7.1. What to Edit</H2 >5.7.1. What to Edit</H2
><P ><P
...@@ -7446,7 +7988,7 @@ CLASS="section" ...@@ -7446,7 +7988,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1444" NAME="AEN1543"
></A ></A
>5.7.2. How To Edit Templates</H2 >5.7.2. How To Edit Templates</H2
><P ><P
...@@ -7528,7 +8070,7 @@ CLASS="section" ...@@ -7528,7 +8070,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1454" NAME="AEN1553"
></A ></A
>5.7.3. Template Formats</H2 >5.7.3. Template Formats</H2
><P ><P
...@@ -7590,7 +8132,7 @@ CLASS="section" ...@@ -7590,7 +8132,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1467" NAME="AEN1566"
></A ></A
>5.7.4. Particular Templates</H2 >5.7.4. Particular Templates</H2
><P ><P
...@@ -8509,11 +9051,10 @@ CLASS="filename" ...@@ -8509,11 +9051,10 @@ CLASS="filename"
><P ><P
>There is also a CVSZilla project, based upon somewhat dated >There is also a CVSZilla project, based upon somewhat dated
Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to
email. Check it out at: email. Check it out at: <A
<A
HREF="http://homepages.kcbbs.gen.nz/~tonyg/" HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
TARGET="_top" TARGET="_top"
>&#13; http://homepages.kcbbs.gen.nz/~tonyg/</A >http://homepages.kcbbs.gen.nz/~tonyg/</A
>. >.
</P </P
></DIV ></DIV
...@@ -8531,7 +9072,7 @@ NAME="scm" ...@@ -8531,7 +9072,7 @@ NAME="scm"
<A <A
HREF="http://www.ravenbrook.com/project/p4dti/" HREF="http://www.ravenbrook.com/project/p4dti/"
TARGET="_top" TARGET="_top"
>&#13; http://www.ravenbrook.com/project/p4dti</A >http://www.ravenbrook.com/project/p4dti/</A
> >
. .
...@@ -8545,7 +9086,7 @@ CLASS="QUOTE" ...@@ -8545,7 +9086,7 @@ CLASS="QUOTE"
<A <A
HREF="http://public.perforce.com/public/perforce/p4dti/index.html" HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
TARGET="_top" TARGET="_top"
>&#13; http://public.perforce.com/public/perforce/p4dti/index.html</A >http://public.perforce.com/public/perforce/p4dti/index.html</A
> >
.</P .</P
...@@ -9092,8 +9633,8 @@ CLASS="answer" ...@@ -9092,8 +9633,8 @@ CLASS="answer"
information at <A information at <A
HREF="http://www.bugzilla.org/" HREF="http://www.bugzilla.org/"
TARGET="_top" TARGET="_top"
>&#13; http://www.bugzilla.org/</A >http://www.bugzilla.org/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -9121,8 +9662,8 @@ CLASS="answer" ...@@ -9121,8 +9662,8 @@ CLASS="answer"
See details at <A See details at <A
HREF="http://www.mozilla.org/MPL/" HREF="http://www.mozilla.org/MPL/"
TARGET="_top" TARGET="_top"
>&#13; http://www.mozilla.org/MPL/</A >http://www.mozilla.org/MPL/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -9158,7 +9699,7 @@ TARGET="_top" ...@@ -9158,7 +9699,7 @@ TARGET="_top"
>&#13; <A >&#13; <A
HREF="http://www.collab.net/" HREF="http://www.collab.net/"
TARGET="_top" TARGET="_top"
>www.collab.net</A >http://www.collab.net/</A
> offers > offers
Bugzilla as part of their standard offering to large projects. Bugzilla as part of their standard offering to large projects.
They do have some minimum fees that are pretty hefty, and generally They do have some minimum fees that are pretty hefty, and generally
...@@ -9413,15 +9954,15 @@ CLASS="answer" ...@@ -9413,15 +9954,15 @@ CLASS="answer"
><P ><P
>&#13; There is currently work in progress to make Bugzilla work on >&#13; There is currently work in progress to make Bugzilla work on
PostgreSQL and Sybase in the default distribution. You can track PostgreSQL and Sybase in the default distribution. You can track
the progress of these initiatives in bugs <A the progress of these initiatives in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top" TARGET="_top"
>98304</A >bug 98304</A
> >
and <A and <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
TARGET="_top" TARGET="_top"
>173130</A >bug 173130</A
> >
respectively. respectively.
</P </P
...@@ -9743,11 +10284,11 @@ CLASS="answer" ...@@ -9743,11 +10284,11 @@ CLASS="answer"
</P </P
><P ><P
>&#13; There is no GUI for adding fields to Bugzilla at this >&#13; There is no GUI for adding fields to Bugzilla at this
time. You can follow development of this feature at time. You can follow development of this feature in
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
TARGET="_top" TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A >bug 91037</A
> >
</P </P
></DIV ></DIV
...@@ -9776,9 +10317,9 @@ CLASS="answer" ...@@ -9776,9 +10317,9 @@ CLASS="answer"
Yes. Look at <A Yes. Look at <A
HREF="http://bugzilla.mozilla.org/report.cgi" HREF="http://bugzilla.mozilla.org/report.cgi"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/report.cgi</A >http://bugzilla.mozilla.org/report.cgi</A
> for samples of what >
Bugzilla can do in reporting and graphing. for samples of what Bugzilla can do in reporting and graphing.
</P </P
><P ><P
>&#13; If you can not get the reports you want from the included reporting >&#13; If you can not get the reports you want from the included reporting
...@@ -10104,8 +10645,8 @@ CLASS="answer" ...@@ -10104,8 +10645,8 @@ CLASS="answer"
at <A at <A
HREF="http://www.mysql.com/doc/B/a/Backup.html" HREF="http://www.mysql.com/doc/B/a/Backup.html"
TARGET="_top" TARGET="_top"
>&#13; http://www.mysql.com/doc/B/a/Backup.html</A >http://www.mysql.com/doc/B/a/Backup.html</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -10407,11 +10948,11 @@ CLASS="answer" ...@@ -10407,11 +10948,11 @@ CLASS="answer"
><B ><B
> </B > </B
> >
Try Klaas Freitag's excellent patch for "whineatassigned" functionality. Try Klaas Freitag's excellent patch for "whineatassigned"
You can find it at <A functionality. You can find it in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
TARGET="_top" TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=6679</A >bug 6679</A
>. This >. This
patch is against an older version of Bugzilla, so you must apply patch is against an older version of Bugzilla, so you must apply
the diffs manually. the diffs manually.
...@@ -10443,7 +10984,7 @@ CLASS="answer" ...@@ -10443,7 +10984,7 @@ CLASS="answer"
You can call bug_email.pl directly from your aliases file, with You can call bug_email.pl directly from your aliases file, with
an entry like this: an entry like this:
<A <A
NAME="AEN1886" NAME="AEN1985"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -10887,7 +11428,7 @@ CLASS="answer" ...@@ -10887,7 +11428,7 @@ CLASS="answer"
><P ><P
>&#13; Microsoft has some advice on this matter, as well: >&#13; Microsoft has some advice on this matter, as well:
<A <A
NAME="AEN1969" NAME="AEN2068"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -10968,10 +11509,10 @@ CLASS="command" ...@@ -10968,10 +11509,10 @@ CLASS="command"
I reckon TimeDate and Data::Dumper come with the activeperl. You can check I reckon TimeDate and Data::Dumper come with the activeperl. You can check
the ActiveState site for packages for installation through PPM. the ActiveState site for packages for installation through PPM.
<A <A
HREF=" http://www.activestate.com/Packages/" HREF="http://www.activestate.com/Packages/"
TARGET="_top" TARGET="_top"
>&#13; http://www.activestate.com/Packages/</A >http://www.activestate.com/Packages/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -11056,8 +11597,7 @@ CLASS="answer" ...@@ -11056,8 +11597,7 @@ CLASS="answer"
> </B > </B
> >
The current behavior is acceptable to bugzilla.mozilla.org and most The current behavior is acceptable to bugzilla.mozilla.org and most
users. You have your choice of patches users. You have your choice of patches to change this behavior, however.
to change this behavior, however.
<P <P
></P ></P
><TABLE ><TABLE
...@@ -11276,14 +11816,13 @@ CLASS="answer" ...@@ -11276,14 +11816,13 @@ CLASS="answer"
><B ><B
> </B > </B
> >
This is well-documented here: <A This is well-documented in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=49862</A >&#13; bug 49862</A
>. Ultimately, it's as easy >. Ultimately, it's as easy as adding the "---" priority field to your
as adding the "---" priority field to your localconfig file in the appropriate area, localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
re-running checksetup.pl, and then changing the default priority in your browser using default priority in your browser using "editparams.cgi".
"editparams.cgi".
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -11490,7 +12029,7 @@ NAME="dbdoc" ...@@ -11490,7 +12029,7 @@ NAME="dbdoc"
><P ><P
>But Certain Death speaks up -- a tiny voice, from the dark corners >But Certain Death speaks up -- a tiny voice, from the dark corners
of the conference room. "I have a concern," the voice hisses from the of the conference room. "I have a concern," the voice hisses from the
darkness, "about the use of the word 'verified'.</P darkness, "about the use of the word 'verified'."</P
><P ><P
>The room, previously filled with happy chatter, lapses into >The room, previously filled with happy chatter, lapses into
reverential silence as Certain Death (better known as the Vice President reverential silence as Certain Death (better known as the Vice President
...@@ -11517,7 +12056,7 @@ CLASS="section" ...@@ -11517,7 +12056,7 @@ CLASS="section"
><HR><H2 ><HR><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN2091" NAME="AEN2190"
></A ></A
>B.2.1. Bugzilla Database Basics</H2 >B.2.1. Bugzilla Database Basics</H2
><P ><P
...@@ -11536,14 +12075,12 @@ CLASS="QUOTE" ...@@ -11536,14 +12075,12 @@ CLASS="QUOTE"
>"tinyint"</SPAN >"tinyint"</SPAN
> >
entry in MySQL. I recommend you refer to the MySQL documentation, entry in MySQL. I recommend you refer to the
available at
<A <A
HREF="http://www.mysql.com/doc.html" HREF="http://www.mysql.com/documentation/"
TARGET="_top" TARGET="_top"
>MySQL.com</A >MySQL documentation</A
> >
. Below are the basics you need to know about the Bugzilla database. . Below are the basics you need to know about the Bugzilla database.
Check the chart above for more details.</P Check the chart above for more details.</P
><P ><P
...@@ -11633,7 +12170,7 @@ CLASS="section" ...@@ -11633,7 +12170,7 @@ CLASS="section"
><HR><H3 ><HR><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN2118" NAME="AEN2217"
></A ></A
>B.2.1.1. Bugzilla Database Tables</H3 >B.2.1.1. Bugzilla Database Tables</H3
><P ><P
...@@ -11704,14 +12241,14 @@ CLASS="programlisting" ...@@ -11704,14 +12241,14 @@ CLASS="programlisting"
><P ><P
CLASS="literallayout" CLASS="literallayout"
><br> ><br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br> &nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br> descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
<br> <br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br> attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br> largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br> attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
<br> <br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br> bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br> current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
other&nbsp;tables.<br> other&nbsp;tables.<br>
<br> <br>
...@@ -11719,26 +12256,26 @@ bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp; ...@@ -11719,26 +12256,26 @@ bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;
when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br> when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
<br> <br>
cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br> cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br> any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br> Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br> userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
<br> <br>
components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br> components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;&nbsp;Curiously,&nbsp;the&nbsp;"program"<br> components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br> (product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br> identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
<br> <br>
dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br> dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
<br> <br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br> fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br> submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br> translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
<br> <br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br> groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br> identify&nbsp;group&nbsp;memberships.&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br> tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br> users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br> assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br> like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br> parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br> "5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
...@@ -11753,15 +12290,15 @@ keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp ...@@ -11753,15 +12290,15 @@ keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp
associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br> associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
<br> <br>
logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br> logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br> machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;&nbsp;However,<br> housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;However,<br>
since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br> since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
sense.<br> sense.<br>
<br> <br>
longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br> longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br> You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br> sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br> would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br> bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br> comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
<br> <br>
...@@ -11769,12 +12306,12 @@ milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;assoc ...@@ -11769,12 +12306,12 @@ milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;assoc
in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br> in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br> product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
<br> <br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;&nbsp;Very<br> namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;Very<br>
cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br> cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
construct.<br> construct.<br>
<br> <br>
products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br> products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;&nbsp;It<br> product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;It<br>
will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br> will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br> could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
entire&nbsp;product...<br> entire&nbsp;product...<br>
...@@ -11809,7 +12346,7 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br> ...@@ -11809,7 +12346,7 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br> mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
<br> <br>
&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br> &nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br> you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br> 50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
<br> <br>
&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br> &nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
...@@ -11822,7 +12359,7 @@ mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp; ...@@ -11822,7 +12359,7 @@ mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br> mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
<br> <br>
&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br> &nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br> the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br> above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br> table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br> change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
...@@ -11833,10 +12370,10 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br> ...@@ -11833,10 +12370,10 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br> &nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br> |&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
<br> <br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br> &nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br> an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br> only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br> standard&nbsp;SQL.&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br> 'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
<br> <br>
mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br> mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
...@@ -11852,15 +12389,15 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br> ...@@ -11852,15 +12389,15 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
<br> <br>
&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br> &nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br> available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br> well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
scheme&nbsp;of&nbsp;things?<br> scheme&nbsp;of&nbsp;things?<br>
&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br> &nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br> in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br> "approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br> Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br> of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br> mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
this.&nbsp;&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br> this.&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -12045,8 +12582,8 @@ NAME="variants" ...@@ -12045,8 +12582,8 @@ NAME="variants"
<A <A
HREF="http://linas.org/linux/pm.html" HREF="http://linas.org/linux/pm.html"
TARGET="_top" TARGET="_top"
>&#13; http://linas.org/linux/pm.html</A >http://linas.org/linux/pm.html</A
> >.
</P </P
><DIV ><DIV
CLASS="section" CLASS="section"
...@@ -12068,16 +12605,15 @@ NAME="variant-redhat" ...@@ -12068,16 +12605,15 @@ NAME="variant-redhat"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top" TARGET="_top"
>Bug >Bug 98304</A
98304</A >
> exists to track this integration. exists to track this integration.
</P </P
><P ><P
>URL: >URL: <A
<A
HREF="http://bugzilla.redhat.com/bugzilla/" HREF="http://bugzilla.redhat.com/bugzilla/"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.redhat.com/bugzilla/</A >http://bugzilla.redhat.com/bugzilla/</A
> >
</P </P
><P ><P
...@@ -12130,11 +12666,10 @@ NAME="variant-scarab" ...@@ -12130,11 +12666,10 @@ NAME="variant-scarab"
>Scarab is a new open source bug-tracking system built using Java >Scarab is a new open source bug-tracking system built using Java
Servlet technology. It is currently at version 1.0 beta 13.</P Servlet technology. It is currently at version 1.0 beta 13.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://scarab.tigris.org/" HREF="http://scarab.tigris.org/"
TARGET="_top" TARGET="_top"
>http://scarab.tigris.org</A >http://scarab.tigris.org/</A
> >
</P </P
><P ><P
...@@ -12156,12 +12691,10 @@ CLASS="QUOTE" ...@@ -12156,12 +12691,10 @@ CLASS="QUOTE"
> >
functionality.</P functionality.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://www.perforce.com/perforce/technotes/note052.html" HREF="http://www.perforce.com/perforce/technotes/note052.html"
TARGET="_top" TARGET="_top"
>&#13; http://www.perforce.com/perforce/technotes/note052.html >http://www.perforce.com/perforce/technotes/note052.html</A
</A
> >
</P </P
><P ><P
...@@ -12180,11 +12713,10 @@ NAME="variant-sourceforge" ...@@ -12180,11 +12713,10 @@ NAME="variant-sourceforge"
distributed free software and open source projects over the Internet. distributed free software and open source projects over the Internet.
It has a built-in bug tracker, but it's not highly thought of.</P It has a built-in bug tracker, but it's not highly thought of.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://www.sourceforge.net" HREF="http://www.sourceforge.net"
TARGET="_top" TARGET="_top"
>&#13; http://www.sourceforge.net</A >http://www.sourceforge.net</A
> >
</P </P
><P ><P
...@@ -12201,7 +12733,7 @@ NAME="gfdl" ...@@ -12201,7 +12733,7 @@ NAME="gfdl"
><P ><P
>Version 1.1, March 2000</P >Version 1.1, March 2000</P
><A ><A
NAME="AEN2206" NAME="AEN2305"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -12639,10 +13171,8 @@ NAME="gfdl-10" ...@@ -12639,10 +13171,8 @@ NAME="gfdl-10"
<A <A
HREF="http://www.gnu.org/copyleft/" HREF="http://www.gnu.org/copyleft/"
TARGET="_top" TARGET="_top"
>&#13; http://www.gnu.org/copyleft/</A >http://www.gnu.org/copyleft/</A
> >.</P
.</P
><P ><P
>Each version of the License is given a distinguishing version >Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered version of number. If the Document specifies that a particular numbered version of
...@@ -12666,7 +13196,7 @@ NAME="gfdl-howto" ...@@ -12666,7 +13196,7 @@ NAME="gfdl-howto"
of the License in the document and put the following copyright and of the License in the document and put the following copyright and
license notices just after the title page:</P license notices just after the title page:</P
><A ><A
NAME="AEN2296" NAME="AEN2395"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -12703,7 +13233,7 @@ CLASS="glossdiv" ...@@ -12703,7 +13233,7 @@ CLASS="glossdiv"
><H1 ><H1
CLASS="glossdiv" CLASS="glossdiv"
><A ><A
NAME="AEN2301" NAME="AEN2400"
></A ></A
>0-9, high ascii</H1 >0-9, high ascii</H1
><DL ><DL
...@@ -12986,13 +13516,9 @@ NAME="gloss-component" ...@@ -12986,13 +13516,9 @@ NAME="gloss-component"
NAME="gloss-cpan" NAME="gloss-cpan"
></A ></A
><B ><B
>&#13; <SPAN >Comprehensive Perl Archive Network</B
CLASS="acronym"
>CPAN</SPAN
>
</B
></DT ></DT
><DD > (CPAN)<DD
><P ><P
>&#13; <SPAN >&#13; <SPAN
CLASS="acronym" CLASS="acronym"
...@@ -13233,6 +13759,22 @@ NAME="gloss-p" ...@@ -13233,6 +13759,22 @@ NAME="gloss-p"
>P</H1 >P</H1
><DL ><DL
><DT ><DT
><A
NAME="gloss-ppm"
></A
><B
>Perl Package Manager</B
></DT
> (PPM)<DD
><P
><A
HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/"
TARGET="_top"
>http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/</A
>
</P
></DD
><DT
><B ><B
>Product</B >Product</B
></DT ></DT
...@@ -13499,7 +14041,7 @@ NAME="gloss-zarro" ...@@ -13499,7 +14041,7 @@ NAME="gloss-zarro"
Terry had the following to say: Terry had the following to say:
</P </P
><A ><A
NAME="AEN2521" NAME="AEN2626"
></A ></A
><TABLE ><TABLE
BORDER="0" BORDER="0"
......
...@@ -180,22 +180,22 @@ HREF="cust-templates.html" ...@@ -180,22 +180,22 @@ HREF="cust-templates.html"
><DL ><DL
><DT ><DT
>5.7.1. <A >5.7.1. <A
HREF="cust-templates.html#AEN1425" HREF="cust-templates.html#AEN1524"
>What to Edit</A >What to Edit</A
></DT ></DT
><DT ><DT
>5.7.2. <A >5.7.2. <A
HREF="cust-templates.html#AEN1444" HREF="cust-templates.html#AEN1543"
>How To Edit Templates</A >How To Edit Templates</A
></DT ></DT
><DT ><DT
>5.7.3. <A >5.7.3. <A
HREF="cust-templates.html#AEN1454" HREF="cust-templates.html#AEN1553"
>Template Formats</A >Template Formats</A
></DT ></DT
><DT ><DT
>5.7.4. <A >5.7.4. <A
HREF="cust-templates.html#AEN1467" HREF="cust-templates.html#AEN1566"
>Particular Templates</A >Particular Templates</A
></DT ></DT
></DL ></DL
......
...@@ -81,7 +81,7 @@ NAME="conventions" ...@@ -81,7 +81,7 @@ NAME="conventions"
><DIV ><DIV
CLASS="informaltable" CLASS="informaltable"
><A ><A
NAME="AEN110" NAME="AEN111"
></A ></A
><P ><P
></P ></P
......
...@@ -190,7 +190,7 @@ TARGET="_top" ...@@ -190,7 +190,7 @@ TARGET="_top"
><P ><P
>&#13; Thanks also go to the following people for significant contributions >&#13; Thanks also go to the following people for significant contributions
to this documentation (in alphabetical order): to this documentation (in alphabetical order):
Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Ron Teitelbaum, Spencer Smith, Zach Liption Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Martin Wulffeld, Ron Teitelbaum, Spencer Smith, Zach Liption
. .
</P </P
></DIV ></DIV
......
...@@ -99,7 +99,7 @@ CLASS="section" ...@@ -99,7 +99,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1425" NAME="AEN1524"
></A ></A
>5.7.1. What to Edit</H2 >5.7.1. What to Edit</H2
><P ><P
...@@ -214,7 +214,7 @@ CLASS="section" ...@@ -214,7 +214,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1444" NAME="AEN1543"
></A ></A
>5.7.2. How To Edit Templates</H2 >5.7.2. How To Edit Templates</H2
><P ><P
...@@ -296,7 +296,7 @@ CLASS="section" ...@@ -296,7 +296,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1454" NAME="AEN1553"
></A ></A
>5.7.3. Template Formats</H2 >5.7.3. Template Formats</H2
><P ><P
...@@ -358,7 +358,7 @@ CLASS="section" ...@@ -358,7 +358,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN1467" NAME="AEN1566"
></A ></A
>5.7.4. Particular Templates</H2 >5.7.4. Particular Templates</H2
><P ><P
......
...@@ -108,7 +108,7 @@ NAME="dbdoc" ...@@ -108,7 +108,7 @@ NAME="dbdoc"
><P ><P
>But Certain Death speaks up -- a tiny voice, from the dark corners >But Certain Death speaks up -- a tiny voice, from the dark corners
of the conference room. "I have a concern," the voice hisses from the of the conference room. "I have a concern," the voice hisses from the
darkness, "about the use of the word 'verified'.</P darkness, "about the use of the word 'verified'."</P
><P ><P
>The room, previously filled with happy chatter, lapses into >The room, previously filled with happy chatter, lapses into
reverential silence as Certain Death (better known as the Vice President reverential silence as Certain Death (better known as the Vice President
...@@ -135,7 +135,7 @@ CLASS="section" ...@@ -135,7 +135,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN2091" NAME="AEN2190"
></A ></A
>B.2.1. Bugzilla Database Basics</H2 >B.2.1. Bugzilla Database Basics</H2
><P ><P
...@@ -154,14 +154,12 @@ CLASS="QUOTE" ...@@ -154,14 +154,12 @@ CLASS="QUOTE"
>"tinyint"</SPAN >"tinyint"</SPAN
> >
entry in MySQL. I recommend you refer to the MySQL documentation, entry in MySQL. I recommend you refer to the
available at
<A <A
HREF="http://www.mysql.com/doc.html" HREF="http://www.mysql.com/documentation/"
TARGET="_top" TARGET="_top"
>MySQL.com</A >MySQL documentation</A
> >
. Below are the basics you need to know about the Bugzilla database. . Below are the basics you need to know about the Bugzilla database.
Check the chart above for more details.</P Check the chart above for more details.</P
><P ><P
...@@ -251,7 +249,7 @@ CLASS="section" ...@@ -251,7 +249,7 @@ CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN2118" NAME="AEN2217"
></A ></A
>B.2.1.1. Bugzilla Database Tables</H3 >B.2.1.1. Bugzilla Database Tables</H3
><P ><P
...@@ -322,14 +320,14 @@ CLASS="programlisting" ...@@ -322,14 +320,14 @@ CLASS="programlisting"
><P ><P
CLASS="literallayout" CLASS="literallayout"
><br> ><br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br> &nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br> descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
<br> <br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br> attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br> largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br> attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
<br> <br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br> bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br> current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
other&nbsp;tables.<br> other&nbsp;tables.<br>
<br> <br>
...@@ -337,26 +335,26 @@ bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp; ...@@ -337,26 +335,26 @@ bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;
when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br> when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
<br> <br>
cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br> cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br> any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br> Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br> userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
<br> <br>
components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br> components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;&nbsp;Curiously,&nbsp;the&nbsp;"program"<br> components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br> (product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br> identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
<br> <br>
dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br> dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
<br> <br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br> fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br> submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br> translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
<br> <br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br> groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br> identify&nbsp;group&nbsp;memberships.&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br> tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br> users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br> assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br> like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br> parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br> "5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
...@@ -371,15 +369,15 @@ keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp ...@@ -371,15 +369,15 @@ keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp
associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br> associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
<br> <br>
logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br> logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br> machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;&nbsp;However,<br> housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;However,<br>
since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br> since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
sense.<br> sense.<br>
<br> <br>
longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br> longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br> You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br> sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br> would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br> bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br> comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
<br> <br>
...@@ -387,12 +385,12 @@ milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;assoc ...@@ -387,12 +385,12 @@ milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;assoc
in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br> in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br> product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
<br> <br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;&nbsp;Very<br> namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;Very<br>
cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br> cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
construct.<br> construct.<br>
<br> <br>
products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br> products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;&nbsp;It<br> product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;It<br>
will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br> will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br> could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
entire&nbsp;product...<br> entire&nbsp;product...<br>
...@@ -427,7 +425,7 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br> ...@@ -427,7 +425,7 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br> mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
<br> <br>
&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br> &nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br> you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br> 50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
<br> <br>
&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br> &nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
...@@ -440,7 +438,7 @@ mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp; ...@@ -440,7 +438,7 @@ mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br> mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
<br> <br>
&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br> &nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br> the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br> above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br> table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br> change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
...@@ -451,10 +449,10 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br> ...@@ -451,10 +449,10 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br> &nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br> |&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
<br> <br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br> &nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br> an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br> only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br> standard&nbsp;SQL.&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br> 'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
<br> <br>
mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br> mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
...@@ -470,15 +468,15 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br> ...@@ -470,15 +468,15 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
<br> <br>
&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br> &nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br> available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br> well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
scheme&nbsp;of&nbsp;things?<br> scheme&nbsp;of&nbsp;things?<br>
&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br> &nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br> in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br> "approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br> Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br> of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br> mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
this.&nbsp;&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br> this.&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
</P </P
></DIV ></DIV
></DIV ></DIV
......
...@@ -81,7 +81,7 @@ CLASS="section" ...@@ -81,7 +81,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN687" NAME="AEN786"
></A ></A
>4.2.1. Dependency Charts</H2 >4.2.1. Dependency Charts</H2
><P ><P
...@@ -145,7 +145,7 @@ CLASS="section" ...@@ -145,7 +145,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN702" NAME="AEN801"
></A ></A
>4.2.2. Bug Graphs</H2 >4.2.2. Bug Graphs</H2
><P ><P
...@@ -204,7 +204,7 @@ CLASS="section" ...@@ -204,7 +204,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN715" NAME="AEN814"
></A ></A
>4.2.3. The Whining Cron</H2 >4.2.3. The Whining Cron</H2
><P ><P
...@@ -386,13 +386,13 @@ HREF="http://www.openldap.org/" ...@@ -386,13 +386,13 @@ HREF="http://www.openldap.org/"
TARGET="_top" TARGET="_top"
>&#13; OpenLDAP</A >&#13; OpenLDAP</A
> with Bugzilla, using any of a number of administration > with Bugzilla, using any of a number of administration
tools. You should apply the patch attached this bug: tools. You should apply the patch attached to
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=158630</A >bug 158630</A
>, then set >
the following object classes for your users: , then set the following object classes for your users:
<P <P
></P ></P
...@@ -450,7 +450,7 @@ NAME="content-type" ...@@ -450,7 +450,7 @@ NAME="content-type"
<A <A
HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3" HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3"
TARGET="_top" TARGET="_top"
>&#13; http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A >http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>. >.
Executing the following code snippet from a UNIX command shell will Executing the following code snippet from a UNIX command shell will
rectify the problem if your Bugzilla installation is intended for an rectify the problem if your Bugzilla installation is intended for an
...@@ -527,9 +527,9 @@ VALIGN="TOP" ...@@ -527,9 +527,9 @@ VALIGN="TOP"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
TARGET="_top" TARGET="_top"
>bug >bug 126266</A
126266</A >
> for more information including progress toward making for more information including progress toward making
bugzilla charset aware by default. bugzilla charset aware by default.
</P </P
></TD ></TD
...@@ -610,7 +610,7 @@ CLASS="filename" ...@@ -610,7 +610,7 @@ CLASS="filename"
HREF="http://www.snert.com/Software/mod_throttle/" HREF="http://www.snert.com/Software/mod_throttle/"
TARGET="_top" TARGET="_top"
>http://www.snert.com/Software/mod_throttle/</A >http://www.snert.com/Software/mod_throttle/</A
> >.
Follow the instructions to install into your Apache install. Follow the instructions to install into your Apache install.
<EM <EM
>This module only functions with the Apache web >This module only functions with the Apache web
......
...@@ -587,8 +587,8 @@ CLASS="answer" ...@@ -587,8 +587,8 @@ CLASS="answer"
information at <A information at <A
HREF="http://www.bugzilla.org/" HREF="http://www.bugzilla.org/"
TARGET="_top" TARGET="_top"
>&#13; http://www.bugzilla.org/</A >http://www.bugzilla.org/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -616,8 +616,8 @@ CLASS="answer" ...@@ -616,8 +616,8 @@ CLASS="answer"
See details at <A See details at <A
HREF="http://www.mozilla.org/MPL/" HREF="http://www.mozilla.org/MPL/"
TARGET="_top" TARGET="_top"
>&#13; http://www.mozilla.org/MPL/</A >http://www.mozilla.org/MPL/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -653,7 +653,7 @@ TARGET="_top" ...@@ -653,7 +653,7 @@ TARGET="_top"
>&#13; <A >&#13; <A
HREF="http://www.collab.net/" HREF="http://www.collab.net/"
TARGET="_top" TARGET="_top"
>www.collab.net</A >http://www.collab.net/</A
> offers > offers
Bugzilla as part of their standard offering to large projects. Bugzilla as part of their standard offering to large projects.
They do have some minimum fees that are pretty hefty, and generally They do have some minimum fees that are pretty hefty, and generally
...@@ -908,15 +908,15 @@ CLASS="answer" ...@@ -908,15 +908,15 @@ CLASS="answer"
><P ><P
>&#13; There is currently work in progress to make Bugzilla work on >&#13; There is currently work in progress to make Bugzilla work on
PostgreSQL and Sybase in the default distribution. You can track PostgreSQL and Sybase in the default distribution. You can track
the progress of these initiatives in bugs <A the progress of these initiatives in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top" TARGET="_top"
>98304</A >bug 98304</A
> >
and <A and <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
TARGET="_top" TARGET="_top"
>173130</A >bug 173130</A
> >
respectively. respectively.
</P </P
...@@ -1238,11 +1238,11 @@ CLASS="answer" ...@@ -1238,11 +1238,11 @@ CLASS="answer"
</P </P
><P ><P
>&#13; There is no GUI for adding fields to Bugzilla at this >&#13; There is no GUI for adding fields to Bugzilla at this
time. You can follow development of this feature at time. You can follow development of this feature in
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
TARGET="_top" TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A >bug 91037</A
> >
</P </P
></DIV ></DIV
...@@ -1271,9 +1271,9 @@ CLASS="answer" ...@@ -1271,9 +1271,9 @@ CLASS="answer"
Yes. Look at <A Yes. Look at <A
HREF="http://bugzilla.mozilla.org/report.cgi" HREF="http://bugzilla.mozilla.org/report.cgi"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/report.cgi</A >http://bugzilla.mozilla.org/report.cgi</A
> for samples of what >
Bugzilla can do in reporting and graphing. for samples of what Bugzilla can do in reporting and graphing.
</P </P
><P ><P
>&#13; If you can not get the reports you want from the included reporting >&#13; If you can not get the reports you want from the included reporting
...@@ -1599,8 +1599,8 @@ CLASS="answer" ...@@ -1599,8 +1599,8 @@ CLASS="answer"
at <A at <A
HREF="http://www.mysql.com/doc/B/a/Backup.html" HREF="http://www.mysql.com/doc/B/a/Backup.html"
TARGET="_top" TARGET="_top"
>&#13; http://www.mysql.com/doc/B/a/Backup.html</A >http://www.mysql.com/doc/B/a/Backup.html</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -1902,11 +1902,11 @@ CLASS="answer" ...@@ -1902,11 +1902,11 @@ CLASS="answer"
><B ><B
> </B > </B
> >
Try Klaas Freitag's excellent patch for "whineatassigned" functionality. Try Klaas Freitag's excellent patch for "whineatassigned"
You can find it at <A functionality. You can find it in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
TARGET="_top" TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=6679</A >bug 6679</A
>. This >. This
patch is against an older version of Bugzilla, so you must apply patch is against an older version of Bugzilla, so you must apply
the diffs manually. the diffs manually.
...@@ -1938,7 +1938,7 @@ CLASS="answer" ...@@ -1938,7 +1938,7 @@ CLASS="answer"
You can call bug_email.pl directly from your aliases file, with You can call bug_email.pl directly from your aliases file, with
an entry like this: an entry like this:
<A <A
NAME="AEN1886" NAME="AEN1985"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -2382,7 +2382,7 @@ CLASS="answer" ...@@ -2382,7 +2382,7 @@ CLASS="answer"
><P ><P
>&#13; Microsoft has some advice on this matter, as well: >&#13; Microsoft has some advice on this matter, as well:
<A <A
NAME="AEN1969" NAME="AEN2068"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
...@@ -2463,10 +2463,10 @@ CLASS="command" ...@@ -2463,10 +2463,10 @@ CLASS="command"
I reckon TimeDate and Data::Dumper come with the activeperl. You can check I reckon TimeDate and Data::Dumper come with the activeperl. You can check
the ActiveState site for packages for installation through PPM. the ActiveState site for packages for installation through PPM.
<A <A
HREF=" http://www.activestate.com/Packages/" HREF="http://www.activestate.com/Packages/"
TARGET="_top" TARGET="_top"
>&#13; http://www.activestate.com/Packages/</A >http://www.activestate.com/Packages/</A
> >.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -2551,8 +2551,7 @@ CLASS="answer" ...@@ -2551,8 +2551,7 @@ CLASS="answer"
> </B > </B
> >
The current behavior is acceptable to bugzilla.mozilla.org and most The current behavior is acceptable to bugzilla.mozilla.org and most
users. You have your choice of patches users. You have your choice of patches to change this behavior, however.
to change this behavior, however.
<P <P
></P ></P
><TABLE ><TABLE
...@@ -2771,14 +2770,13 @@ CLASS="answer" ...@@ -2771,14 +2770,13 @@ CLASS="answer"
><B ><B
> </B > </B
> >
This is well-documented here: <A This is well-documented in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=49862</A >&#13; bug 49862</A
>. Ultimately, it's as easy >. Ultimately, it's as easy as adding the "---" priority field to your
as adding the "---" priority field to your localconfig file in the appropriate area, localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
re-running checksetup.pl, and then changing the default priority in your browser using default priority in your browser using "editparams.cgi".
"editparams.cgi".
</P </P
></DIV ></DIV
></DIV ></DIV
......
...@@ -84,10 +84,8 @@ NAME="gfdl-10" ...@@ -84,10 +84,8 @@ NAME="gfdl-10"
<A <A
HREF="http://www.gnu.org/copyleft/" HREF="http://www.gnu.org/copyleft/"
TARGET="_top" TARGET="_top"
>&#13; http://www.gnu.org/copyleft/</A >http://www.gnu.org/copyleft/</A
> >.</P
.</P
><P ><P
>Each version of the License is given a distinguishing version >Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered version of number. If the Document specifies that a particular numbered version of
......
...@@ -81,7 +81,7 @@ NAME="gfdl-howto" ...@@ -81,7 +81,7 @@ NAME="gfdl-howto"
of the License in the document and put the following copyright and of the License in the document and put the following copyright and
license notices just after the title page:</P license notices just after the title page:</P
><A ><A
NAME="AEN2296" NAME="AEN2395"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
......
...@@ -144,7 +144,7 @@ HREF="gfdl-howto.html" ...@@ -144,7 +144,7 @@ HREF="gfdl-howto.html"
><P ><P
>Version 1.1, March 2000</P >Version 1.1, March 2000</P
><A ><A
NAME="AEN2206" NAME="AEN2305"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
......
...@@ -70,7 +70,7 @@ CLASS="glossdiv" ...@@ -70,7 +70,7 @@ CLASS="glossdiv"
><H1 ><H1
CLASS="glossdiv" CLASS="glossdiv"
><A ><A
NAME="AEN2301" NAME="AEN2400"
></A ></A
>0-9, high ascii</H1 >0-9, high ascii</H1
><DL ><DL
...@@ -353,13 +353,9 @@ NAME="gloss-component" ...@@ -353,13 +353,9 @@ NAME="gloss-component"
NAME="gloss-cpan" NAME="gloss-cpan"
></A ></A
><B ><B
>&#13; <SPAN >Comprehensive Perl Archive Network</B
CLASS="acronym"
>CPAN</SPAN
>
</B
></DT ></DT
><DD > (CPAN)<DD
><P ><P
>&#13; <SPAN >&#13; <SPAN
CLASS="acronym" CLASS="acronym"
...@@ -600,6 +596,22 @@ NAME="gloss-p" ...@@ -600,6 +596,22 @@ NAME="gloss-p"
>P</H1 >P</H1
><DL ><DL
><DT ><DT
><A
NAME="gloss-ppm"
></A
><B
>Perl Package Manager</B
></DT
> (PPM)<DD
><P
><A
HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/"
TARGET="_top"
>http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/</A
>
</P
></DD
><DT
><B ><B
>Product</B >Product</B
></DT ></DT
...@@ -866,7 +878,7 @@ NAME="gloss-zarro" ...@@ -866,7 +878,7 @@ NAME="gloss-zarro"
Terry had the following to say: Terry had the following to say:
</P </P
><A ><A
NAME="AEN2521" NAME="AEN2626"
></A ></A
><TABLE ><TABLE
BORDER="0" BORDER="0"
......
...@@ -84,7 +84,7 @@ CLASS="section" ...@@ -84,7 +84,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN370" NAME="AEN371"
></A ></A
>3.2.1. Autolinkification</H2 >3.2.1. Autolinkification</H2
><P ><P
...@@ -232,7 +232,7 @@ CLASS="section" ...@@ -232,7 +232,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN399" NAME="AEN400"
></A ></A
>3.2.5. Filing Bugs</H2 >3.2.5. Filing Bugs</H2
><P ><P
......
...@@ -105,8 +105,8 @@ NAME="myaccount" ...@@ -105,8 +105,8 @@ NAME="myaccount"
<A <A
HREF="http://landfill.bugzilla.org/bugzilla-tip/" HREF="http://landfill.bugzilla.org/bugzilla-tip/"
TARGET="_top" TARGET="_top"
>&#13; http://landfill.bugzilla.org/bugzilla-tip/</A >http://landfill.bugzilla.org/bugzilla-tip/</A
> >.
</P </P
><P ><P
></P ></P
...@@ -441,10 +441,8 @@ NAME="query" ...@@ -441,10 +441,8 @@ NAME="query"
<A <A
HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"
TARGET="_top" TARGET="_top"
>&#13; landfill.bugzilla.org/bugzilla-tip/query.cgi</A >http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A
> >.</P
.</P
><P ><P
>The Search page has controls for selecting different possible >The Search page has controls for selecting different possible
values for all of the fields in a bug, as described above. Once you've values for all of the fields in a bug, as described above. Once you've
......
...@@ -120,7 +120,7 @@ CLASS="command" ...@@ -120,7 +120,7 @@ CLASS="command"
>./checksetup.pl</B >./checksetup.pl</B
> (shown in <A > (shown in <A
HREF="http.html#http-apache-htaccess" HREF="http.html#http-apache-htaccess"
>Example 4-1</A >Example 4-2</A
> >
for the curious) are allowed to override Apache's normal access for the curious) are allowed to override Apache's normal access
permissions or else important password information may be exposed to the permissions or else important password information may be exposed to the
...@@ -241,7 +241,7 @@ NAME="http-apache-htaccess" ...@@ -241,7 +241,7 @@ NAME="http-apache-htaccess"
></A ></A
><P ><P
><B ><B
>Example 4-1. <TT >Example 4-2. <TT
CLASS="filename" CLASS="filename"
>.htaccess</TT >.htaccess</TT
> files for Apache</B > files for Apache</B
...@@ -420,7 +420,7 @@ CLASS="productname" ...@@ -420,7 +420,7 @@ CLASS="productname"
<A <A
HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp" HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp"
TARGET="_top" TARGET="_top"
>Q245225 </A >Q245225</A
> >
for <SPAN for <SPAN
CLASS="productname" CLASS="productname"
...@@ -556,8 +556,7 @@ CLASS="filename" ...@@ -556,8 +556,7 @@ CLASS="filename"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383"
TARGET="_top" TARGET="_top"
>bug >&#13; bug 186383</A
186383</A
> or <A > or <A
HREF="http://online.securityfocus.com/bid/6501" HREF="http://online.securityfocus.com/bid/6501"
TARGET="_top" TARGET="_top"
......
...@@ -451,11 +451,16 @@ CLASS="LOT" ...@@ -451,11 +451,16 @@ CLASS="LOT"
></DT ></DT
><DT ><DT
>4-1. <A >4-1. <A
HREF="stepbystep.html#install-mysql-packets"
>Set Max Packet Size in MySQL</A
></DT
><DT
>4-2. <A
HREF="troubleshooting.html#trouble-filetemp-errors" HREF="troubleshooting.html#trouble-filetemp-errors"
>Other File::Temp error messages</A >Other File::Temp error messages</A
></DT ></DT
><DT ><DT
>4-2. <A >4-3. <A
HREF="troubleshooting.html#trouble-filetemp-patch" HREF="troubleshooting.html#trouble-filetemp-patch"
>Patch for File::Temp in Perl 5.6.0</A >Patch for File::Temp in Perl 5.6.0</A
></DT ></DT
...@@ -471,6 +476,11 @@ CLASS="LOT" ...@@ -471,6 +476,11 @@ CLASS="LOT"
></DT ></DT
><DT ><DT
>4-1. <A >4-1. <A
HREF="stepbystep.html#install-perlmodules-cpan"
>Installing perl modules with CPAN</A
></DT
><DT
>4-2. <A
HREF="http.html#http-apache-htaccess" HREF="http.html#http-apache-htaccess"
><TT ><TT
CLASS="filename" CLASS="filename"
......
...@@ -88,55 +88,45 @@ HREF="stepbystep.html" ...@@ -88,55 +88,45 @@ HREF="stepbystep.html"
><DL ><DL
><DT ><DT
>4.1.1. <A >4.1.1. <A
HREF="stepbystep.html#intstall-into"
>Introduction</A
></DT
><DT
>4.1.2. <A
HREF="stepbystep.html#install-package-list"
>Package List</A
></DT
><DT
>4.1.3. <A
HREF="stepbystep.html#install-mysql" HREF="stepbystep.html#install-mysql"
>MySQL</A >MySQL</A
></DT ></DT
><DT ><DT
>4.1.4. <A >4.1.2. <A
HREF="stepbystep.html#install-perl" HREF="stepbystep.html#install-perl"
>Perl</A >Perl</A
></DT ></DT
><DT ><DT
>4.1.5. <A >4.1.3. <A
HREF="stepbystep.html#perl-modules" HREF="stepbystep.html#install-perlmodules"
>Perl Modules</A >Perl Modules</A
></DT ></DT
><DT ><DT
>4.1.6. <A >4.1.4. <A
HREF="stepbystep.html#sbs-http" HREF="stepbystep.html#install-webserver"
>HTTP Server</A >HTTP Server</A
></DT ></DT
><DT ><DT
>4.1.7. <A >4.1.5. <A
HREF="stepbystep.html#AEN600" HREF="stepbystep.html#install-bzfiles"
>Bugzilla</A >Bugzilla</A
></DT ></DT
><DT ><DT
>4.1.8. <A >4.1.6. <A
HREF="stepbystep.html#AEN611" HREF="stepbystep.html#install-setupdatabase"
>Setting Up the MySQL Database</A >Setting Up the MySQL Database</A
></DT ></DT
><DT ><DT
>4.1.9. <A >4.1.7. <A
HREF="stepbystep.html#AEN649" HREF="stepbystep.html#AEN749"
><TT ><TT
CLASS="filename" CLASS="filename"
>checksetup.pl</TT >checksetup.pl</TT
></A ></A
></DT ></DT
><DT ><DT
>4.1.10. <A >4.1.8. <A
HREF="stepbystep.html#AEN681" HREF="stepbystep.html#AEN780"
>Configuring Bugzilla</A >Configuring Bugzilla</A
></DT ></DT
></DL ></DL
...@@ -150,17 +140,17 @@ HREF="extraconfig.html" ...@@ -150,17 +140,17 @@ HREF="extraconfig.html"
><DL ><DL
><DT ><DT
>4.2.1. <A >4.2.1. <A
HREF="extraconfig.html#AEN687" HREF="extraconfig.html#AEN786"
>Dependency Charts</A >Dependency Charts</A
></DT ></DT
><DT ><DT
>4.2.2. <A >4.2.2. <A
HREF="extraconfig.html#AEN702" HREF="extraconfig.html#AEN801"
>Bug Graphs</A >Bug Graphs</A
></DT ></DT
><DT ><DT
>4.2.3. <A >4.2.3. <A
HREF="extraconfig.html#AEN715" HREF="extraconfig.html#AEN814"
>The Whining Cron</A >The Whining Cron</A
></DT ></DT
><DT ><DT
...@@ -268,12 +258,12 @@ HREF="troubleshooting.html" ...@@ -268,12 +258,12 @@ HREF="troubleshooting.html"
><DL ><DL
><DT ><DT
>4.5.1. <A >4.5.1. <A
HREF="troubleshooting.html#AEN977" HREF="troubleshooting.html#AEN1076"
>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A >Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
></DT ></DT
><DT ><DT
>4.5.2. <A >4.5.2. <A
HREF="troubleshooting.html#AEN982" HREF="troubleshooting.html#AEN1081"
>DBD::Sponge::db prepare failed</A >DBD::Sponge::db prepare failed</A
></DT ></DT
><DT ><DT
......
...@@ -131,11 +131,10 @@ CLASS="filename" ...@@ -131,11 +131,10 @@ CLASS="filename"
><P ><P
>There is also a CVSZilla project, based upon somewhat dated >There is also a CVSZilla project, based upon somewhat dated
Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to
email. Check it out at: email. Check it out at: <A
<A
HREF="http://homepages.kcbbs.gen.nz/~tonyg/" HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
TARGET="_top" TARGET="_top"
>&#13; http://homepages.kcbbs.gen.nz/~tonyg/</A >http://homepages.kcbbs.gen.nz/~tonyg/</A
>. >.
</P </P
></DIV ></DIV
...@@ -153,7 +152,7 @@ NAME="scm" ...@@ -153,7 +152,7 @@ NAME="scm"
<A <A
HREF="http://www.ravenbrook.com/project/p4dti/" HREF="http://www.ravenbrook.com/project/p4dti/"
TARGET="_top" TARGET="_top"
>&#13; http://www.ravenbrook.com/project/p4dti</A >http://www.ravenbrook.com/project/p4dti/</A
> >
. .
...@@ -167,7 +166,7 @@ CLASS="QUOTE" ...@@ -167,7 +166,7 @@ CLASS="QUOTE"
<A <A
HREF="http://public.perforce.com/public/perforce/p4dti/index.html" HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
TARGET="_top" TARGET="_top"
>&#13; http://public.perforce.com/public/perforce/p4dti/index.html</A >http://public.perforce.com/public/perforce/p4dti/index.html</A
> >
.</P .</P
......
...@@ -93,7 +93,7 @@ NAME="newversions" ...@@ -93,7 +93,7 @@ NAME="newversions"
>&#13; The newest version of this guide can always be found at <A >&#13; The newest version of this guide can always be found at <A
HREF="http://www.bugzilla.org" HREF="http://www.bugzilla.org"
TARGET="_top" TARGET="_top"
>bugzilla.org</A >http://www.bugzilla.org</A
>; including >; including
documentation for past releases and the current development version. documentation for past releases and the current development version.
</P </P
...@@ -108,13 +108,12 @@ TARGET="_top" ...@@ -108,13 +108,12 @@ TARGET="_top"
</P </P
><P ><P
>&#13; The latest version of this document can always be checked out via CVS. >&#13; The latest version of this document can always be checked out via CVS.
Please follow the instructions available at Please follow the <A
<A
HREF="http://www.mozilla.org/cvs.html" HREF="http://www.mozilla.org/cvs.html"
TARGET="_top" TARGET="_top"
>the Mozilla CVS page</A >Mozilla CVS</A
>, >
and check out the <TT instructions and check out the <TT
CLASS="filename" CLASS="filename"
>mozilla/webtools/bugzilla/docs/</TT >mozilla/webtools/bugzilla/docs/</TT
> >
......
...@@ -143,19 +143,23 @@ CLASS="section" ...@@ -143,19 +143,23 @@ CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="win32-perl-modules" NAME="win32-perlmodules"
></A ></A
>4.3.1.2. Perl Modules on Win32</H3 >4.3.1.2. Perl Modules on Win32</H3
><P ><P
>Bugzilla on Windows requires the same perl modules found in >Bugzilla on Windows requires the same perl modules found in
<A <A
HREF="stepbystep.html#install-package-list" HREF="stepbystep.html#install-perlmodules"
>Section 4.1.2</A >Section 4.1.3</A
>. The main difference is that >. The main difference is that
windows uses <B windows uses <A
CLASS="command" HREF="glossary.html#gloss-ppm"
>ppm</B ><I
> instead of CPAN. CLASS="glossterm"
>PPM</I
></A
> instead of
CPAN.
</P </P
><TABLE ><TABLE
BORDER="0" BORDER="0"
......
...@@ -410,8 +410,7 @@ NAME="security-access" ...@@ -410,8 +410,7 @@ NAME="security-access"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top" TARGET="_top"
>bug >&#13; bug 44659</A
44659</A
> for more information. > for more information.
</P </P
><P ><P
......
...@@ -76,34 +76,21 @@ CLASS="section" ...@@ -76,34 +76,21 @@ CLASS="section"
NAME="stepbystep" NAME="stepbystep"
></A ></A
>4.1. Step-by-step Install</H1 >4.1. Step-by-step Install</H1
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="intstall-into"
></A
>4.1.1. Introduction</H2
><P ><P
>Bugzilla has been successfully installed under Solaris, Linux, >Bugzilla has been successfully installed under many different
and Win32. Win32 is not yet officially supported, but many people operating systems including almost all Unix clones and
have got it working fine. <SPAN
Please see CLASS="productname"
>Microsoft Windows</SPAN
>. Many
operating systems have utilities that make installation easier or quirks
that make it harder. We have tried to collect that information in
<A <A
HREF="os-specific.html#os-win32" HREF="os-specific.html"
>Section 4.3.1</A >Section 4.3</A
> >, so be sure to check out that section before
for further advice on getting Bugzilla to work on Microsoft you start your installation.
Windows.</P </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="install-package-list"
></A
>4.1.2. Package List</H2
><DIV ><DIV
CLASS="note" CLASS="note"
><P ><P
...@@ -125,265 +112,117 @@ ALT="Note"></TD ...@@ -125,265 +112,117 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you are running the very most recent >Windows is one of those operating systems that has many quirks
version of Perl and MySQL (both the executables and development and is not yet officially supported by the Bugzilla team. If you wish
libraries) on your system, you can skip these manual installation to install Bugzilla on Windows, be sure to see
steps for the Perl modules by using Bundle::Bugzilla; see
<A <A
HREF="stepbystep.html#bundlebugzilla" HREF="os-specific.html#os-win32"
>Using Bundle::Bugzilla instead of manually installing Perl modules</A >Section 4.3.1</A
>. >.
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><DIV
CLASS="warning"
><P ><P
>The software packages necessary for the proper running of
Bugzilla (with download links) are:
<P
></P
><OL
TYPE="1"
><LI
><P
>&#13; <A
HREF="http://www.mysql.com/"
TARGET="_top"
>MySQL database server</A
>
(3.23.41 or greater)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.perl.org"
TARGET="_top"
>Perl</A
>
(5.6, 5.6.1 is recommended if you wish to
use Bundle::Bugzilla)
</P
></LI
><LI
><P
>Perl Modules (minimum version):
<P
></P ></P
><OL ><TABLE
TYPE="a" CLASS="warning"
><LI WIDTH="100%"
><P BORDER="0"
>&#13; <A ><TR
HREF="http://www.template-toolkit.org" ><TD
TARGET="_top" WIDTH="25"
>Template</A ALIGN="CENTER"
> VALIGN="TOP"
(v2.08) ><IMG
</P SRC="../images/warning.gif"
></LI HSPACE="5"
><LI ALT="Warning"></TD
><P ><TD
>&#13; <A ALIGN="LEFT"
HREF="http://www.perldoc.com/perl5.6/lib/File/Temp.html" VALIGN="TOP"
TARGET="_top"
>&#13; File::Temp</A
>
(1.804) (Prerequisite for Template)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/AppConfig/"
TARGET="_top"
>AppConfig
</A
>
(1.52)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/authors/id/MUIR/modules/Text-Tabs%2BWrap-2001.0131.tar.gz"
TARGET="_top"
>Text::Wrap</A
>
(2001.0131)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://search.cpan.org/search?dist=File-Spec"
TARGET="_top"
>File::Spec
</A
>
(0.82)
</P
></LI
><LI
><P ><P
>&#13; <A >While installing Bugzilla, it is a good idea to ensure that there
HREF="http://www.cpan.org/modules/by-module/Data/" is some kind of firewall between you and the rest of the Internet
TARGET="_top" as your machine may be insecure for periods during the install. Many
>Data::Dumper installation steps require an active Internet connection to complete,
</A but you must take care to ensure that at no point is your machine
> vulnerable to an attack.</P
(any) ></TD
</P ></TR
></LI ></TABLE
><LI ></DIV
><P ><P
>&#13; <A >This guide assumes that you already have your operating system
HREF="http://www.cpan.org/modules/by-module/Mysql/" installed, network configured, and have administrative access to the
TARGET="_top" shell on the machine you are installing Bugzilla onto. It is possible to
>DBD::mysql install and run Bugzilla without administrative access, but you have to
</A either make sure all the required software is installed or get somebody
> with administrative access to install it for you.
(2.1010)
</P </P
></LI
><LI
><P ><P
>&#13; <A >The listing below is a basic step-by-step list. More information
HREF="http://www.cpan.org/modules/by-module/DBI/" can be found in the sections below. Minimum versions will be
TARGET="_top" included in parenthesis where appropriate.
>DBI</A
>
(1.32)
</P </P
></LI ><DIV
CLASS="procedure"
><OL
TYPE="1"
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/Date/" HREF="stepbystep.html#install-mysql"
TARGET="_top" >Install MySQL</A
>Date::Parse
</A
> >
(2.21) (3.23.41)
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/CGI/" HREF="stepbystep.html#install-perl"
TARGET="_top" >Install Perl</A
>CGI
</A
> >
(2.88) (5.6)
</P </P
></LI ></LI
></OL
>
and, optionally:
<P
></P
><OL
TYPE="a"
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/GD/" HREF="stepbystep.html#install-perlmodules"
TARGET="_top" >Install Perl Modules</A
>GD</A
> >
(1.20) for bug charting
</P
></LI
><LI
><P
>&#13; GD::Graph
(any) for bug charting
</P
></LI
><LI
><P
>&#13; GD::Text::Align
(any) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <A ><A
HREF="http://www.cpan.org/modules/by-module/Chart/" HREF="stepbystep.html#install-webserver"
TARGET="_top" >Install a Webserver</A
>Chart::Base
</A
> >
(0.99c) for bug charting
</P
></LI
><LI
><P
>&#13; XML::Parser
(any) for the XML interface
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; MIME::Parser ><A
(any) for the email interface HREF="stepbystep.html#install-bzfiles"
</P >Put Bugzilla in the Webspace</A
></LI
></OL
> >
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; The web server of your choice. ><A
<A HREF="stepbystep.html#install-setupdatabase"
HREF="http://www.apache.org/" >Setup the MySQL Database</A
TARGET="_top"
>Apache</A
> >
is highly recommended.
</P </P
></LI ></LI
></OL ></OL
>
<DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>It is a good idea, while installing Bugzilla, to ensure that there
is some kind of firewall between you and the rest of the Internet,
because your machine may be insecure for periods during the install.
Many
installation steps require an active Internet connection to complete,
but you must take care to ensure that at no point is your machine
vulnerable to an attack.</P
></TD
></TR
></TABLE
></DIV
>
</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
...@@ -392,13 +231,13 @@ CLASS="section" ...@@ -392,13 +231,13 @@ CLASS="section"
><A ><A
NAME="install-mysql" NAME="install-mysql"
></A ></A
>4.1.3. MySQL</H2 >4.1.1. MySQL</H2
><P ><P
>Visit the MySQL homepage at >Visit the MySQL homepage at
<A <A
HREF="http://www.mysql.com" HREF="http://www.mysql.com"
TARGET="_top" TARGET="_top"
>www.mysql.com</A >http://www.mysql.com</A
> >
to grab and install the latest stable release of the server. to grab and install the latest stable release of the server.
</P </P
...@@ -441,53 +280,65 @@ CLASS="filename" ...@@ -441,53 +280,65 @@ CLASS="filename"
></TABLE ></TABLE
></DIV ></DIV
><P ><P
>If you install from something other than an RPM or Debian >If you install from something other than a packaging/installation
package, you will need to add <TT system (such as .rpm, .dep, .exe, or .msi) you will need to configure
CLASS="filename" your system so the MySQL server daemon will come back up whenever
>mysqld</TT your machine reboots.
>
to your init scripts so the server daemon will come back up whenever
your machine reboots. Further discussion of UNIX init sequences are
beyond the scope of this guide.
</P </P
><P ><P
>Change your init script to start >If you wish to have attachments larger than 64K, you will have to
<TT configure MySQL to accept large packets. This is done by adding the text
CLASS="filename" in <A
>mysqld</TT HREF="stepbystep.html#install-mysql-packets"
> >Figure 4-1</A
with the ability to accept large packets. By default, > to your
<TT
CLASS="filename"
>mysqld</TT
>
only accepts packets up to 64K long. This limits the size of
attachments you may put on bugs. If you add
<TT
CLASS="option"
>-O max_allowed_packet=1M</TT
>
to the command that starts
<TT <TT
CLASS="filename" CLASS="filename"
>mysqld</TT >my.conf</TT
> > file. There is also a parameter in Bugzilla
(or <TT for setting the maximum allowable attachment size.
CLASS="filename"
>safe_mysqld</TT You should set this value to be slightly larger than that parameter.
>), </P
then you will be able to have attachments up to about 1 megabyte. ><DIV
There is a Bugzilla parameter for maximum attachment size; CLASS="figure"
you should configure it to match the value you choose here.</P ><A
><P NAME="install-mysql-packets"
>If you plan on running Bugzilla and MySQL on the same machine, ></A
consider using the ><P
<TT ><B
>Figure 4-1. Set Max Packet Size in MySQL</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>If you are running Bugzilla and MySQL on the same machine, you may
also wish to utilize the <TT
CLASS="option" CLASS="option"
>--skip-networking</TT >skip-networking</TT
> > option as
option in the init script. This enhances security by preventing mentioned in <A
network access to MySQL.</P HREF="security.html#security-mysql"
>Section 5.6.2</A
> for the added security.
</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
...@@ -496,32 +347,214 @@ CLASS="section" ...@@ -496,32 +347,214 @@ CLASS="section"
><A ><A
NAME="install-perl" NAME="install-perl"
></A ></A
>4.1.4. Perl</H2 >4.1.2. Perl</H2
><P ><P
>Any machine that doesn't have Perl on it is a sad machine indeed. >Any machine that doesn't have Perl on it is a sad machine indeed.
Perl can be got in source form from Perl can be got in source form from <A
<A
HREF="http://www.perl.com" HREF="http://www.perl.com"
TARGET="_top" TARGET="_top"
>perl.com</A >http://www.perl.com</A
> for the rare >.
*nix systems which don't have it. There are also binary versions available for many platforms, most of which
are linked to from perl.com.
Although Bugzilla runs with perl 5.6, Although Bugzilla runs with perl 5.6,
it's a good idea to be up to the very latest version it's a good idea to be up to the very latest version
if you can when running Bugzilla. As of this writing, that is Perl if you can when running Bugzilla. As of this writing, that is Perl
version 5.8.</P version 5.8.</P
></DIV
><DIV ><DIV
CLASS="tip" CLASS="section"
><H2
CLASS="section"
><A ><A
NAME="bundlebugzilla" NAME="install-perlmodules"
></A ></A
>4.1.3. Perl Modules</H2
><P ><P
></P >Perl modules can be found using
><TABLE <A
CLASS="tip" HREF="glossary.html#gloss-cpan"
WIDTH="100%" ><I
BORDER="0" CLASS="glossterm"
><TR >CPAN</I
></A
> on Unix based systems or
<A
HREF="glossary.html#gloss-ppm"
><I
CLASS="glossterm"
>PPM</I
></A
> on Win32. The root servers
have a real tendency to bog down, so please use mirrors.
</P
><P
>Good instuctions can be found for using each of these services on
their respective websites. The basics can be found in
<A
HREF="stepbystep.html#install-perlmodules-cpan"
>Example 4-1</A
> for CPAN and
<A
HREF="os-specific.html#win32-perlmodules"
>Section 4.3.1.2</A
> for PPM.
</P
><DIV
CLASS="example"
><A
NAME="install-perlmodules-cpan"
></A
><P
><B
>Example 4-1. Installing perl modules with CPAN</B
></P
><P
>The easy way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> perl -MCPAN -e 'install "&#60;modulename&#62;"'
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>Or the hard way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> tar xzvf &#60;module&#62;.tar.gz <A
NAME="cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> cd &#60;module&#62; <A
NAME="cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> perl Makefile.PL
<TT
CLASS="prompt"
>bash#</TT
> make
<TT
CLASS="prompt"
>bash#</TT
> make test
<TT
CLASS="prompt"
>bash#</TT
> make install
</PRE
></FONT
></TD
></TR
></TABLE
>
<DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="stepbystep.html#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>This assumes that you've already downloaded the
<TT
CLASS="filename"
>&#60;module&#62;.tar.gz</TT
> to the current working
directory.
</DD
><DT
><A
HREF="stepbystep.html#cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>The process of untaring the module as defined in
<A
HREF="stepbystep.html#cpan-moduletar"
><A
HREF="stepbystep.html#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></A
> will create the
<TT
CLASS="filename"
>&#60;module&#62;</TT
> directory.
</DD
></DL
></DIV
>
</P
></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD ><TD
WIDTH="25" WIDTH="25"
ALIGN="CENTER" ALIGN="CENTER"
...@@ -534,249 +567,433 @@ ALT="Tip"></TD ...@@ -534,249 +567,433 @@ ALT="Tip"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>You can skip the following Perl module installation steps by >Many people complain that Perl modules will not install for
installing them. Most times, the error messages complain that they are missing a
file in
<SPAN <SPAN
CLASS="productname" CLASS="QUOTE"
>Bundle::Bugzilla</SPAN >"@INC"</SPAN
>.
Virtually every time, this error is due to permissions being set too
restrictively for you to compile Perl modules or not having the
necessary Perl development libraries installed on your system.
Consult your local UNIX systems administrator for help solving these
permissions issues; if you
<EM
>are</EM
> >
the local UNIX sysadmin, please consult the newsgroup/mailing list
from for further assistance or hire someone to help you out.</P
<A ></TD
HREF="glossary.html#gloss-cpan" ></TR
><I ></TABLE
CLASS="glossterm" ></DIV
>CPAN</I
></A
>,
which installs all required modules for you.</P
><P ><P
>&#13; <TT >Perl Modules (minimum version):
CLASS="computeroutput" <P
>&#13; <TT ></P
CLASS="prompt" ><OL
>bash#</TT TYPE="1"
> ><LI
><P
<B >&#13; <A
CLASS="command" HREF="stepbystep.html#install-modules-bundle-bugzilla"
>perl -MCPAN -e 'install "Bundle::Bugzilla"'</B >Bundle::Bugzilla</A
> >
</TT (Will allow you to skip the rest)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-appconfig"
>AppConfig</A
> >
(1.52)
</P </P
></LI
><LI
><P ><P
>Bundle::Bugzilla doesn't include GD, Chart::Base, or >&#13; <A
MIME::Parser, which are not essential to a basic Bugzilla install. If HREF="stepbystep.html#install-modules-cgi"
installing this bundle fails, you should install each module >CGI</A
individually to isolate the problem.</P >
></TD (2.88)
></TR </P
></TABLE ></LI
></DIV ><LI
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="perl-modules"
></A
>4.1.5. Perl Modules</H2
><P ><P
>&#13; <A
HREF="stepbystep.html#install-modules-data-dumper"
>Data::Dumper</A
> >
All Perl modules can be found on the (any)
<A
HREF="http://www.cpan.org"
TARGET="_top"
>Comprehensive Perl
Archive Network</A
> (CPAN). The
CPAN servers have a real tendency to bog down, so please use mirrors.
</P </P
></LI
><LI
><P ><P
>Quality, general Perl module installation instructions can be >&#13; <A
found on the CPAN website, but the easy thing to do is to just use the HREF="stepbystep.html#install-modules-date-format"
CPAN shell which does all the hard work for you. >Date::Format</A
To use the CPAN shell to install a module: >
(2.21)
</P </P
></LI
><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="stepbystep.html#install-modules-dbi"
>&#13; <TT >DBI</A
CLASS="prompt"
>bash#</TT
> >
<B (1.32)
CLASS="command" </P
>perl -MCPAN -e 'install "&#60;modulename&#62;"'</B ></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-dbd-mysql"
>DBD::mysql</A
> >
</TT (2.1010)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-file-spec"
>File::Spec</A
> >
(0.82)
</P </P
></LI
><LI
><P ><P
>&#13; To do it the hard way: >&#13; <A
HREF="stepbystep.html#install-modules-file-temp"
>File::Temp</A
>
(any)
</P </P
></LI
><LI
><P ><P
>Untar the module tarball -- it should create its own >&#13; <A
directory</P HREF="stepbystep.html#install-modules-template"
>Template Toolkit</A
>
(2.08)
</P
></LI
><LI
><P ><P
>CD to the directory just created, and enter the following >&#13; <A
commands: HREF="stepbystep.html#install-modules-text-wrap"
>Text::Wrap</A
>
(2001.0131)
</P
></LI
></OL
>
and, optionally:
<P <P
></P ></P
><OL ><OL
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="stepbystep.html#install-modules-gd"
>&#13; <TT >GD</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>perl Makefile.PL</B
>
</TT
> >
(1.20) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="stepbystep.html#install-modules-chart-base"
>&#13; <TT >Chart::Base</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>make</B
>
</TT
> >
(0.99c) for bug charting
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="stepbystep.html#install-modules-xml-parser"
>&#13; <TT >XML::Parser</A
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>make test</B
>
</TT
> >
(any) for the XML interface
</P </P
></LI ></LI
><LI ><LI
><P ><P
>&#13; <TT >&#13; <A
CLASS="computeroutput" HREF="stepbystep.html#install-modules-gd-graph"
>&#13; <TT >GD::Graph</A
CLASS="prompt"
>bash#</TT
> >
(any) for bug charting
<B </P
CLASS="command" ></LI
>make install</B ><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-gd-text-align"
>GD::Text::Align</A
> >
</TT (any) for bug charting
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-mime-parser"
>MIME::Parser</A
> >
(any) for the email interface
</P </P
></LI ></LI
></OL ></OL
> >
</P </P
><DIV ><DIV
CLASS="warning" CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-bundle-bugzilla"
></A
>4.1.3.1. Bundle::Bugzilla</H3
><P ><P
></P >If you are running at least perl 5.6.1, you can save yourself a lot
of time by using Bundle::Bugzilla. This bundle contains every module
required to get Bugzilla running. It does not include GD and friends, but
these are not required for a base install and can always be added later
if the need arises.
</P
><P
>Assuming your perl was installed with CPAN (most unix installations
are), using Bundle::Bugzilla is really easy. Simply follow along with the
commands below.
</P
><TABLE ><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0" BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
WIDTH="25" ><FONT
ALIGN="CENTER" COLOR="#000000"
VALIGN="TOP" ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> <B
CLASS="command"
>perl -MCPAN -eshell</B
> <A
NAME="bundle-cpanconfig"
><IMG ><IMG
SRC="../images/warning.gif" SRC="../images/callouts/1.gif"
HSPACE="5" HSPACE="0"
ALT="Warning"></TD VSPACE="0"
><TD BORDER="0"
ALIGN="LEFT" ALT="(1)"></A
VALIGN="TOP"
><P
>Many people complain that Perl modules will not install for
them. Most times, the error messages complain that they are missing a
file in
<SPAN
CLASS="QUOTE"
>"@INC"</SPAN
>.
Virtually every time, this error is due to permissions being set too
restrictively for you to compile Perl modules or not having the
necessary Perl development libraries installed on your system.
Consult your local UNIX systems administrator for help solving these
permissions issues; if you
<EM
>are</EM
> >
the local UNIX sysadmin, please consult the newsgroup/mailing list cpan shell -- CPAN exploration and modules installation (v1.63)
for further assistance or hire someone to help you out.</P ReadLine support enabled
<TT
CLASS="prompt"
>cpan&#62;</TT
>
</PRE
></FONT
></TD ></TD
></TR ></TR
></TABLE ></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="stepbystep.html#bundle-cpanconfig"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>At this point, unless you've used CPAN on this machine before,
you'll have to go through a series of configuration steps.
</DD
></DL
></DIV
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN566" NAME="install-modules-appconfig"
></A ></A
>4.1.5.1. DBI</H3 >4.1.3.2. AppConfig (1.52)</H3
><P ><P
>The DBI module is a generic Perl module used the >Dependency for Template Toolkit. We probably don't need to
MySQL-related modules. As long as your Perl installation was done specifically check for it anymore.
correctly the DBI module should be a breeze. It's a mixed Perl/C </P
module, but Perl's MakeMaker system simplifies the C compilation
greatly.</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN569" NAME="install-modules-cgi"
></A ></A
>4.1.5.2. Data::Dumper</H3 >4.1.3.3. CGI (2.88)</H3
><P
>The CGI module parses form elements and cookies and does many
other usefule things. It come as a part of recent perl distributions, but
Bugzilla needs a fairly new version.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/CGI.pm/"
TARGET="_top"
>http://search.cpan.org/dist/CGI.pm/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/CGI.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/CGI.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-data-dumper"
></A
>4.1.3.4. Data::Dumper (any)</H3
><P ><P
>The Data::Dumper module provides data structure persistence for >The Data::Dumper module provides data structure persistence for
Perl (similar to Java's serialization). It comes with later Perl (similar to Java's serialization). It comes with later
sub-releases of Perl 5.004, but a re-installation just to be sure it's sub-releases of Perl 5.004, but a re-installation just to be sure it's
available won't hurt anything.</P available won't hurt anything.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Data-Dumper/"
TARGET="_top"
>http://search.cpan.org/dist/Data-Dumper/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-date-format"
></A
>4.1.3.5. TimeDate modules (2.21)</H3
><P
>Many of the more common date/time/calendar related Perl modules
have been grouped into a bundle similar to the MySQL modules bundle.
This bundle is stored on the CPAN under the name TimeDate.
The component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea anyway.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-dbi"
></A
>4.1.3.6. DBI (1.32)</H3
><P
>The DBI module is a generic Perl module used the
MySQL-related modules. As long as your Perl installation was done
correctly the DBI module should be a breeze. It's a mixed Perl/C
module, but Perl's MakeMaker system simplifies the C compilation
greatly.</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/DBI/"
TARGET="_top"
>http://search.cpan.org/dist/DBI/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://dbi.perl.org/doc/"
TARGET="_top"
>http://dbi.perl.org/doc/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN572" NAME="install-modules-dbd-mysql"
></A ></A
>4.1.5.3. MySQL-related modules</H3 >4.1.3.7. MySQL-related modules</H3
><P ><P
>The Perl/MySQL interface requires a few mutually-dependent Perl >The Perl/MySQL interface requires a few mutually-dependent Perl
modules. These modules are grouped together into the the modules. These modules are grouped together into the the
...@@ -790,38 +1007,165 @@ NAME="AEN572" ...@@ -790,38 +1007,165 @@ NAME="AEN572"
provide backwards compatibility with the older MySQL packages; you provide backwards compatibility with the older MySQL packages; you
should answer YES to this question. The default is NO.</P should answer YES to this question. The default is NO.</P
><P ><P
>A host of 'localhost' should be fine and a testing user of 'test' >A host of 'localhost' should be fine and a testing user of 'test'
with a null password should find itself with sufficient access to run with a null password should find itself with sufficient access to run
tests on the 'test' database which MySQL created upon installation. tests on the 'test' database which MySQL created upon installation.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-file-spec"
></A
>4.1.3.8. File::Spec (0.82)</H3
><P
>File::Spec is a perl module that allows file operations, such as
generating full path names, to work cross platform.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Spec.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-file-temp"
></A
>4.1.3.9. File::Temp (any)</H3
><P
>File::Temp is used to generate a temporary filename that is
guaranteed to be unique. It comes as a standard part of perl
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Temp.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-template"
></A
>4.1.3.10. Template Toolkit (2.08)</H3
><P
>When you install Template Toolkit, you'll get asked various
questions about features to enable. The defaults are fine, except
that it is recommended you use the high speed XS Stash of the Template
Toolkit, in order to achieve best performance.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Template-Toolkit/"
TARGET="_top"
>http://search.cpan.org/dist/Template-Toolkit/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"
TARGET="_top"
>http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.template-toolkit.org/docs.html"
TARGET="_top"
>http://www.template-toolkit.org/docs.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN577" NAME="install-modules-text-wrap"
></A ></A
>4.1.5.4. TimeDate modules</H3 >4.1.3.11. Text::Wrap (2001.0131)</H3
><P ><P
>Many of the more common date/time/calendar related Perl modules >Text::Wrap is designed to proved intelligent text wrapping.
have been grouped into a bundle similar to the MySQL modules bundle.
This bundle is stored on the CPAN under the name TimeDate.
The component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea anyway.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/"
TARGET="_top"
>http://search.cpan.org/dist/Text-Tabs+Wrap/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN580" NAME="install-modules-gd"
></A ></A
>4.1.5.5. GD (optional)</H3 >4.1.3.12. GD (1.20) [optional]</H3
><P ><P
>The GD library was written by Thomas Boutell a long while ago to >The GD library was written by Thomas Boutell a long while ago to
programatically generate images in C. Since then it's become the programmatically generate images in C. Since then it's become the
defacto standard for programmatic image construction. The Perl bindings defacto standard for programmatic image construction. The Perl bindings
to it found in the GD library are used on millions of web pages to to it found in the GD library are used on millions of web pages to
generate graphs on the fly. That's what Bugzilla will be using it for generate graphs on the fly. That's what Bugzilla will be using it for
...@@ -865,36 +1209,224 @@ CLASS="classname" ...@@ -865,36 +1209,224 @@ CLASS="classname"
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The version of the GD perl module you need is very closely tied
to the <TT
CLASS="classname"
>libgd</TT
> version installed on your system.
If you have a version 1.x of <TT
CLASS="classname"
>libgd</TT
> the 2.x
versions of the GD perl module won't work for you.
</P
></TD
></TR
></TABLE
></DIV
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GD/"
TARGET="_top"
>http://search.cpan.org/dist/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://stein.cshl.org/WWW/software/GD/"
TARGET="_top"
>http://stein.cshl.org/WWW/software/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN587" NAME="install-modules-chart-base"
></A ></A
>4.1.5.6. Chart::Base (optional)</H3 >4.1.3.13. Chart::Base (0.99c) [optional]</H3
><P ><P
>The Chart module provides Bugzilla with on-the-fly charting >The Chart module provides Bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been abilities. It can be installed in the usual fashion after it has been
fetched from CPAN. fetched from CPAN.
Note that earlier versions that 0.99c used GIFs, which are no longer Note that earlier versions that 0.99c used GIFs, which are no longer
supported by the latest versions of GD.</P supported by the latest versions of GD.</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Chart/"
TARGET="_top"
>http://search.cpan.org/dist/Chart/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H3 ><H3
CLASS="section" CLASS="section"
><A ><A
NAME="AEN590" NAME="install-modules-xml-parser"
></A ></A
>4.1.5.7. Template Toolkit</H3 >4.1.3.14. XML::Parser (any) [Optional]</H3
><P ><P
>When you install Template Toolkit, you'll get asked various >XML::Parser is used by the <TT
questions about features to enable. The defaults are fine, except CLASS="filename"
that it is recommended you use the high speed XS Stash of the Template >importxml.pl</TT
Toolkit, in order to achieve best performance. >
script. You only need it if you are going to be importing bugs (such as
for bug moving). XML::Parser requires that the
<TT
CLASS="classname"
>expat</TT
> library is already installed on your machine.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/XML-Parser/"
TARGET="_top"
>http://search.cpan.org/dist/XML-Parser/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
TARGET="_top"
>http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-gd-graph"
></A
>4.1.3.15. GD::Graph (any) [Optional]</H3
><P
>In addition to GD listed above, the reporting interface of Bugzilla
needs to have the GD::Graph module installed.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/Graph.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-gd-text-align"
></A
>4.1.3.16. GD::Text::Align (any) [Optional]</H3
><P
>GD::Text::Align, as the name implies, is used to draw aligned
strings of text. It is needed by the reporting interface.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-mime-parser"
></A
>4.1.3.17. MIME::Parser (any) [Optional]</H3
><P
>MIME::Parser is only needed if you want to use the e-mail interface
located in the <TT
CLASS="filename"
>contrib</TT
> directory.
</P </P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV ></DIV
></DIV ></DIV
><DIV ><DIV
...@@ -902,9 +1434,9 @@ CLASS="section" ...@@ -902,9 +1434,9 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="sbs-http" NAME="install-webserver"
></A ></A
>4.1.6. HTTP Server</H2 >4.1.4. HTTP Server</H2
><P ><P
>You have freedom of choice here, pretty much any web server that >You have freedom of choice here, pretty much any web server that
is capable of running <A is capable of running <A
...@@ -944,7 +1476,12 @@ VALIGN="TOP" ...@@ -944,7 +1476,12 @@ VALIGN="TOP"
>We strongly recommend Apache as the web server to use. The >We strongly recommend Apache as the web server to use. The
Bugzilla Guide installation instructions, in general, assume you are Bugzilla Guide installation instructions, in general, assume you are
using Apache. If you have got Bugzilla working using another webserver, using Apache. If you have got Bugzilla working using another webserver,
please share your experiences with us.</P please share your experiences with us by filing a bug in <A
HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&component=Documentation"
TARGET="_top"
>Bugzilla Documentation</A
>.
</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -955,9 +1492,9 @@ CLASS="section" ...@@ -955,9 +1492,9 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN600" NAME="install-bzfiles"
></A ></A
>4.1.7. Bugzilla</H2 >4.1.5. Bugzilla</H2
><P ><P
>You should untar the Bugzilla files into a directory that you're >You should untar the Bugzilla files into a directory that you're
willing to make writable by the default web server user (probably willing to make writable by the default web server user (probably
...@@ -1020,103 +1557,120 @@ CLASS="filename" ...@@ -1020,103 +1557,120 @@ CLASS="filename"
>checksetup.pl</TT >checksetup.pl</TT
> >
script, which locks down your installation.</P script, which locks down your installation.</P
><DIV
CLASS="caution"
><P
></P
><TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The default Bugzilla distribution is not designed to be placed
in a <TT
CLASS="filename"
>cgi-bin</TT
> directory (this
includes any directory which is configured using the
<TT
CLASS="option"
>ScriptAlias</TT
> directive of Apache). This will probably
change as part of
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top"
>bug
44659</A
>.
</P
></TD
></TR
></TABLE
></DIV
></DIV ></DIV
><DIV ><DIV
CLASS="section" CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN611" NAME="install-setupdatabase"
></A ></A
>4.1.8. Setting Up the MySQL Database</H2 >4.1.6. Setting Up the MySQL Database</H2
><P ><P
>After you've gotten all the software installed and working you're >After you've gotten all the software installed and working you're
ready to start preparing the database for its life as the back end to ready to start preparing the database for its life as the back end to
a high quality bug tracker.</P a high quality bug tracker.</P
><P ><P
>First, you'll want to fix MySQL permissions to allow access from >This first thing you'll want to do is make sure you've given the
Bugzilla. For the purpose of this Installation section, the Bugzilla
username will be
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"root"</SPAN
>, and will have minimal permissions. > user a password as suggested in
<A
HREF="security.html#security-mysql"
>Section 5.6.2</A
>. For clarity, these instructions will
assume that your MySQL user for Bugzilla will be <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
>,
the database will be called <SPAN
CLASS="QUOTE"
>"bugs_db"</SPAN
> and the password for
the <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
> user is <SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
>. You
should, of course, substitute the values you intend to use for your site.
</P </P
><DIV
CLASS="note"
><P ><P
>Begin by giving the MySQL root user a password. MySQL passwords are limited
to 16 characters.
<P
></P ></P
><TABLE ><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0" BORDER="0"
><TBODY
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>mysql -u root mysql</B
>
</TT
>
</TD
></TR
><TR ><TR
><TD ><TD
>&#13; <TT WIDTH="25"
CLASS="computeroutput" ALIGN="CENTER"
>&#13; <TT VALIGN="TOP"
CLASS="prompt" ><IMG
>mysql&#62;</TT SRC="../images/note.gif"
> HSPACE="5"
ALT="Note"></TD
<B
CLASS="command"
>UPDATE user SET Password=PASSWORD('&#60;new_password&#62;')
WHERE user='root';</B
>
</TT
>
</TD
></TR
><TR
><TD ><TD
>&#13; <TT ALIGN="LEFT"
CLASS="computeroutput" VALIGN="TOP"
>&#13; <TT ><P
CLASS="prompt" >Most people use <SPAN
>mysql&#62;</TT CLASS="QUOTE"
> >"bugs"</SPAN
> for both the user and
<B database name.
CLASS="command" </P
>FLUSH PRIVILEGES;</B ></TD
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P ></DIV
></P
>
From this point on, if you need to access MySQL as the MySQL root user,
you will need to use
<B
CLASS="command"
>mysql -u root -p</B
>
and enter &#60;new_password&#62;. Remember that MySQL user names have
nothing to do with Unix user names (login names).</P
><P ><P
>Next, we use an SQL <B >Next, we use an SQL <B
CLASS="command" CLASS="command"
...@@ -1124,19 +1678,18 @@ CLASS="command" ...@@ -1124,19 +1678,18 @@ CLASS="command"
> command to create a > command to create a
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
user, and grant sufficient permissions for checksetup.pl, which we'll user, and grant sufficient permissions for checksetup.pl, which we'll
use later, to work its magic. This also restricts the use later, to work its magic. This also restricts the
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
user to operations within a database called user to operations within a database called
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_db"</SPAN
>, and only allows the account to connect from >, and only allows the account to connect from
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
...@@ -1144,55 +1697,31 @@ CLASS="QUOTE" ...@@ -1144,55 +1697,31 @@ CLASS="QUOTE"
>. >.
Modify it to reflect your setup if you will be connecting from Modify it to reflect your setup if you will be connecting from
another machine or as a different user.</P another machine or as a different user.</P
><P
>Remember to set &#60;bugs_password&#62; to some unique password.
<P
></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
><TBODY BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
>&#13; <TT ><FONT
CLASS="computeroutput" COLOR="#000000"
>&#13; <TT ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt" CLASS="prompt"
>mysql&#62;</TT >mysql&#62;</TT
> > GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost
<B IDENTIFIED BY 'bugs_password';
CLASS="command" <TT
>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost
IDENTIFIED BY '&#60;bugs_password&#62;';</B
>
</TT
>
</TD
></TR
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt" CLASS="prompt"
>mysql&#62;</TT >mysql&#62;</TT
> > FLUSH PRIVILEGES;
</PRE
<B ></FONT
CLASS="command" ></TD
>FLUSH PRIVILEGES;</B
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P
></P
>
</P
><DIV ><DIV
CLASS="note" CLASS="note"
><P ><P
...@@ -1215,7 +1744,14 @@ ALIGN="LEFT" ...@@ -1215,7 +1744,14 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>If you are using MySQL 4, the bugs user also needs to be granted >If you are using MySQL 4, the bugs user also needs to be granted
the LOCK TABLES and CREATE TEMPORARY TABLES permissions. the <TT
CLASS="computeroutput"
>LOCK TABLES</TT
> and
<TT
CLASS="computeroutput"
>CREATE TEMPORARY TABLES</TT
> permissions.
</P </P
></TD ></TD
></TR ></TR
...@@ -1227,9 +1763,9 @@ CLASS="section" ...@@ -1227,9 +1763,9 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN649" NAME="AEN749"
></A ></A
>4.1.9. <TT >4.1.7. <TT
CLASS="filename" CLASS="filename"
>checksetup.pl</TT >checksetup.pl</TT
></H2 ></H2
...@@ -1238,10 +1774,11 @@ CLASS="filename" ...@@ -1238,10 +1774,11 @@ CLASS="filename"
<A <A
HREF="mailto:holgerschurig@nikocity.de" HREF="mailto:holgerschurig@nikocity.de"
TARGET="_top" TARGET="_top"
>Holger Schurig </A >Holger Schurig</A
> >
for writing this script!) for writing this script!)
This script is designed to make sure your MySQL database and other This script is designed to make sure your perl modules are the correct
version and your MySQL database and other
configuration options are consistent with the Bugzilla CGI files. configuration options are consistent with the Bugzilla CGI files.
It will make sure Bugzilla files and directories have reasonable It will make sure Bugzilla files and directories have reasonable
permissions, set up the permissions, set up the
...@@ -1250,35 +1787,28 @@ CLASS="filename" ...@@ -1250,35 +1787,28 @@ CLASS="filename"
>data</TT >data</TT
> >
directory, and create all the MySQL tables. directory, and create all the MySQL tables.
<P </P
></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
><TBODY BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR ><TR
><TD ><TD
>&#13; <TT ><FONT
CLASS="computeroutput" COLOR="#000000"
>&#13; <TT ><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt" CLASS="prompt"
>bash#</TT >bash#</TT
> > ./checksetup.pl
</PRE
<B ></FONT
CLASS="command" ></TD
>./checksetup.pl</B
>
</TT
>
</TD
></TR ></TR
></TBODY
></TABLE ></TABLE
><P ><P
></P >&#13; The first time you run it, it will create a file called
>
The first time you run it, it will create a file called
<TT <TT
CLASS="filename" CLASS="filename"
>localconfig</TT >localconfig</TT
...@@ -1306,7 +1836,7 @@ CLASS="QUOTE" ...@@ -1306,7 +1836,7 @@ CLASS="QUOTE"
>database name: >database name:
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_db"</SPAN
> >
if you're following these directions</P if you're following these directions</P
></LI ></LI
...@@ -1315,7 +1845,7 @@ CLASS="QUOTE" ...@@ -1315,7 +1845,7 @@ CLASS="QUOTE"
>MySQL username: >MySQL username:
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
if you're following these directions</P if you're following these directions</P
></LI ></LI
...@@ -1324,9 +1854,12 @@ CLASS="QUOTE" ...@@ -1324,9 +1854,12 @@ CLASS="QUOTE"
>Password for the >Password for the
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"bugs"</SPAN >"bugs_user"</SPAN
> >
MySQL account; (&#60;bugs_password&#62;) above</P MySQL account; (<SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
> above)</P
></LI ></LI
></OL ></OL
> >
...@@ -1380,9 +1913,9 @@ CLASS="section" ...@@ -1380,9 +1913,9 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN681" NAME="AEN780"
></A ></A
>4.1.10. Configuring Bugzilla</H2 >4.1.8. Configuring Bugzilla</H2
><P ><P
>&#13; You should run through the parameters on the Edit Parameters page >&#13; You should run through the parameters on the Edit Parameters page
(link in the footer) and set them all to appropriate values. (link in the footer) and set them all to appropriate values.
......
...@@ -85,7 +85,7 @@ CLASS="section" ...@@ -85,7 +85,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN977" NAME="AEN1076"
></A ></A
>4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2 >4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2
><P ><P
...@@ -110,7 +110,7 @@ CLASS="section" ...@@ -110,7 +110,7 @@ CLASS="section"
><H2 ><H2
CLASS="section" CLASS="section"
><A ><A
NAME="AEN982" NAME="AEN1081"
></A ></A
>4.5.2. DBD::Sponge::db prepare failed</H2 >4.5.2. DBD::Sponge::db prepare failed</H2
><P ><P
...@@ -266,7 +266,7 @@ CLASS="productname" ...@@ -266,7 +266,7 @@ CLASS="productname"
5.6.0. Many minor variations of this error have been reported. Examples 5.6.0. Many minor variations of this error have been reported. Examples
can be found in <A can be found in <A
HREF="troubleshooting.html#trouble-filetemp-errors" HREF="troubleshooting.html#trouble-filetemp-errors"
>Figure 4-1</A >Figure 4-2</A
>. >.
</P </P
><DIV ><DIV
...@@ -276,7 +276,7 @@ NAME="trouble-filetemp-errors" ...@@ -276,7 +276,7 @@ NAME="trouble-filetemp-errors"
></A ></A
><P ><P
><B ><B
>Figure 4-1. Other File::Temp error messages</B >Figure 4-2. Other File::Temp error messages</B
></P ></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
...@@ -307,7 +307,7 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. ...@@ -307,7 +307,7 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
or higher solved the problem for them. A less involved fix is to apply or higher solved the problem for them. A less involved fix is to apply
the patch in <A the patch in <A
HREF="troubleshooting.html#trouble-filetemp-patch" HREF="troubleshooting.html#trouble-filetemp-patch"
>Figure 4-2</A >Figure 4-3</A
>. The patch is also >. The patch is also
available as a <A available as a <A
HREF="../xml/filetemp.patch" HREF="../xml/filetemp.patch"
...@@ -322,7 +322,7 @@ NAME="trouble-filetemp-patch" ...@@ -322,7 +322,7 @@ NAME="trouble-filetemp-patch"
></A ></A
><P ><P
><B ><B
>Figure 4-2. Patch for File::Temp in Perl 5.6.0</B >Figure 4-3. Patch for File::Temp in Perl 5.6.0</B
></P ></P
><TABLE ><TABLE
BORDER="0" BORDER="0"
......
...@@ -122,7 +122,7 @@ HREF="hintsandtips.html" ...@@ -122,7 +122,7 @@ HREF="hintsandtips.html"
><DL ><DL
><DT ><DT
>3.2.1. <A >3.2.1. <A
HREF="hintsandtips.html#AEN370" HREF="hintsandtips.html#AEN371"
>Autolinkification</A >Autolinkification</A
></DT ></DT
><DT ><DT
...@@ -142,7 +142,7 @@ HREF="hintsandtips.html#attachments" ...@@ -142,7 +142,7 @@ HREF="hintsandtips.html#attachments"
></DT ></DT
><DT ><DT
>3.2.5. <A >3.2.5. <A
HREF="hintsandtips.html#AEN399" HREF="hintsandtips.html#AEN400"
>Filing Bugs</A >Filing Bugs</A
></DT ></DT
></DL ></DL
......
...@@ -84,12 +84,10 @@ CLASS="QUOTE" ...@@ -84,12 +84,10 @@ CLASS="QUOTE"
> >
functionality.</P functionality.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://www.perforce.com/perforce/technotes/note052.html" HREF="http://www.perforce.com/perforce/technotes/note052.html"
TARGET="_top" TARGET="_top"
>&#13; http://www.perforce.com/perforce/technotes/note052.html >http://www.perforce.com/perforce/technotes/note052.html</A
</A
> >
</P </P
><P ><P
......
...@@ -88,16 +88,15 @@ NAME="variant-redhat" ...@@ -88,16 +88,15 @@ NAME="variant-redhat"
<A <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top" TARGET="_top"
>Bug >Bug 98304</A
98304</A >
> exists to track this integration. exists to track this integration.
</P </P
><P ><P
>URL: >URL: <A
<A
HREF="http://bugzilla.redhat.com/bugzilla/" HREF="http://bugzilla.redhat.com/bugzilla/"
TARGET="_top" TARGET="_top"
>&#13; http://bugzilla.redhat.com/bugzilla/</A >http://bugzilla.redhat.com/bugzilla/</A
> >
</P </P
><P ><P
......
...@@ -80,11 +80,10 @@ NAME="variant-scarab" ...@@ -80,11 +80,10 @@ NAME="variant-scarab"
>Scarab is a new open source bug-tracking system built using Java >Scarab is a new open source bug-tracking system built using Java
Servlet technology. It is currently at version 1.0 beta 13.</P Servlet technology. It is currently at version 1.0 beta 13.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://scarab.tigris.org/" HREF="http://scarab.tigris.org/"
TARGET="_top" TARGET="_top"
>http://scarab.tigris.org</A >http://scarab.tigris.org/</A
> >
</P </P
><P ><P
......
...@@ -81,11 +81,10 @@ NAME="variant-sourceforge" ...@@ -81,11 +81,10 @@ NAME="variant-sourceforge"
distributed free software and open source projects over the Internet. distributed free software and open source projects over the Internet.
It has a built-in bug tracker, but it's not highly thought of.</P It has a built-in bug tracker, but it's not highly thought of.</P
><P ><P
>URL: >URL: <A
<A
HREF="http://www.sourceforge.net" HREF="http://www.sourceforge.net"
TARGET="_top" TARGET="_top"
>&#13; http://www.sourceforge.net</A >http://www.sourceforge.net</A
> >
</P </P
><P ><P
......
...@@ -119,8 +119,8 @@ HREF="variant-sourceforge.html" ...@@ -119,8 +119,8 @@ HREF="variant-sourceforge.html"
<A <A
HREF="http://linas.org/linux/pm.html" HREF="http://linas.org/linux/pm.html"
TARGET="_top" TARGET="_top"
>&#13; http://linas.org/linux/pm.html</A >http://linas.org/linux/pm.html</A
> >.
</P </P
></DIV ></DIV
><DIV ><DIV
......
...@@ -106,7 +106,7 @@ TYPE="1" ...@@ -106,7 +106,7 @@ TYPE="1"
><P ><P
><EM ><EM
>Maximum Votes a person can put on a single >Maximum Votes a person can put on a single
bug"</EM bug</EM
>: >:
It should probably be some number lower than the It should probably be some number lower than the
"Maximum votes per person". Don't set this field to "0" if "Maximum votes per person". Don't set this field to "0" if
......
...@@ -102,11 +102,13 @@ The Bugzilla Team ...@@ -102,11 +102,13 @@ The Bugzilla Team
Glossary Glossary
List of Figures List of Figures
4-1. Other File::Temp error messages 4-1. Set Max Packet Size in MySQL
4-2. Patch for File::Temp in Perl 5.6.0 4-2. Other File::Temp error messages
4-3. Patch for File::Temp in Perl 5.6.0
List of Examples List of Examples
4-1. .htaccess files for Apache 4-1. Installing perl modules with CPAN
4-2. .htaccess files for Apache
5-1. Upgrading using CVS 5-1. Upgrading using CVS
5-2. Upgrading using the tarball 5-2. Upgrading using the tarball
5-3. Upgrading using patches 5-3. Upgrading using patches
...@@ -178,16 +180,16 @@ Chapter 1. About This Guide ...@@ -178,16 +180,16 @@ Chapter 1. About This Guide
of these mirrors to make sure you are reading an up-to-date version of of these mirrors to make sure you are reading an up-to-date version of
the Guide. the Guide.
The newest version of this guide can always be found at bugzilla.org; The newest version of this guide can always be found at
including documentation for past releases and the current development http://www.bugzilla.org; including documentation for past releases and
version. the current development version.
The documentation for the most recent stable release of Bugzilla can The documentation for the most recent stable release of Bugzilla can
also be found at The Linux Documentation Project. also be found at The Linux Documentation Project.
The latest version of this document can always be checked out via CVS. The latest version of this document can always be checked out via CVS.
Please follow the instructions available at the Mozilla CVS page, and Please follow the Mozilla CVS instructions and check out the
check out the mozilla/webtools/bugzilla/docs/ subtree. mozilla/webtools/bugzilla/docs/ subtree.
The Bugzilla Guide is currently only available in English. If you The Bugzilla Guide is currently only available in English. If you
would like to volunteer to translate it, please contact Dave Miller. would like to volunteer to translate it, please contact Dave Miller.
...@@ -234,7 +236,7 @@ Chapter 1. About This Guide ...@@ -234,7 +236,7 @@ Chapter 1. About This Guide
Thanks also go to the following people for significant contributions Thanks also go to the following people for significant contributions
to this documentation (in alphabetical order): Andrew Pearson, Ben to this documentation (in alphabetical order): Andrew Pearson, Ben
FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen,
Ron Teitelbaum, Spencer Smith, Zach Liption . Martin Wulffeld, Ron Teitelbaum, Spencer Smith, Zach Liption .
_________________________________________________________________ _________________________________________________________________
1.5. Document Conventions 1.5. Document Conventions
...@@ -374,7 +376,7 @@ Chapter 3. Using Bugzilla ...@@ -374,7 +376,7 @@ Chapter 3. Using Bugzilla
Consult with the administrator responsible for your installation of Consult with the administrator responsible for your installation of
Bugzilla for the URL you should use to access it. If you're Bugzilla for the URL you should use to access it. If you're
test-driving Bugzilla, use this URL: test-driving Bugzilla, use this URL:
http://landfill.bugzilla.org/bugzilla-tip/ http://landfill.bugzilla.org/bugzilla-tip/.
1. Click the "Open a new Bugzilla account" link, enter your email 1. Click the "Open a new Bugzilla account" link, enter your email
address and, optionally, your name in the spaces provided, then address and, optionally, your name in the spaces provided, then
...@@ -472,7 +474,8 @@ Chapter 3. Using Bugzilla ...@@ -472,7 +474,8 @@ Chapter 3. Using Bugzilla
The Bugzilla Search page is is the interface where you can find any The Bugzilla Search page is is the interface where you can find any
bug report, comment, or patch currently in the Bugzilla system. You bug report, comment, or patch currently in the Bugzilla system. You
can play with it here: landfill.bugzilla.org/bugzilla-tip/query.cgi . can play with it here:
http://landfill.bugzilla.org/bugzilla-tip/query.cgi.
The Search page has controls for selecting different possible values The Search page has controls for selecting different possible values
for all of the fields in a bug, as described above. Once you've for all of the fields in a bug, as described above. Once you've
...@@ -673,64 +676,50 @@ Chapter 4. Installation ...@@ -673,64 +676,50 @@ Chapter 4. Installation
4.1. Step-by-step Install 4.1. Step-by-step Install
4.1.1. Introduction Bugzilla has been successfully installed under many different
operating systems including almost all Unix clones and Microsoft
Bugzilla has been successfully installed under Solaris, Linux, and Windows. Many operating systems have utilities that make installation
Win32. Win32 is not yet officially supported, but many people have got easier or quirks that make it harder. We have tried to collect that
it working fine. Please see Section 4.3.1 for further advice on information in Section 4.3, so be sure to check out that section
getting Bugzilla to work on Microsoft Windows. before you start your installation.
_________________________________________________________________
4.1.2. Package List
Note Note
If you are running the very most recent version of Perl and MySQL Windows is one of those operating systems that has many quirks and is
(both the executables and development libraries) on your system, you not yet officially supported by the Bugzilla team. If you wish to
can skip these manual installation steps for the Perl modules by using install Bugzilla on Windows, be sure to see Section 4.3.1.
Bundle::Bugzilla; see Using Bundle::Bugzilla instead of manually
installing Perl modules.
The software packages necessary for the proper running of Bugzilla
(with download links) are:
1. MySQL database server (3.23.41 or greater)
2. Perl (5.6, 5.6.1 is recommended if you wish to use
Bundle::Bugzilla)
3. Perl Modules (minimum version):
a. Template (v2.08)
b. File::Temp (1.804) (Prerequisite for Template)
c. AppConfig (1.52)
d. Text::Wrap (2001.0131)
e. File::Spec (0.82)
f. Data::Dumper (any)
g. DBD::mysql (2.1010)
h. DBI (1.32)
i. Date::Parse (2.21)
j. CGI (2.88)
and, optionally:
a. GD (1.20) for bug charting
b. GD::Graph (any) for bug charting
c. GD::Text::Align (any) for bug charting
d. Chart::Base (0.99c) for bug charting
e. XML::Parser (any) for the XML interface
f. MIME::Parser (any) for the email interface
4. The web server of your choice. Apache is highly recommended.
Warning Warning
It is a good idea, while installing Bugzilla, to ensure that there is While installing Bugzilla, it is a good idea to ensure that there is
some kind of firewall between you and the rest of the Internet, some kind of firewall between you and the rest of the Internet as your
because your machine may be insecure for periods during the install. machine may be insecure for periods during the install. Many
Many installation steps require an active Internet connection to installation steps require an active Internet connection to complete,
complete, but you must take care to ensure that at no point is your but you must take care to ensure that at no point is your machine
machine vulnerable to an attack. vulnerable to an attack.
This guide assumes that you already have your operating system
installed, network configured, and have administrative access to the
shell on the machine you are installing Bugzilla onto. It is possible
to install and run Bugzilla without administrative access, but you
have to either make sure all the required software is installed or get
somebody with administrative access to install it for you.
The listing below is a basic step-by-step list. More information can
be found in the sections below. Minimum versions will be included in
parenthesis where appropriate.
1. Install MySQL (3.23.41)
2. Install Perl (5.6)
3. Install Perl Modules
4. Install a Webserver
5. Put Bugzilla in the Webspace
6. Setup the MySQL Database
_________________________________________________________________ _________________________________________________________________
4.1.3. MySQL 4.1.1. MySQL
Visit the MySQL homepage at www.mysql.com to grab and install the Visit the MySQL homepage at http://www.mysql.com to grab and install
latest stable release of the server. the latest stable release of the server.
Note Note
...@@ -740,71 +729,68 @@ Chapter 4. Installation ...@@ -740,71 +729,68 @@ Chapter 4. Installation
directory as an option to configure if you build MySQL from source directory as an option to configure if you build MySQL from source
yourself. yourself.
If you install from something other than an RPM or Debian package, you If you install from something other than a packaging/installation
will need to add mysqld to your init scripts so the server daemon will system (such as .rpm, .dep, .exe, or .msi) you will need to configure
come back up whenever your machine reboots. Further discussion of UNIX your system so the MySQL server daemon will come back up whenever your
init sequences are beyond the scope of this guide. machine reboots.
Change your init script to start mysqld with the ability to accept If you wish to have attachments larger than 64K, you will have to
large packets. By default, mysqld only accepts packets up to 64K long. configure MySQL to accept large packets. This is done by adding the
This limits the size of attachments you may put on bugs. If you add -O text in Figure 4-1 to your my.conf file. There is also a parameter in
max_allowed_packet=1M to the command that starts mysqld (or Bugzilla for setting the maximum allowable attachment size. You should
safe_mysqld), then you will be able to have attachments up to about 1 set this value to be slightly larger than that parameter.
megabyte. There is a Bugzilla parameter for maximum attachment size;
you should configure it to match the value you choose here. Figure 4-1. Set Max Packet Size in MySQL
[mysqld]
If you plan on running Bugzilla and MySQL on the same machine, # Allow packets up to 1M
consider using the --skip-networking option in the init script. This set-variable = max_allowed_packet=1M
enhances security by preventing network access to MySQL.
If you are running Bugzilla and MySQL on the same machine, you may
also wish to utilize the skip-networking option as mentioned in
Section 5.6.2 for the added security.
_________________________________________________________________ _________________________________________________________________
4.1.4. Perl 4.1.2. Perl
Any machine that doesn't have Perl on it is a sad machine indeed. Perl Any machine that doesn't have Perl on it is a sad machine indeed. Perl
can be got in source form from perl.com for the rare *nix systems can be got in source form from http://www.perl.com. There are also
which don't have it. Although Bugzilla runs with perl 5.6, it's a good binary versions available for many platforms, most of which are linked
to from perl.com. Although Bugzilla runs with perl 5.6, it's a good
idea to be up to the very latest version if you can when running idea to be up to the very latest version if you can when running
Bugzilla. As of this writing, that is Perl version 5.8. Bugzilla. As of this writing, that is Perl version 5.8.
Tip
You can skip the following Perl module installation steps by
installing Bundle::Bugzilla from CPAN, which installs all required
modules for you.
bash# perl -MCPAN -e 'install "Bundle::Bugzilla"'
Bundle::Bugzilla doesn't include GD, Chart::Base, or MIME::Parser,
which are not essential to a basic Bugzilla install. If installing
this bundle fails, you should install each module individually to
isolate the problem.
_________________________________________________________________ _________________________________________________________________
4.1.5. Perl Modules 4.1.3. Perl Modules
All Perl modules can be found on the Comprehensive Perl Archive Perl modules can be found using CPAN on Unix based systems or PPM on
Network (CPAN). The CPAN servers have a real tendency to bog down, so Win32. The root servers have a real tendency to bog down, so please
please use mirrors. use mirrors.
Quality, general Perl module installation instructions can be found on Good instuctions can be found for using each of these services on
the CPAN website, but the easy thing to do is to just use the CPAN their respective websites. The basics can be found in Example 4-1 for
shell which does all the hard work for you. To use the CPAN shell to CPAN and Section 4.3.1.2 for PPM.
install a module:
bash# perl -MCPAN -e 'install "<modulename>"' Example 4-1. Installing perl modules with CPAN
To do it the hard way: The easy way:
bash# perl -MCPAN -e 'install "<modulename>"'
Untar the module tarball -- it should create its own directory Or the hard way:
bash# tar xzvf <module>.tar.gz (1)
bash# cd <module> (2)
bash# perl Makefile.PL
bash# make
bash# make test
bash# make install
CD to the directory just created, and enter the following commands: (1)
This assumes that you've already downloaded the <module>.tar.gz
1. bash# perl Makefile.PL to the current working directory.
2. bash# make (2)
3. bash# make test The process of untaring the module as defined in (1) will
4. bash# make install create the <module> directory.
Warning Tip
Many people complain that Perl modules will not install for them. Most Many people complain that Perl modules will not install for them. Most
times, the error messages complain that they are missing a file in times, the error messages complain that they are missing a file in
...@@ -815,25 +801,115 @@ Chapter 4. Installation ...@@ -815,25 +801,115 @@ Chapter 4. Installation
permissions issues; if you are the local UNIX sysadmin, please consult permissions issues; if you are the local UNIX sysadmin, please consult
the newsgroup/mailing list for further assistance or hire someone to the newsgroup/mailing list for further assistance or hire someone to
help you out. help you out.
Perl Modules (minimum version):
1. Bundle::Bugzilla (Will allow you to skip the rest)
2. AppConfig (1.52)
3. CGI (2.88)
4. Data::Dumper (any)
5. Date::Format (2.21)
6. DBI (1.32)
7. DBD::mysql (2.1010)
8. File::Spec (0.82)
9. File::Temp (any)
10. Template Toolkit (2.08)
11. Text::Wrap (2001.0131)
and, optionally:
1. GD (1.20) for bug charting
2. Chart::Base (0.99c) for bug charting
3. XML::Parser (any) for the XML interface
4. GD::Graph (any) for bug charting
5. GD::Text::Align (any) for bug charting
6. MIME::Parser (any) for the email interface
_________________________________________________________________ _________________________________________________________________
4.1.5.1. DBI 4.1.3.1. Bundle::Bugzilla
The DBI module is a generic Perl module used the MySQL-related If you are running at least perl 5.6.1, you can save yourself a lot of
modules. As long as your Perl installation was done correctly the DBI time by using Bundle::Bugzilla. This bundle contains every module
module should be a breeze. It's a mixed Perl/C module, but Perl's required to get Bugzilla running. It does not include GD and friends,
MakeMaker system simplifies the C compilation greatly. but these are not required for a base install and can always be added
later if the need arises.
Assuming your perl was installed with CPAN (most unix installations
are), using Bundle::Bugzilla is really easy. Simply follow along with
the commands below.
bash# perl -MCPAN -eshell (1)
cpan shell -- CPAN exploration and modules installation (v1.63)
ReadLine support enabled
cpan>
(1)
At this point, unless you've used CPAN on this machine before,
you'll have to go through a series of configuration steps.
_________________________________________________________________
4.1.3.2. AppConfig (1.52)
Dependency for Template Toolkit. We probably don't need to
specifically check for it anymore.
_________________________________________________________________
4.1.3.3. CGI (2.88)
The CGI module parses form elements and cookies and does many other
usefule things. It come as a part of recent perl distributions, but
Bugzilla needs a fairly new version.
CPAN Download Page: http://search.cpan.org/dist/CGI.pm/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/CGI.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/CGI.html
_________________________________________________________________ _________________________________________________________________
4.1.5.2. Data::Dumper 4.1.3.4. Data::Dumper (any)
The Data::Dumper module provides data structure persistence for Perl The Data::Dumper module provides data structure persistence for Perl
(similar to Java's serialization). It comes with later sub-releases of (similar to Java's serialization). It comes with later sub-releases of
Perl 5.004, but a re-installation just to be sure it's available won't Perl 5.004, but a re-installation just to be sure it's available won't
hurt anything. hurt anything.
CPAN Download Page: http://search.cpan.org/dist/Data-Dumper/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/Data-Dumper.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/Data/Dumpe
r.html
_________________________________________________________________ _________________________________________________________________
4.1.5.3. MySQL-related modules 4.1.3.5. TimeDate modules (2.21)
Many of the more common date/time/calendar related Perl modules have
been grouped into a bundle similar to the MySQL modules bundle. This
bundle is stored on the CPAN under the name TimeDate. The component
module we're most interested in is the Date::Format module, but
installing all of them is probably a good idea anyway.
CPAN Download Page: http://search.cpan.org/dist/TimeDate/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/TimeDate.zip
Documentation: http://search.cpan.org/dist/TimeDate/lib/Date/F
ormat.pm
_________________________________________________________________
4.1.3.6. DBI (1.32)
The DBI module is a generic Perl module used the MySQL-related
modules. As long as your Perl installation was done correctly the DBI
module should be a breeze. It's a mixed Perl/C module, but Perl's
MakeMaker system simplifies the C compilation greatly.
CPAN Download Page: http://search.cpan.org/dist/DBI/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/DBI.zip
Documentation: http://dbi.perl.org/doc/
_________________________________________________________________
4.1.3.7. MySQL-related modules
The Perl/MySQL interface requires a few mutually-dependent Perl The Perl/MySQL interface requires a few mutually-dependent Perl
modules. These modules are grouped together into the the modules. These modules are grouped together into the the
...@@ -850,21 +926,66 @@ Chapter 4. Installation ...@@ -850,21 +926,66 @@ Chapter 4. Installation
A host of 'localhost' should be fine and a testing user of 'test' with A host of 'localhost' should be fine and a testing user of 'test' with
a null password should find itself with sufficient access to run tests a null password should find itself with sufficient access to run tests
on the 'test' database which MySQL created upon installation. on the 'test' database which MySQL created upon installation.
CPAN Download Page: http://search.cpan.org/dist/DBD-mysql/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/DBD-Mysql.zip
Documentation: http://search.cpan.org/dist/DBD-mysql/lib/DBD/m
ysql.pod
_________________________________________________________________ _________________________________________________________________
4.1.5.4. TimeDate modules 4.1.3.8. File::Spec (0.82)
Many of the more common date/time/calendar related Perl modules have File::Spec is a perl module that allows file operations, such as
been grouped into a bundle similar to the MySQL modules bundle. This generating full path names, to work cross platform.
bundle is stored on the CPAN under the name TimeDate. The component
module we're most interested in is the Date::Format module, but CPAN Download Page: http://search.cpan.org/dist/File-Spec/
installing all of them is probably a good idea anyway. PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/File-Spec.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Spec.
html
_________________________________________________________________
4.1.3.9. File::Temp (any)
File::Temp is used to generate a temporary filename that is guaranteed
to be unique. It comes as a standard part of perl
CPAN Download Page: http://search.cpan.org/dist/File-Spec/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/File-Spec.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Temp.
html
_________________________________________________________________
4.1.3.10. Template Toolkit (2.08)
When you install Template Toolkit, you'll get asked various questions
about features to enable. The defaults are fine, except that it is
recommended you use the high speed XS Stash of the Template Toolkit,
in order to achieve best performance.
CPAN Download Page: http://search.cpan.org/dist/Template-Toolk
it/
PPM Download Link: http://openinteract.sourceforge.net/ppmpack
ages/5.6/Template-Toolkit.tar.gz
Documentation: http://www.template-toolkit.org/docs.html
_________________________________________________________________
4.1.3.11. Text::Wrap (2001.0131)
Text::Wrap is designed to proved intelligent text wrapping.
CPAN Download Page: http://search.cpan.org/dist/Text-Tabs+Wrap
/
Documentation: http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.
html
_________________________________________________________________ _________________________________________________________________
4.1.5.5. GD (optional) 4.1.3.12. GD (1.20) [optional]
The GD library was written by Thomas Boutell a long while ago to The GD library was written by Thomas Boutell a long while ago to
programatically generate images in C. Since then it's become the programmatically generate images in C. Since then it's become the
defacto standard for programmatic image construction. The Perl defacto standard for programmatic image construction. The Perl
bindings to it found in the GD library are used on millions of web bindings to it found in the GD library are used on millions of web
pages to generate graphs on the fly. That's what Bugzilla will be pages to generate graphs on the fly. That's what Bugzilla will be
...@@ -877,25 +998,79 @@ Chapter 4. Installation ...@@ -877,25 +998,79 @@ Chapter 4. Installation
be installed on your system, including libpng and libgd. The full be installed on your system, including libpng and libgd. The full
requirements are listed in the Perl GD library README. If compiling GD requirements are listed in the Perl GD library README. If compiling GD
fails, it's probably because you're missing a required library. fails, it's probably because you're missing a required library.
Tip
The version of the GD perl module you need is very closely tied to the
libgd version installed on your system. If you have a version 1.x of
libgd the 2.x versions of the GD perl module won't work for you.
CPAN Download Page: http://search.cpan.org/dist/GD/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GD.zip
Documentation: http://stein.cshl.org/WWW/software/GD/
_________________________________________________________________ _________________________________________________________________
4.1.5.6. Chart::Base (optional) 4.1.3.13. Chart::Base (0.99c) [optional]
The Chart module provides Bugzilla with on-the-fly charting abilities. The Chart module provides Bugzilla with on-the-fly charting abilities.
It can be installed in the usual fashion after it has been fetched It can be installed in the usual fashion after it has been fetched
from CPAN. Note that earlier versions that 0.99c used GIFs, which are from CPAN. Note that earlier versions that 0.99c used GIFs, which are
no longer supported by the latest versions of GD. no longer supported by the latest versions of GD.
CPAN Download Page: http://search.cpan.org/dist/Chart/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/Chart.zip
_________________________________________________________________ _________________________________________________________________
4.1.5.7. Template Toolkit 4.1.3.14. XML::Parser (any) [Optional]
When you install Template Toolkit, you'll get asked various questions XML::Parser is used by the importxml.pl script. You only need it if
about features to enable. The defaults are fine, except that it is you are going to be importing bugs (such as for bug moving).
recommended you use the high speed XS Stash of the Template Toolkit, XML::Parser requires that the expat library is already installed on
in order to achieve best performance. your machine.
CPAN Download Page: http://search.cpan.org/dist/XML-Parser/
Documentation: http://www.perldoc.com/perl5.6.1/lib/XML/Parser
.html
_________________________________________________________________
4.1.3.15. GD::Graph (any) [Optional]
In addition to GD listed above, the reporting interface of Bugzilla
needs to have the GD::Graph module installed.
CPAN Download Page: http://search.cpan.org/dist/GDGraph/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GDGraph.zip
Documentation: http://search.cpan.org/dist/GDGraph/Graph.pm
_________________________________________________________________ _________________________________________________________________
4.1.6. HTTP Server 4.1.3.16. GD::Text::Align (any) [Optional]
GD::Text::Align, as the name implies, is used to draw aligned strings
of text. It is needed by the reporting interface.
CPAN Download Page: http://search.cpan.org/dist/GDTextUtil/
PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GDTextUtil.zip
Documentation: http://search.cpan.org/dist/GDTextUtil/Text/Ali
gn.pm
_________________________________________________________________
4.1.3.17. MIME::Parser (any) [Optional]
MIME::Parser is only needed if you want to use the e-mail interface
located in the contrib directory.
CPAN Download Page: http://search.cpan.org/dist/MIME-tools/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/MIME-tools.zip
Documentation: http://search.cpan.org/dist/MIME-tools/lib/MIME
/Parser.pm
_________________________________________________________________
4.1.4. HTTP Server
You have freedom of choice here, pretty much any web server that is You have freedom of choice here, pretty much any web server that is
capable of running CGI scripts will work. Section 4.4 has more capable of running CGI scripts will work. Section 4.4 has more
...@@ -906,10 +1081,11 @@ Chapter 4. Installation ...@@ -906,10 +1081,11 @@ Chapter 4. Installation
We strongly recommend Apache as the web server to use. The Bugzilla We strongly recommend Apache as the web server to use. The Bugzilla
Guide installation instructions, in general, assume you are using Guide installation instructions, in general, assume you are using
Apache. If you have got Bugzilla working using another webserver, Apache. If you have got Bugzilla working using another webserver,
please share your experiences with us. please share your experiences with us by filing a bug in Bugzilla
Documentation.
_________________________________________________________________ _________________________________________________________________
4.1.7. Bugzilla 4.1.5. Bugzilla
You should untar the Bugzilla files into a directory that you're You should untar the Bugzilla files into a directory that you're
willing to make writable by the default web server user (probably willing to make writable by the default web server user (probably
...@@ -928,44 +1104,42 @@ Chapter 4. Installation ...@@ -928,44 +1104,42 @@ Chapter 4. Installation
directory writable by your webserver's user. This is a temporary step directory writable by your webserver's user. This is a temporary step
until you run the post-install checksetup.pl script, which locks down until you run the post-install checksetup.pl script, which locks down
your installation. your installation.
Caution
The default Bugzilla distribution is not designed to be placed in a
cgi-bin directory (this includes any directory which is configured
using the ScriptAlias directive of Apache). This will probably change
as part of bug 44659.
_________________________________________________________________ _________________________________________________________________
4.1.8. Setting Up the MySQL Database 4.1.6. Setting Up the MySQL Database
After you've gotten all the software installed and working you're After you've gotten all the software installed and working you're
ready to start preparing the database for its life as the back end to ready to start preparing the database for its life as the back end to
a high quality bug tracker. a high quality bug tracker.
First, you'll want to fix MySQL permissions to allow access from This first thing you'll want to do is make sure you've given the
Bugzilla. For the purpose of this Installation section, the Bugzilla "root" user a password as suggested in Section 5.6.2. For clarity,
username will be "bugs", and will have minimal permissions. these instructions will assume that your MySQL user for Bugzilla will
be "bugs_user", the database will be called "bugs_db" and the password
Begin by giving the MySQL root user a password. MySQL passwords are for the "bugs_user" user is "bugs_password". You should, of course,
limited to 16 characters. substitute the values you intend to use for your site.
bash# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('<new_password>') WHERE
user='root';
mysql> FLUSH PRIVILEGES;
From this point on, if you need to access MySQL as the MySQL root Note
user, you will need to use mysql -u root -p and enter <new_password>.
Remember that MySQL user names have nothing to do with Unix user names
(login names).
Next, we use an SQL GRANT command to create a "bugs" user, and grant
sufficient permissions for checksetup.pl, which we'll use later, to
work its magic. This also restricts the "bugs" user to operations
within a database called "bugs", and only allows the account to
connect from "localhost". Modify it to reflect your setup if you will
be connecting from another machine or as a different user.
Remember to set <bugs_password> to some unique password.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, Most people use "bugs" for both the user and database name.
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
'<bugs_password>'; Next, we use an SQL GRANT command to create a "bugs_user" user, and
mysql> FLUSH PRIVILEGES; grant sufficient permissions for checksetup.pl, which we'll use later,
to work its magic. This also restricts the "bugs_user" user to
operations within a database called "bugs_db", and only allows the
account to connect from "localhost". Modify it to reflect your setup
if you will be connecting from another machine or as a different user.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost
IDENTIFIED BY 'bugs_password';
mysql> FLUSH PRIVILEGES;
Note Note
...@@ -973,16 +1147,16 @@ Chapter 4. Installation ...@@ -973,16 +1147,16 @@ Chapter 4. Installation
LOCK TABLES and CREATE TEMPORARY TABLES permissions. LOCK TABLES and CREATE TEMPORARY TABLES permissions.
_________________________________________________________________ _________________________________________________________________
4.1.9. checksetup.pl 4.1.7. checksetup.pl
Next, run the magic checksetup.pl script. (Many thanks to Holger Next, run the magic checksetup.pl script. (Many thanks to Holger
Schurig for writing this script!) This script is designed to make sure Schurig for writing this script!) This script is designed to make sure
your MySQL database and other configuration options are consistent your perl modules are the correct version and your MySQL database and
with the Bugzilla CGI files. It will make sure Bugzilla files and other configuration options are consistent with the Bugzilla CGI
directories have reasonable permissions, set up the data directory, files. It will make sure Bugzilla files and directories have
and create all the MySQL tables. reasonable permissions, set up the data directory, and create all the
MySQL tables.
bash# ./checksetup.pl bash# ./checksetup.pl
The first time you run it, it will create a file called localconfig. The first time you run it, it will create a file called localconfig.
...@@ -992,9 +1166,10 @@ Chapter 4. Installation ...@@ -992,9 +1166,10 @@ Chapter 4. Installation
The connection settings include: The connection settings include:
1. server's host: just use "localhost" if the MySQL server is local 1. server's host: just use "localhost" if the MySQL server is local
2. database name: "bugs" if you're following these directions 2. database name: "bugs_db" if you're following these directions
3. MySQL username: "bugs" if you're following these directions 3. MySQL username: "bugs_user" if you're following these directions
4. Password for the "bugs" MySQL account; (<bugs_password>) above 4. Password for the "bugs_user" MySQL account; ("bugs_password"
above)
Once you are happy with the settings, su to the user your web server Once you are happy with the settings, su to the user your web server
runs as, and re-run checksetup.pl. (Note: on some security-conscious runs as, and re-run checksetup.pl. (Note: on some security-conscious
...@@ -1010,7 +1185,7 @@ Chapter 4. Installation ...@@ -1010,7 +1185,7 @@ Chapter 4. Installation
Bugzilla. Bugzilla.
_________________________________________________________________ _________________________________________________________________
4.1.10. Configuring Bugzilla 4.1.8. Configuring Bugzilla
You should run through the parameters on the Edit Parameters page You should run through the parameters on the Edit Parameters page
(link in the footer) and set them all to appropriate values. They key (link in the footer) and set them all to appropriate values. They key
...@@ -1122,9 +1297,8 @@ Chapter 4. Installation ...@@ -1122,9 +1297,8 @@ Chapter 4. Installation
servers available, this is "mail", but you may need to change this. servers available, this is "mail", but you may need to change this.
You can also try using OpenLDAP with Bugzilla, using any of a number You can also try using OpenLDAP with Bugzilla, using any of a number
of administration tools. You should apply the patch attached this bug: of administration tools. You should apply the patch attached to bug
http://bugzilla.mozilla.org/show_bug.cgi?id=158630, then set the 158630 , then set the following object classes for your users:
following object classes for your users:
1. objectClass: person 1. objectClass: person
2. objectClass: organizationalPerson 2. objectClass: organizationalPerson
...@@ -1191,11 +1365,11 @@ set=ISO-8859-1/i" *.cgi *.pl ...@@ -1191,11 +1365,11 @@ set=ISO-8859-1/i" *.cgi *.pl
speeds for other users. If your Bugzilla installation is experiencing speeds for other users. If your Bugzilla installation is experiencing
this problem , you may install the Apache module mod_throttle which this problem , you may install the Apache module mod_throttle which
can limit connections by ip-address. You may download this module at can limit connections by ip-address. You may download this module at
http://www.snert.com/Software/mod_throttle/ Follow the instructions to http://www.snert.com/Software/mod_throttle/. Follow the instructions
install into your Apache install. This module only functions with the to install into your Apache install. This module only functions with
Apache web server! You may use the ThrottleClientIP command provided the Apache web server! You may use the ThrottleClientIP command
by this module to accomplish this goal. See the Module Instructions provided by this module to accomplish this goal. See the Module
for more information. Instructions for more information.
_________________________________________________________________ _________________________________________________________________
4.3. OS Specific Installation Notes 4.3. OS Specific Installation Notes
...@@ -1237,7 +1411,7 @@ set=ISO-8859-1/i" *.cgi *.pl ...@@ -1237,7 +1411,7 @@ set=ISO-8859-1/i" *.cgi *.pl
4.3.1.2. Perl Modules on Win32 4.3.1.2. Perl Modules on Win32
Bugzilla on Windows requires the same perl modules found in Section Bugzilla on Windows requires the same perl modules found in Section
4.1.2. The main difference is that windows uses ppm instead of CPAN. 4.1.3. The main difference is that windows uses PPM instead of CPAN.
C:\perl> ppm <module name> C:\perl> ppm <module name>
Note Note
...@@ -1369,7 +1543,7 @@ bash# urpmi apache-modules ...@@ -1369,7 +1543,7 @@ bash# urpmi apache-modules
Bugzilla. You will have to make sure that Apache is properly Bugzilla. You will have to make sure that Apache is properly
configured to run the Bugzilla CGI scripts. You also need to make sure configured to run the Bugzilla CGI scripts. You also need to make sure
that the .htaccess files created by ./checksetup.pl (shown in Example that the .htaccess files created by ./checksetup.pl (shown in Example
4-1 for the curious) are allowed to override Apache's normal access 4-2 for the curious) are allowed to override Apache's normal access
permissions or else important password information may be exposed to permissions or else important password information may be exposed to
the Internet. the Internet.
...@@ -1396,7 +1570,7 @@ AllowOverride Limit ...@@ -1396,7 +1570,7 @@ AllowOverride Limit
For more information on Apache and its directives, see the glossary For more information on Apache and its directives, see the glossary
entry on Apache. entry on Apache.
Example 4-1. .htaccess files for Apache Example 4-2. .htaccess files for Apache
$BUGZILLA_HOME/.htaccess $BUGZILLA_HOME/.htaccess
# don't allow people to retrieve non-cgi executable files or our private data # don't allow people to retrieve non-cgi executable files or our private data
...@@ -1567,9 +1741,9 @@ proc filter_deny { why } { ...@@ -1567,9 +1741,9 @@ proc filter_deny { why } {
This is caused by a bug in the version of File::Temp that is This is caused by a bug in the version of File::Temp that is
distributed with perl 5.6.0. Many minor variations of this error have distributed with perl 5.6.0. Many minor variations of this error have
been reported. Examples can be found in Figure 4-1. been reported. Examples can be found in Figure 4-2.
Figure 4-1. Other File::Temp error messages Figure 4-2. Other File::Temp error messages
Your vendor has not defined Fcntl macro O_NOINHERIT, used Your vendor has not defined Fcntl macro O_NOINHERIT, used
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208. at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
...@@ -1581,9 +1755,9 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. ...@@ -1581,9 +1755,9 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
Numerous people have reported that upgrading to version 5.6.1 or Numerous people have reported that upgrading to version 5.6.1 or
higher solved the problem for them. A less involved fix is to apply higher solved the problem for them. A less involved fix is to apply
the patch in Figure 4-2. The patch is also available as a patch file. the patch in Figure 4-3. The patch is also available as a patch file.
Figure 4-2. Patch for File::Temp in Perl 5.6.0 Figure 4-3. Patch for File::Temp in Perl 5.6.0
--- File/Temp.pm.orig Thu Feb 6 16:26:00 2003 --- File/Temp.pm.orig Thu Feb 6 16:26:00 2003
+++ File/Temp.pm Thu Feb 6 16:26:23 2003 +++ File/Temp.pm Thu Feb 6 16:26:23 2003
@@ -205,6 +205,7 @@ @@ -205,6 +205,7 @@
...@@ -1953,10 +2127,10 @@ Chapter 5. Administering Bugzilla ...@@ -1953,10 +2127,10 @@ Chapter 5. Administering Bugzilla
modify modify
2. Maximum Votes per person: Setting this field to "0" disables 2. Maximum Votes per person: Setting this field to "0" disables
voting. voting.
3. Maximum Votes a person can put on a single bug": It should 3. Maximum Votes a person can put on a single bug: It should probably
probably be some number lower than the "Maximum votes per person". be some number lower than the "Maximum votes per person". Don't
Don't set this field to "0" if "Maximum votes per person" is set this field to "0" if "Maximum votes per person" is non-zero;
non-zero; that doesn't make any sense. that doesn't make any sense.
4. Number of votes a bug in this product needs to automatically get 4. Number of votes a bug in this product needs to automatically get
out of the UNCONFIRMED state: Setting this field to "0" disables out of the UNCONFIRMED state: Setting this field to "0" disables
the automatic move of bugs from UNCONFIRMED to NEW. the automatic move of bugs from UNCONFIRMED to NEW.
...@@ -2624,7 +2798,7 @@ patching file globals.pl ...@@ -2624,7 +2798,7 @@ patching file globals.pl
5.10.3. Perforce SCM 5.10.3. Perforce SCM
You can find the project page for Bugzilla and Teamtrack Perforce You can find the project page for Bugzilla and Teamtrack Perforce
integration (p4dti) at: http://www.ravenbrook.com/project/p4dti . integration (p4dti) at: http://www.ravenbrook.com/project/p4dti/ .
"p4dti" is now an officially supported product from Perforce, and you "p4dti" is now an officially supported product from Perforce, and you
can find the "Perforce Public Depot" p4dti page at can find the "Perforce Public Depot" p4dti page at
http://public.perforce.com/public/perforce/p4dti/index.html . http://public.perforce.com/public/perforce/p4dti/index.html .
...@@ -2834,21 +3008,21 @@ Appendix A. The Bugzilla FAQ ...@@ -2834,21 +3008,21 @@ Appendix A. The Bugzilla FAQ
A.1.1. Where can I find information about Bugzilla? A.1.1. Where can I find information about Bugzilla?
You can stay up-to-date with the latest Bugzilla information at You can stay up-to-date with the latest Bugzilla information at
http://www.bugzilla.org/ http://www.bugzilla.org/.
A.1.2. What license is Bugzilla distributed under? A.1.2. What license is Bugzilla distributed under?
Bugzilla is covered by the Mozilla Public License. See details at Bugzilla is covered by the Mozilla Public License. See details at
http://www.mozilla.org/MPL/ http://www.mozilla.org/MPL/.
A.1.3. How do I get commercial support for Bugzilla? A.1.3. How do I get commercial support for Bugzilla?
http://bugzilla.org/consulting.html is a list of people and companies http://bugzilla.org/consulting.html is a list of people and companies
who have asked us to list them as consultants for Bugzilla. who have asked us to list them as consultants for Bugzilla.
www.collab.net offers Bugzilla as part of their standard offering to http://www.collab.net/ offers Bugzilla as part of their standard
large projects. They do have some minimum fees that are pretty hefty, offering to large projects. They do have some minimum fees that are
and generally aren't interested in small projects. pretty hefty, and generally aren't interested in small projects.
There are several experienced Bugzilla hackers on the mailing There are several experienced Bugzilla hackers on the mailing
list/newsgroup who are willing to make themselves available for list/newsgroup who are willing to make themselves available for
...@@ -2924,7 +3098,8 @@ Appendix A. The Bugzilla FAQ ...@@ -2924,7 +3098,8 @@ Appendix A. The Bugzilla FAQ
There is currently work in progress to make Bugzilla work on There is currently work in progress to make Bugzilla work on
PostgreSQL and Sybase in the default distribution. You can track the PostgreSQL and Sybase in the default distribution. You can track the
progress of these initiatives in bugs 98304 and 173130 respectively. progress of these initiatives in bug 98304 and bug 173130
respectively.
Once both of these are done, adding support for additional database Once both of these are done, adding support for additional database
servers should be trivial. servers should be trivial.
...@@ -2999,8 +3174,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl ...@@ -2999,8 +3174,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
compensate for the change. compensate for the change.
There is no GUI for adding fields to Bugzilla at this time. You can There is no GUI for adding fields to Bugzilla at this time. You can
follow development of this feature at follow development of this feature in bug 91037
http://bugzilla.mozilla.org/show_bug.cgi?id=91037
A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, A.2.7. Does Bugzilla provide any reporting features, metrics, graphs,
etc? You know, the type of stuff that management likes to see. :) etc? You know, the type of stuff that management likes to see. :)
...@@ -3099,7 +3273,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl ...@@ -3099,7 +3273,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
MySQL, the database back-end for Bugzilla, allows hot-backup of data. MySQL, the database back-end for Bugzilla, allows hot-backup of data.
You can find strategies for dealing with backup considerations at You can find strategies for dealing with backup considerations at
http://www.mysql.com/doc/B/a/Backup.html http://www.mysql.com/doc/B/a/Backup.html.
A.2.17. Can users be on the system while a backup is in progress? A.2.17. Can users be on the system while a backup is in progress?
...@@ -3184,10 +3358,8 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl ...@@ -3184,10 +3358,8 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
than, only new bugs. How do I do it? than, only new bugs. How do I do it?
Try Klaas Freitag's excellent patch for "whineatassigned" Try Klaas Freitag's excellent patch for "whineatassigned"
functionality. You can find it at functionality. You can find it in bug 6679. This patch is against an
http://bugzilla.mozilla.org/show_bug.cgi?id=6679. This patch is older version of Bugzilla, so you must apply the diffs manually.
against an older version of Bugzilla, so you must apply the diffs
manually.
A.4.4. I don't like/want to use Procmail to hand mail off to A.4.4. I don't like/want to use Procmail to hand mail off to
bug_email.pl. What alternatives do I have? bug_email.pl. What alternatives do I have?
...@@ -3342,7 +3514,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl ...@@ -3342,7 +3514,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
I reckon TimeDate and Data::Dumper come with the activeperl. You can I reckon TimeDate and Data::Dumper come with the activeperl. You can
check the ActiveState site for packages for installation through PPM. check the ActiveState site for packages for installation through PPM.
http://www.activestate.com/Packages/ http://www.activestate.com/Packages/.
7. Bugzilla Usage 7. Bugzilla Usage
...@@ -3426,10 +3598,9 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl ...@@ -3426,10 +3598,9 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
A.8.3. How can I change the default priority to a null value? For A.8.3. How can I change the default priority to a null value? For
instance, have the default priority be "---" instead of "P2"? instance, have the default priority be "---" instead of "P2"?
This is well-documented here: This is well-documented in bug 49862. Ultimately, it's as easy as
http://bugzilla.mozilla.org/show_bug.cgi?id=49862. Ultimately, it's as adding the "---" priority field to your localconfig file in the
easy as adding the "---" priority field to your localconfig file in appropriate area, re-running checksetup.pl, and then changing the
the appropriate area, re-running checksetup.pl, and then changing the
default priority in your browser using "editparams.cgi". default priority in your browser using "editparams.cgi".
A.8.4. What's the best way to submit patches? What guidelines should I A.8.4. What's the best way to submit patches? What guidelines should I
...@@ -3516,7 +3687,7 @@ B.2. MySQL Bugzilla Database Introduction ...@@ -3516,7 +3687,7 @@ B.2. MySQL Bugzilla Database Introduction
But Certain Death speaks up -- a tiny voice, from the dark corners of But Certain Death speaks up -- a tiny voice, from the dark corners of
the conference room. "I have a concern," the voice hisses from the the conference room. "I have a concern," the voice hisses from the
darkness, "about the use of the word 'verified'. darkness, "about the use of the word 'verified'."
The room, previously filled with happy chatter, lapses into The room, previously filled with happy chatter, lapses into
reverential silence as Certain Death (better known as the Vice reverential silence as Certain Death (better known as the Vice
...@@ -3546,9 +3717,8 @@ B.2.1. Bugzilla Database Basics ...@@ -3546,9 +3717,8 @@ B.2.1. Bugzilla Database Basics
internals of MySQL, and if it weren't for this executive order from internals of MySQL, and if it weren't for this executive order from
the Vice President you couldn't care less about the difference between the Vice President you couldn't care less about the difference between
a "bigint" and a "tinyint" entry in MySQL. I recommend you refer to a "bigint" and a "tinyint" entry in MySQL. I recommend you refer to
the MySQL documentation, available at MySQL.com . Below are the basics the MySQL documentation . Below are the basics you need to know about
you need to know about the Bugzilla database. Check the chart above the Bugzilla database. Check the chart above for more details.
for more details.
1. To connect to your database: 1. To connect to your database:
bash# mysql -u root bash# mysql -u root
...@@ -3603,12 +3773,12 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3603,12 +3773,12 @@ B.2.1.1. Bugzilla Database Tables
| watch | | watch |
+-------------------+ +-------------------+
Here's an overview of what each table does. Most columns in each ta Here's an overview of what each table does. Most columns in each tab
ble have le have
descriptive names that make it fairly trivial to figure out their jobs descriptive names that make it fairly trivial to figure out their jobs
. .
attachments: This table stores all attachments to bugs. It tends to b attachments: This table stores all attachments to bugs. It tends to be
e your your
largest table, yet also generally has the fewest entries because file largest table, yet also generally has the fewest entries because file
attachments are so (relatively) large. attachments are so (relatively) large.
bugs: This is the core of your system. The bugs table stores most of bugs: This is the core of your system. The bugs table stores most of
...@@ -3621,27 +3791,27 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3621,27 +3791,27 @@ B.2.1.1. Bugzilla Database Tables
when -- a history file. when -- a history file.
cc: This tiny table simply stores all the CC information for any bug cc: This tiny table simply stores all the CC information for any bug
which has which has
any entries in the CC field of the bug. Note that, like most other ta any entries in the CC field of the bug. Note that, like most other tab
bles in les in
Bugzilla, it does not refer to users by their user names, but by their Bugzilla, it does not refer to users by their user names, but by their
unique unique
userid, stored as a primary key in the profiles table. userid, stored as a primary key in the profiles table.
components: This stores the programs and components (or products and components: This stores the programs and components (or products and
components, in newer Bugzilla parlance) for Bugzilla. Curiously, the components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "
"program" program"
(product) field is the full name of the product, rather than some othe (product) field is the full name of the product, rather than some othe
r unique r unique
identifier, like bug_id and user_id are elsewhere in the database. identifier, like bug_id and user_id are elsewhere in the database.
dependencies: Stores data about those cool dependency trees. dependencies: Stores data about those cool dependency trees.
fielddefs: A nifty table that defines other tables. For instance, wh fielddefs: A nifty table that defines other tables. For instance, whe
en you n you
submit a form that changes the value of "AssignedTo" this table allows submit a form that changes the value of "AssignedTo" this table allows
translation to the actual field name "assigned_to" for entry into MySQ translation to the actual field name "assigned_to" for entry into MySQ
L. L.
groups: defines bitmasks for groups. A bitmask is a number that can groups: defines bitmasks for groups. A bitmask is a number that can u
uniquely niquely
identify group memberships. For instance, say the group that is allow identify group memberships. For instance, say the group that is allowe
ed to d to
tweak parameters is assigned a value of "1", the group that is allowed tweak parameters is assigned a value of "1", the group that is allowed
to edit to edit
users is assigned a "2", and the group that is allowed to create new g users is assigned a "2", and the group that is allowed to create new g
...@@ -3662,8 +3832,8 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3662,8 +3832,8 @@ B.2.1.1. Bugzilla Database Tables
associated with which bug id's. associated with which bug id's.
logincookies: This stores every login cookie ever assigned to you for logincookies: This stores every login cookie ever assigned to you for
every every
machine you've ever logged into Bugzilla from. Curiously, it never do machine you've ever logged into Bugzilla from. Curiously, it never doe
es any s any
housecleaning -- I see cookies in this file I've not used for months. housecleaning -- I see cookies in this file I've not used for months.
However, However,
since Bugzilla never expires your cookie (for convenience' sake), it m since Bugzilla never expires your cookie (for convenience' sake), it m
...@@ -3725,8 +3895,8 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3725,8 +3895,8 @@ B.2.1.1. Bugzilla Database Tables
mysql> select * from table; mysql> select * from table;
-- note: this is a very bad idea to do on, for instance, the "bugs" -- note: this is a very bad idea to do on, for instance, the "bugs"
table if table if
you have 50,000 bugs. You'll be sitting there a while until you ctrl- you have 50,000 bugs. You'll be sitting there a while until you ctrl-c
c or or
50,000 bugs play across your screen. 50,000 bugs play across your screen.
You can limit the display from above a little with the command, wher You can limit the display from above a little with the command, wher
e e
...@@ -3737,8 +3907,8 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3737,8 +3907,8 @@ B.2.1.1. Bugzilla Database Tables
mysql> select * from table where (column != "some info"); mysql> select * from table where (column != "some info");
Let's take our example from the introduction, and assume you need to Let's take our example from the introduction, and assume you need to
change change
the word "verified" to "approved" in the resolution field. We know fr the word "verified" to "approved" in the resolution field. We know fro
om the m the
above information that the resolution is likely to be stored in the "b above information that the resolution is likely to be stored in the "b
ugs" ugs"
table. Note we'll need to change a little perl code as well as this da table. Note we'll need to change a little perl code as well as this da
...@@ -3750,12 +3920,12 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3750,12 +3920,12 @@ B.2.1.1. Bugzilla Database Tables
(exceedingly long output truncated here) (exceedingly long output truncated here)
| bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED | bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED
','VERIFIED','CLOSED')||MUL | UNCONFIRMED|| ','VERIFIED','CLOSED')||MUL | UNCONFIRMED||
Sorry about that long line. We see from this that the "bug status" Sorry about that long line. We see from this that the "bug status" c
column is olumn is
an "enum field", which is a MySQL peculiarity where a string type fiel an "enum field", which is a MySQL peculiarity where a string type fiel
d can d can
only have certain types of entries. While I think this is very cool, only have certain types of entries. While I think this is very cool, i
it's not t's not
standard SQL. Anyway, we need to add the possible enum field entry standard SQL. Anyway, we need to add the possible enum field entry
'APPROVED' by altering the "bugs" table. 'APPROVED' by altering the "bugs" table.
mysql> ALTER table bugs CHANGE bug_status bug_status mysql> ALTER table bugs CHANGE bug_status bug_status
...@@ -3770,8 +3940,8 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3770,8 +3940,8 @@ B.2.1.1. Bugzilla Database Tables
at's at's
available! Cool thing, too, is that this is reflected on your query p available! Cool thing, too, is that this is reflected on your query p
age as age as
well -- you can query by the new status. But how's it fit into the ex well -- you can query by the new status. But how's it fit into the exi
isting sting
scheme of things? scheme of things?
Looks like you need to go back and look for instances of the word "v Looks like you need to go back and look for instances of the word "v
erified" erified"
...@@ -3781,8 +3951,7 @@ B.2.1.1. Bugzilla Database Tables ...@@ -3781,8 +3951,7 @@ B.2.1.1. Bugzilla Database Tables
search). search).
Although you can query by the enum field, you can't give something a s Although you can query by the enum field, you can't give something a s
tatus tatus
of "APPROVED" until you make the perl changes. Note that this change of "APPROVED" until you make the perl changes. Note that this change I
I
mentioned can also be done by editing checksetup.pl, which automates a mentioned can also be done by editing checksetup.pl, which automates a
lot of lot of
this. But you need to know this stuff anyway, right? this. But you need to know this stuff anyway, right?
...@@ -3853,7 +4022,7 @@ Appendix D. Bugzilla Variants and Competitors ...@@ -3853,7 +4022,7 @@ Appendix D. Bugzilla Variants and Competitors
I created this section to answer questions about Bugzilla competitors I created this section to answer questions about Bugzilla competitors
and variants, then found a wonderful site which covers an awful lot of and variants, then found a wonderful site which covers an awful lot of
what I wanted to discuss. Rather than quote it in its entirety, I'll what I wanted to discuss. Rather than quote it in its entirety, I'll
simply refer you here: http://linas.org/linux/pm.html simply refer you here: http://linas.org/linux/pm.html.
_________________________________________________________________ _________________________________________________________________
D.1. Red Hat Bugzilla D.1. Red Hat Bugzilla
...@@ -3897,7 +4066,7 @@ D.4. Scarab ...@@ -3897,7 +4066,7 @@ D.4. Scarab
Scarab is a new open source bug-tracking system built using Java Scarab is a new open source bug-tracking system built using Java
Servlet technology. It is currently at version 1.0 beta 13. Servlet technology. It is currently at version 1.0 beta 13.
URL: http://scarab.tigris.org URL: http://scarab.tigris.org/
This section last updated 18 Jan 2003 This section last updated 18 Jan 2003
_________________________________________________________________ _________________________________________________________________
...@@ -4248,7 +4417,7 @@ Appendix E. GNU Free Documentation License ...@@ -4248,7 +4417,7 @@ Appendix E. GNU Free Documentation License
GNU Free Documentation License from time to time. Such new versions GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See detail to address new problems or concerns. See
http://www.gnu.org/copyleft/ . http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this If the Document specifies that a particular numbered version of this
...@@ -4363,7 +4532,7 @@ C ...@@ -4363,7 +4532,7 @@ C
creating a Product with no Components will create an error in creating a Product with no Components will create an error in
Bugzilla). Bugzilla).
CPAN Comprehensive Perl Archive Network (CPAN)
CPAN stands for the "Comprehensive Perl Archive Network". CPAN CPAN stands for the "Comprehensive Perl Archive Network". CPAN
maintains a large number of extremely useful Perl modules - maintains a large number of extremely useful Perl modules -
encapsulated chunks of code for performing a particular task. encapsulated chunks of code for performing a particular task.
...@@ -4417,6 +4586,9 @@ M ...@@ -4417,6 +4586,9 @@ M
P P
Perl Package Manager (PPM)
http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/
Product Product
A Product is a broad category of types of bugs, normally A Product is a broad category of types of bugs, normally
representing a single piece of software or entity. In general, representing a single piece of software or entity. In general,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment