diff options
33 files changed, 3252 insertions, 2006 deletions
diff --git a/docs/html/Bugzilla-Guide.html b/docs/html/Bugzilla-Guide.html index 9fe33476c..fe8ecffdc 100644 --- a/docs/html/Bugzilla-Guide.html +++ b/docs/html/Bugzilla-Guide.html @@ -448,11 +448,16 @@ CLASS="LOT" ></DT ><DT >4-1. <A +HREF="#install-mysql-packets" +>Set Max Packet Size in MySQL</A +></DT +><DT +>4-2. <A HREF="#trouble-filetemp-errors" >Other File::Temp error messages</A ></DT ><DT ->4-2. <A +>4-3. <A HREF="#trouble-filetemp-patch" >Patch for File::Temp in Perl 5.6.0</A ></DT @@ -468,6 +473,11 @@ CLASS="LOT" ></DT ><DT >4-1. <A +HREF="#install-perlmodules-cpan" +>Installing perl modules with CPAN</A +></DT +><DT +>4-2. <A HREF="#http-apache-htaccess" ><TT CLASS="filename" @@ -526,9 +536,9 @@ VALIGN="TOP" ><P > Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation - License, Version 1.1 or any later version published by the + License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no - Front-Cover Texts, and with no Back-Cover Texts. A copy of + Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in <A HREF="#gfdl" >Appendix E</A @@ -579,15 +589,15 @@ NAME="disclaimer" </P ><P > All copyrights are held by their respective owners, unless - specifically noted otherwise. Use of a term in this document + specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. </P ><P > Naming of particular products or brands should not be seen as - endorsements, with the exception of the term "GNU/Linux". We + endorsements, with the exception of the term "GNU/Linux". We wholeheartedly endorse the use of GNU/Linux in every situation - where it is appropriate. It is an extremely versatile, stable, + where it is appropriate. It is an extremely versatile, stable, and robust operating system that offers an ideal operating environment for Bugzilla. </P @@ -602,10 +612,10 @@ NAME="disclaimer" documented or fixed in the code, security holes surely exist. Great care should be taken both in the installation and usage of this software. Carefully consider the implications of installing - other network services with Bugzilla. The Bugzilla development + other network services with Bugzilla. The Bugzilla development team members, Netscape Communications, America Online Inc., and any affiliated developers or sponsors assume no liability for - your use of this product. You have the source code to this + your use of this product. You have the source code to this product, and are responsible for auditing it yourself to ensure your security needs are met. </P @@ -635,7 +645,7 @@ NAME="newversions" > The newest version of this guide can always be found at <A HREF="http://www.bugzilla.org" TARGET="_top" ->bugzilla.org</A +>http://www.bugzilla.org</A >; including documentation for past releases and the current development version. </P @@ -650,13 +660,12 @@ TARGET="_top" </P ><P > The latest version of this document can always be checked out via CVS. - Please follow the instructions available at - <A + Please follow the <A HREF="http://www.mozilla.org/cvs.html" TARGET="_top" ->the Mozilla CVS page</A ->, - and check out the <TT +>Mozilla CVS</A +> + instructions and check out the <TT CLASS="filename" >mozilla/webtools/bugzilla/docs/</TT > @@ -788,13 +797,13 @@ HREF="news://news.mozilla.org/netscape/public/mozilla/webtools" TARGET="_top" >news://news.mozilla.org/netscape/public/mozilla/webtools</A > - newsgroup. Without your discussions, insight, suggestions, and patches, + newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened. </P ><P > Thanks also go to the following people for significant contributions 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 ></DIV @@ -811,7 +820,7 @@ NAME="conventions" ><DIV CLASS="informaltable" ><A -NAME="AEN110" +NAME="AEN111" ></A ><P ></P @@ -1371,8 +1380,8 @@ NAME="myaccount" <A HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" -> http://landfill.bugzilla.org/bugzilla-tip/</A -> +>http://landfill.bugzilla.org/bugzilla-tip/</A +>. </P ><P ></P @@ -1707,10 +1716,8 @@ NAME="query" <A HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" TARGET="_top" -> landfill.bugzilla.org/bugzilla-tip/query.cgi</A -> - - .</P +>http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A +>.</P ><P >The Search page has controls for selecting different possible values for all of the fields in a bug, as described above. Once you've @@ -1878,7 +1885,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN370" +NAME="AEN371" ></A >3.2.1. Autolinkification</H2 ><P @@ -2026,7 +2033,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN399" +NAME="AEN400" ></A >3.2.5. Filing Bugs</H2 ><P @@ -2178,34 +2185,21 @@ CLASS="section" NAME="stepbystep" ></A >4.1. Step-by-step Install</H1 -><DIV -CLASS="section" -><H2 -CLASS="section" -><A -NAME="intstall-into" -></A ->4.1.1. Introduction</H2 ><P ->Bugzilla has been successfully installed under Solaris, Linux, - and Win32. Win32 is not yet officially supported, but many people - have got it working fine. - Please see +>Bugzilla has been successfully installed under many different + operating systems including almost all Unix clones and + <SPAN +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 -HREF="#os-win32" ->Section 4.3.1</A -> - for further advice on getting Bugzilla to work on Microsoft - Windows.</P -></DIV -><DIV -CLASS="section" -><HR><H2 -CLASS="section" -><A -NAME="install-package-list" -></A ->4.1.2. Package List</H2 +HREF="#os-specific" +>Section 4.3</A +>, so be sure to check out that section before + you start your installation. + </P ><DIV CLASS="note" ><P @@ -2227,265 +2221,117 @@ ALT="Note"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> If you are running the very most recent - version of Perl and MySQL (both the executables and development - libraries) on your system, you can skip these manual installation - steps for the Perl modules by using Bundle::Bugzilla; see +>Windows is one of those operating systems that has many quirks + and is not yet officially supported by the Bugzilla team. If you wish + to install Bugzilla on Windows, be sure to see <A -HREF="#bundlebugzilla" ->Using Bundle::Bugzilla instead of manually installing Perl modules</A +HREF="#os-win32" +>Section 4.3.1</A >. </P ></TD ></TR ></TABLE ></DIV +><DIV +CLASS="warning" ><P ->The software packages necessary for the proper running of - Bugzilla (with download links) are: - <P ></P -><OL -TYPE="1" -><LI +><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 -> <A -HREF="http://www.mysql.com/" -TARGET="_top" ->MySQL database server</A -> - (3.23.41 or greater) - </P -></LI -><LI +>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 + as 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 -> <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 +>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. + </P ><P ->Perl Modules (minimum version): - <P -></P +>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. + </P +><DIV +CLASS="procedure" ><OL -TYPE="a" +TYPE="1" ><LI ><P -> <A -HREF="http://www.template-toolkit.org" -TARGET="_top" ->Template</A +><A +HREF="#install-mysql" +>Install MySQL</A > - (v2.08) - </P + (3.23.41) + </P ></LI ><LI ><P -> <A -HREF="http://www.perldoc.com/perl5.6/lib/File/Temp.html" -TARGET="_top" -> File::Temp</A +><A +HREF="#install-perl" +>Install Perl</A > - (1.804) (Prerequisite for Template) - </P + (5.6) + </P ></LI ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/AppConfig/" -TARGET="_top" ->AppConfig - </A +><A +HREF="#install-perlmodules" +>Install Perl Modules</A > - (1.52) - </P -></LI -><LI -><P -> <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 + </P ></LI ><LI ><P -> <A -HREF="http://search.cpan.org/search?dist=File-Spec" -TARGET="_top" ->File::Spec - </A +><A +HREF="#install-webserver" +>Install a Webserver</A > - (0.82) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Data/" -TARGET="_top" ->Data::Dumper - </A -> - (any) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Mysql/" -TARGET="_top" ->DBD::mysql - </A -> - (2.1010) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/DBI/" -TARGET="_top" ->DBI</A -> - (1.32) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Date/" -TARGET="_top" ->Date::Parse - </A -> - (2.21) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/CGI/" -TARGET="_top" ->CGI - </A -> - (2.88) - </P + </P ></LI -></OL -> - and, optionally: - <P -></P -><OL -TYPE="a" ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/GD/" -TARGET="_top" ->GD</A +><A +HREF="#install-bzfiles" +>Put Bugzilla in the Webspace</A > - (1.20) for bug charting - </P -></LI -><LI -><P -> GD::Graph - (any) for bug charting - </P -></LI -><LI -><P -> GD::Text::Align - (any) for bug charting - </P + </P ></LI ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/Chart/" -TARGET="_top" ->Chart::Base - </A +><A +HREF="#install-setupdatabase" +>Setup the MySQL Database</A > - (0.99c) for bug charting - </P -></LI -><LI -><P -> XML::Parser - (any) for the XML interface - </P -></LI -><LI -><P -> MIME::Parser - (any) for the email interface - </P -></LI -></OL -> - </P -></LI -><LI -><P -> The web server of your choice. - <A -HREF="http://www.apache.org/" -TARGET="_top" ->Apache</A -> - is highly recommended. - </P + </P ></LI ></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 CLASS="section" @@ -2494,13 +2340,13 @@ CLASS="section" ><A NAME="install-mysql" ></A ->4.1.3. MySQL</H2 +>4.1.1. MySQL</H2 ><P >Visit the MySQL homepage at <A HREF="http://www.mysql.com" TARGET="_top" ->www.mysql.com</A +>http://www.mysql.com</A > to grab and install the latest stable release of the server. </P @@ -2543,53 +2389,65 @@ CLASS="filename" ></TABLE ></DIV ><P ->If you install from something other than an RPM or Debian - package, you will need to add <TT -CLASS="filename" ->mysqld</TT -> - 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. +>If you install from something other than a packaging/installation + system (such as .rpm, .dep, .exe, or .msi) you will need to configure + your system so the MySQL server daemon will come back up whenever + your machine reboots. </P ><P ->Change your init script to start - <TT -CLASS="filename" ->mysqld</TT -> - with the ability to accept large packets. By default, - <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 +>If you wish to have attachments larger than 64K, you will have to + configure MySQL to accept large packets. This is done by adding the text + in <A +HREF="#install-mysql-packets" +>Figure 4-1</A +> to your <TT CLASS="filename" ->mysqld</TT -> - (or <TT -CLASS="filename" ->safe_mysqld</TT ->), - then you will be able to have attachments up to about 1 megabyte. - There is a Bugzilla parameter for maximum attachment size; - you should configure it to match the value you choose here.</P +>my.conf</TT +> file. There is also a parameter in Bugzilla + for setting the maximum allowable attachment size. + + You should set this value to be slightly larger than that parameter. + </P +><DIV +CLASS="figure" +><A +NAME="install-mysql-packets" +></A ><P ->If you plan on running Bugzilla and MySQL on the same machine, - consider using the - <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" +> [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 in the init script. This enhances security by preventing - network access to MySQL.</P +>skip-networking</TT +> option as + mentioned in <A +HREF="#security-mysql" +>Section 5.6.2</A +> for the added security. + </P ></DIV ><DIV CLASS="section" @@ -2598,26 +2456,208 @@ CLASS="section" ><A NAME="install-perl" ></A ->4.1.4. Perl</H2 +>4.1.2. Perl</H2 ><P >Any machine that doesn't have Perl on it is a sad machine indeed. - Perl can be got in source form from - <A + Perl can be got in source form from <A HREF="http://www.perl.com" TARGET="_top" ->perl.com</A -> for the rare - *nix systems which don't have it. +>http://www.perl.com</A +>. + 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, 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 version 5.8.</P +></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 -NAME="bundlebugzilla" +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" +> <TT +CLASS="prompt" +>bash#</TT +> perl -MCPAN -e 'install "<modulename>"' + </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" +> <TT +CLASS="prompt" +>bash#</TT +> tar xzvf <module>.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 <module> <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" +><module>.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" +><module></TT +> directory. + </DD +></DL +></DIV +> + </P +></DIV +><DIV +CLASS="tip" +><P ></P ><TABLE CLASS="tip" @@ -2636,249 +2676,433 @@ ALT="Tip"></TD ALIGN="LEFT" VALIGN="TOP" ><P ->You can skip the following Perl module installation steps by - installing +>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="productname" ->Bundle::Bugzilla</SPAN -> - - from - <A -HREF="#gloss-cpan" -><I -CLASS="glossterm" ->CPAN</I -></A ->, - which installs all required modules for you.</P -><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->perl -MCPAN -e 'install "Bundle::Bugzilla"'</B -> - </TT +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 > - </P -><P ->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.</P + the local UNIX sysadmin, please consult the newsgroup/mailing list + for further assistance or hire someone to help you out.</P ></TD ></TR ></TABLE ></DIV -></DIV -><DIV -CLASS="section" -><HR><H2 -CLASS="section" -><A -NAME="perl-modules" -></A ->4.1.5. Perl Modules</H2 ><P -> - All Perl modules can be found on the - <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 +>Perl Modules (minimum version): + <P +></P +><OL +TYPE="1" +><LI ><P ->Quality, general Perl module installation instructions can be - found on the CPAN website, but the easy thing to do is to just use the - CPAN shell which does all the hard work for you. - To use the CPAN shell to install a module: +> <A +HREF="#install-modules-bundle-bugzilla" +>Bundle::Bugzilla</A +> + (Will allow you to skip the rest) </P +></LI +><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - <B -CLASS="command" ->perl -MCPAN -e 'install "<modulename>"'</B -> - </TT +> <A +HREF="#install-modules-appconfig" +>AppConfig</A > + (1.52) </P +></LI +><LI ><P -> To do it the hard way: +> <A +HREF="#install-modules-cgi" +>CGI</A +> + (2.88) </P +></LI +><LI ><P ->Untar the module tarball -- it should create its own - directory</P -><P ->CD to the directory just created, and enter the following - commands: - <P -></P -><OL -TYPE="1" +> <A +HREF="#install-modules-data-dumper" +>Data::Dumper</A +> + (any) + </P +></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->perl Makefile.PL</B +> <A +HREF="#install-modules-date-format" +>Date::Format</A > - </TT + (2.21) + </P +></LI +><LI +><P +> <A +HREF="#install-modules-dbi" +>DBI</A +> + (1.32) + </P +></LI +><LI +><P +> <A +HREF="#install-modules-dbd-mysql" +>DBD::mysql</A > - </P + (2.1010) + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="#install-file-spec" +>File::Spec</A > - - <B -CLASS="command" ->make</B + (0.82) + </P +></LI +><LI +><P +> <A +HREF="#install-modules-file-temp" +>File::Temp</A > - </TT + (any) + </P +></LI +><LI +><P +> <A +HREF="#install-modules-template" +>Template Toolkit</A > - </P + (2.08) + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="#install-modules-text-wrap" +>Text::Wrap</A +> + (2001.0131) + </P +></LI +></OL > - <B -CLASS="command" ->make test</B + and, optionally: + <P +></P +><OL +TYPE="1" +><LI +><P +> <A +HREF="#install-modules-gd" +>GD</A > - </TT + (1.20) for bug charting + </P +></LI +><LI +><P +> <A +HREF="#install-modules-chart-base" +>Chart::Base</A > - </P + (0.99c) for bug charting + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="#install-modules-xml-parser" +>XML::Parser</A > - - <B -CLASS="command" ->make install</B + (any) for the XML interface + </P +></LI +><LI +><P +> <A +HREF="#install-modules-gd-graph" +>GD::Graph</A > - </TT + (any) for bug charting + </P +></LI +><LI +><P +> <A +HREF="#install-modules-gd-text-align" +>GD::Text::Align</A > - </P + (any) for bug charting + </P ></LI -></OL +><LI +><P +> <A +HREF="#install-modules-mime-parser" +>MIME::Parser</A > + (any) for the email interface </P +></LI +></OL +> + </P ><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 +>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 -CLASS="warning" -WIDTH="100%" BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -WIDTH="25" -ALIGN="CENTER" -VALIGN="TOP" +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT +CLASS="prompt" +>bash#</TT +> <B +CLASS="command" +>perl -MCPAN -eshell</B +> <A +NAME="bundle-cpanconfig" ><IMG -SRC="../images/warning.gif" -HSPACE="5" -ALT="Warning"></TD -><TD -ALIGN="LEFT" -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 +SRC="../images/callouts/1.gif" +HSPACE="0" +VSPACE="0" +BORDER="0" +ALT="(1)"></A > - the local UNIX sysadmin, please consult the newsgroup/mailing list - for further assistance or hire someone to help you out.</P +cpan shell -- CPAN exploration and modules installation (v1.63) +ReadLine support enabled + +<TT +CLASS="prompt" +>cpan></TT +> + + </PRE +></FONT ></TD ></TR ></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="AEN566" +NAME="install-modules-appconfig" ></A ->4.1.5.1. DBI</H3 +>4.1.3.2. AppConfig (1.52)</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 +>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="AEN569" +NAME="install-modules-cgi" ></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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/CGI.pm/" +TARGET="_top" +>http://search.cpan.org/dist/CGI.pm/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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 + available won't hurt anything. + </P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Data-Dumper/" +TARGET="_top" +>http://search.cpan.org/dist/Data-Dumper/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/TimeDate/" +TARGET="_top" +>http://search.cpan.org/dist/TimeDate/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P +></DIV +><DIV +CLASS="section" +><HR><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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/DBI/" +TARGET="_top" +>http://search.cpan.org/dist/DBI/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://dbi.perl.org/doc/" +TARGET="_top" +>http://dbi.perl.org/doc/</A +><br> + </P ></DIV ><DIV CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN572" +NAME="install-modules-dbd-mysql" ></A ->4.1.5.3. MySQL-related modules</H3 +>4.1.3.7. MySQL-related modules</H3 ><P >The Perl/MySQL interface requires a few mutually-dependent Perl modules. These modules are grouped together into the the @@ -2896,34 +3120,161 @@ NAME="AEN572" with a null password should find itself with sufficient access to run tests on the 'test' database which MySQL created upon installation. </P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/DBD-mysql/" +TARGET="_top" +>http://search.cpan.org/dist/DBD-mysql/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P ></DIV ><DIV CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN577" +NAME="install-file-spec" ></A ->4.1.5.4. TimeDate modules</H3 +>4.1.3.8. File::Spec (0.82)</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. +>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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/File-Spec/" +TARGET="_top" +>http://search.cpan.org/dist/File-Spec/</A +><br> + PPM Download Page: <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> + Documentation: <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> + </P ></DIV ><DIV CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN580" +NAME="install-modules-file-temp" ></A ->4.1.5.5. GD (optional)</H3 +>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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/File-Spec/" +TARGET="_top" +>http://search.cpan.org/dist/File-Spec/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Template-Toolkit/" +TARGET="_top" +>http://search.cpan.org/dist/Template-Toolkit/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://www.template-toolkit.org/docs.html" +TARGET="_top" +>http://www.template-toolkit.org/docs.html</A +><br> + </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 +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/" +TARGET="_top" +>http://search.cpan.org/dist/Text-Tabs+Wrap/</A +><br> + Documentation: <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> + </P +></DIV +><DIV +CLASS="section" +><HR><H3 +CLASS="section" +><A +NAME="install-modules-gd" +></A +>4.1.3.12. GD (1.20) [optional]</H3 ><P >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 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 @@ -2967,36 +3318,224 @@ CLASS="classname" ></TR ></TABLE ></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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GD/" +TARGET="_top" +>http://search.cpan.org/dist/GD/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://stein.cshl.org/WWW/software/GD/" +TARGET="_top" +>http://stein.cshl.org/WWW/software/GD/</A +><br> + </P ></DIV ><DIV CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN587" +NAME="install-modules-chart-base" ></A ->4.1.5.6. Chart::Base (optional)</H3 +>4.1.3.13. Chart::Base (0.99c) [optional]</H3 ><P >The Chart module provides Bugzilla with on-the-fly charting abilities. 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 no longer supported by the latest versions of GD.</P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Chart/" +TARGET="_top" +>http://search.cpan.org/dist/Chart/</A +><br> + PPM Download Link: <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> + </P ></DIV ><DIV CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN590" +NAME="install-modules-xml-parser" ></A ->4.1.5.7. Template Toolkit</H3 +>4.1.3.14. XML::Parser (any) [Optional]</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. +>XML::Parser is used by the <TT +CLASS="filename" +>importxml.pl</TT +> + 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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/XML-Parser/" +TARGET="_top" +>http://search.cpan.org/dist/XML-Parser/</A +><br> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GDGraph/" +TARGET="_top" +>http://search.cpan.org/dist/GDGraph/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://search.cpan.org/dist/GDGraph/Graph.pm" +TARGET="_top" +>http://search.cpan.org/dist/GDGraph/Graph.pm</A +><br> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GDTextUtil/" +TARGET="_top" +>http://search.cpan.org/dist/GDTextUtil/</A +><br> + PPM Download Page: <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> + Documentation: <A +HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm" +TARGET="_top" +>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A +><br> + </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 +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/MIME-tools/" +TARGET="_top" +>http://search.cpan.org/dist/MIME-tools/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P ></DIV ></DIV ><DIV @@ -3004,9 +3543,9 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="sbs-http" +NAME="install-webserver" ></A ->4.1.6. HTTP Server</H2 +>4.1.4. HTTP Server</H2 ><P >You have freedom of choice here, pretty much any web server that is capable of running <A @@ -3046,7 +3585,12 @@ VALIGN="TOP" >We strongly recommend Apache as the web server to use. The Bugzilla Guide installation instructions, in general, assume you are 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 ></TR ></TABLE @@ -3057,9 +3601,9 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN600" +NAME="install-bzfiles" ></A ->4.1.7. Bugzilla</H2 +>4.1.5. Bugzilla</H2 ><P >You should untar the Bugzilla files into a directory that you're willing to make writable by the default web server user (probably @@ -3122,103 +3666,120 @@ CLASS="filename" >checksetup.pl</TT > 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 CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN611" +NAME="install-setupdatabase" ></A ->4.1.8. Setting Up the MySQL Database</H2 +>4.1.6. Setting Up the MySQL Database</H2 ><P >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 a high quality bug tracker.</P ><P ->First, you'll want to fix MySQL permissions to allow access from - Bugzilla. For the purpose of this Installation section, the Bugzilla - username will be +>This first thing you'll want to do is make sure you've given the <SPAN CLASS="QUOTE" ->"bugs"</SPAN ->, and will have minimal permissions. +>"root"</SPAN +> 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 +><DIV +CLASS="note" ><P ->Begin by giving the MySQL root user a password. MySQL passwords are limited - to 16 characters. - <P ></P ><TABLE +CLASS="note" +WIDTH="100%" BORDER="0" -><TBODY ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->mysql -u root mysql</B -> - </TT -> - </TD -></TR -><TR -><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->mysql></TT -> - - <B -CLASS="command" ->UPDATE user SET Password=PASSWORD('<new_password>') - WHERE user='root';</B -> - </TT -> - </TD -></TR -><TR +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/note.gif" +HSPACE="5" +ALT="Note"></TD ><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->mysql></TT -> - - <B -CLASS="command" ->FLUSH PRIVILEGES;</B -> - </TT -> - </TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>Most people use <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> for both the user and + database name. + </P +></TD ></TR -></TBODY ></TABLE -><P -></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 <new_password>. Remember that MySQL user names have - nothing to do with Unix user names (login names).</P +></DIV ><P >Next, we use an SQL <B CLASS="command" @@ -3226,19 +3787,18 @@ CLASS="command" > command to create a <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > - user, and grant sufficient permissions for checksetup.pl, which we'll use later, to work its magic. This also restricts the <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > user to operations within a database called <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_db"</SPAN >, and only allows the account to connect from <SPAN CLASS="QUOTE" @@ -3246,55 +3806,31 @@ CLASS="QUOTE" >. Modify it to reflect your setup if you will be connecting from another machine or as a different user.</P -><P ->Remember to set <bugs_password> to some unique password. - <P -></P ><TABLE BORDER="0" -><TBODY +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT CLASS="prompt" >mysql></TT -> - - <B -CLASS="command" ->GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, - ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost - IDENTIFIED BY '<bugs_password>';</B -> - </TT -> - </TD -></TR -><TR -><TD -> <TT -CLASS="computeroutput" -> <TT +> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE, + DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost + IDENTIFIED BY 'bugs_password'; +<TT CLASS="prompt" >mysql></TT -> - - <B -CLASS="command" ->FLUSH PRIVILEGES;</B -> - </TT -> - </TD +> FLUSH PRIVILEGES; + </PRE +></FONT +></TD ></TR -></TBODY ></TABLE -><P -></P -> - </P ><DIV CLASS="note" ><P @@ -3317,7 +3853,14 @@ ALIGN="LEFT" VALIGN="TOP" ><P >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 ></TD ></TR @@ -3329,9 +3872,9 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN649" +NAME="AEN749" ></A ->4.1.9. <TT +>4.1.7. <TT CLASS="filename" >checksetup.pl</TT ></H2 @@ -3340,10 +3883,11 @@ CLASS="filename" <A HREF="mailto:holgerschurig@nikocity.de" TARGET="_top" ->Holger Schurig </A +>Holger Schurig</A > 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. It will make sure Bugzilla files and directories have reasonable permissions, set up the @@ -3352,35 +3896,28 @@ CLASS="filename" >data</TT > directory, and create all the MySQL tables. - <P -></P + </P ><TABLE BORDER="0" -><TBODY +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT CLASS="prompt" >bash#</TT -> - - <B -CLASS="command" ->./checksetup.pl</B -> - </TT -> - </TD +> ./checksetup.pl + </PRE +></FONT +></TD ></TR -></TBODY ></TABLE ><P -></P -> - - 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 CLASS="filename" >localconfig</TT @@ -3408,7 +3945,7 @@ CLASS="QUOTE" >database name: <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_db"</SPAN > if you're following these directions</P ></LI @@ -3417,7 +3954,7 @@ CLASS="QUOTE" >MySQL username: <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > if you're following these directions</P ></LI @@ -3426,9 +3963,12 @@ CLASS="QUOTE" >Password for the <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > - MySQL account; (<bugs_password>) above</P + MySQL account; (<SPAN +CLASS="QUOTE" +>"bugs_password"</SPAN +> above)</P ></LI ></OL > @@ -3482,9 +4022,9 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN681" +NAME="AEN780" ></A ->4.1.10. Configuring Bugzilla</H2 +>4.1.8. Configuring Bugzilla</H2 ><P > You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. @@ -3508,7 +4048,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN687" +NAME="AEN786" ></A >4.2.1. Dependency Charts</H2 ><P @@ -3572,7 +4112,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN702" +NAME="AEN801" ></A >4.2.2. Bug Graphs</H2 ><P @@ -3631,7 +4171,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN715" +NAME="AEN814" ></A >4.2.3. The Whining Cron</H2 ><P @@ -3813,13 +4353,13 @@ HREF="http://www.openldap.org/" TARGET="_top" > OpenLDAP</A > 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 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630" TARGET="_top" -> http://bugzilla.mozilla.org/show_bug.cgi?id=158630</A ->, then set - the following object classes for your users: +>bug 158630</A +> + , then set the following object classes for your users: <P ></P @@ -3877,7 +4417,7 @@ NAME="content-type" <A HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3" TARGET="_top" -> 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 rectify the problem if your Bugzilla installation is intended for an @@ -3950,13 +4490,13 @@ VALIGN="TOP" ><P >Using <meta> tags to set the charset is not recommended, as there's a bug in Netscape 4.x which causes pages - marked up in this way to load twice. See + marked up in this way to load twice. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" TARGET="_top" ->bug - 126266</A -> for more information including progress toward making +>bug 126266</A +> + for more information including progress toward making bugzilla charset aware by default. </P ></TD @@ -4037,7 +4577,7 @@ CLASS="filename" HREF="http://www.snert.com/Software/mod_throttle/" TARGET="_top" >http://www.snert.com/Software/mod_throttle/</A -> +>. Follow the instructions to install into your Apache install. <EM >This module only functions with the Apache web @@ -4134,19 +4674,23 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="win32-perl-modules" +NAME="win32-perlmodules" ></A >4.3.1.2. Perl Modules on Win32</H3 ><P >Bugzilla on Windows requires the same perl modules found in <A -HREF="#install-package-list" ->Section 4.1.2</A +HREF="#install-perlmodules" +>Section 4.1.3</A >. The main difference is that - windows uses <B -CLASS="command" ->ppm</B -> instead of CPAN. + windows uses <A +HREF="#gloss-ppm" +><I +CLASS="glossterm" +>PPM</I +></A +> instead of + CPAN. </P ><TABLE BORDER="0" @@ -4597,7 +5141,7 @@ CLASS="prompt" > <B CLASS="command" >urpmi perl-MailTools</B -> <A +> <A NAME="test-mailtools" ><IMG SRC="../images/callouts/1.gif" @@ -4690,7 +5234,7 @@ CLASS="command" >./checksetup.pl</B > (shown in <A HREF="#http-apache-htaccess" ->Example 4-1</A +>Example 4-2</A > for the curious) are allowed to override Apache's normal access permissions or else important password information may be exposed to the @@ -4811,7 +5355,7 @@ NAME="http-apache-htaccess" ></A ><P ><B ->Example 4-1. <TT +>Example 4-2. <TT CLASS="filename" >.htaccess</TT > files for Apache</B @@ -4990,7 +5534,7 @@ CLASS="productname" <A HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp" TARGET="_top" ->Q245225 </A +>Q245225</A > for <SPAN CLASS="productname" @@ -5122,12 +5666,11 @@ VALIGN="TOP" <TT CLASS="filename" >localconfig</TT ->. For more information, see +>. For more information, see <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383" TARGET="_top" ->bug - 186383</A +> bug 186383</A > or <A HREF="http://online.securityfocus.com/bid/6501" TARGET="_top" @@ -5219,7 +5762,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN977" +NAME="AEN1076" ></A >4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2 ><P @@ -5244,7 +5787,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN982" +NAME="AEN1081" ></A >4.5.2. DBD::Sponge::db prepare failed</H2 ><P @@ -5400,7 +5943,7 @@ CLASS="productname" 5.6.0. Many minor variations of this error have been reported. Examples can be found in <A HREF="#trouble-filetemp-errors" ->Figure 4-1</A +>Figure 4-2</A >. </P ><DIV @@ -5410,7 +5953,7 @@ NAME="trouble-filetemp-errors" ></A ><P ><B ->Figure 4-1. Other File::Temp error messages</B +>Figure 4-2. Other File::Temp error messages</B ></P ><TABLE BORDER="0" @@ -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 the patch in <A HREF="#trouble-filetemp-patch" ->Figure 4-2</A +>Figure 4-3</A >. The patch is also available as a <A HREF="../xml/filetemp.patch" @@ -5456,7 +5999,7 @@ NAME="trouble-filetemp-patch" ></A ><P ><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 ><TABLE BORDER="0" @@ -6442,7 +6985,7 @@ TYPE="1" ><P ><EM >Maximum Votes a person can put on a single - bug"</EM + bug</EM >: It should probably be some number lower than the "Maximum votes per person". Don't set this field to "0" if @@ -6986,12 +7529,11 @@ NAME="security-access" not be accessible is rather complicated. A new installation method is currently in the works which should solve this by allowing files that shouldn't be accessible from the web to be placed in directory - outside the webroot. See + outside the webroot. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659" TARGET="_top" ->bug - 44659</A +> bug 44659</A > for more information. </P ><P @@ -7331,7 +7873,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN1425" +NAME="AEN1524" ></A >5.7.1. What to Edit</H2 ><P @@ -7446,7 +7988,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN1444" +NAME="AEN1543" ></A >5.7.2. How To Edit Templates</H2 ><P @@ -7528,7 +8070,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN1454" +NAME="AEN1553" ></A >5.7.3. Template Formats</H2 ><P @@ -7590,7 +8132,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN1467" +NAME="AEN1566" ></A >5.7.4. Particular Templates</H2 ><P @@ -8509,11 +9051,10 @@ CLASS="filename" ><P >There is also a CVSZilla project, based upon somewhat dated Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to - email. Check it out at: - <A + email. Check it out at: <A HREF="http://homepages.kcbbs.gen.nz/~tonyg/" TARGET="_top" -> http://homepages.kcbbs.gen.nz/~tonyg/</A +>http://homepages.kcbbs.gen.nz/~tonyg/</A >. </P ></DIV @@ -8531,7 +9072,7 @@ NAME="scm" <A HREF="http://www.ravenbrook.com/project/p4dti/" TARGET="_top" -> http://www.ravenbrook.com/project/p4dti</A +>http://www.ravenbrook.com/project/p4dti/</A > . @@ -8545,7 +9086,7 @@ CLASS="QUOTE" <A HREF="http://public.perforce.com/public/perforce/p4dti/index.html" TARGET="_top" -> http://public.perforce.com/public/perforce/p4dti/index.html</A +>http://public.perforce.com/public/perforce/p4dti/index.html</A > .</P @@ -9002,7 +9543,7 @@ HREF="#faq-use-changeaddress" ><DT >A.7.2. <A HREF="#faq-use-query" -> The query page is very confusing. Isn't there a simpler way to query? +> The query page is very confusing. Isn't there a simpler way to query? </A ></DT ><DT @@ -9016,7 +9557,7 @@ HREF="#faq-use-accept" >A.7.4. <A HREF="#faq-use-attachment" > I can't upload anything into the database via the "Create Attachment" - link. What am I doing wrong? + link. What am I doing wrong? </A ></DT ><DT @@ -9092,8 +9633,8 @@ CLASS="answer" information at <A HREF="http://www.bugzilla.org/" TARGET="_top" -> http://www.bugzilla.org/</A -> +>http://www.bugzilla.org/</A +>. </P ></DIV ></DIV @@ -9121,8 +9662,8 @@ CLASS="answer" See details at <A HREF="http://www.mozilla.org/MPL/" TARGET="_top" -> http://www.mozilla.org/MPL/</A -> +>http://www.mozilla.org/MPL/</A +>. </P ></DIV ></DIV @@ -9158,7 +9699,7 @@ TARGET="_top" > <A HREF="http://www.collab.net/" TARGET="_top" ->www.collab.net</A +>http://www.collab.net/</A > offers Bugzilla as part of their standard offering to large projects. They do have some minimum fees that are pretty hefty, and generally @@ -9196,7 +9737,7 @@ CLASS="answer" There are <EM >dozens</EM > of major companies with public - Bugzilla sites to track bugs in their products. A few include: + Bugzilla sites to track bugs in their products. A few include: <P ></P ><TABLE @@ -9304,7 +9845,7 @@ HREF="http://www.bugzilla.org/who_we_are.html" TARGET="_top" >core team</A >, - led by Dave Miller (justdave@netscape.com). + led by Dave Miller (justdave@netscape.com). </P ></DIV ></DIV @@ -9368,8 +9909,8 @@ CLASS="answer" > </B > It may be that the support has not been built yet, or that you - have not yet found it. Bugzilla is making tremendous strides in - usability, customizability, scalability, and user interface. It + have not yet found it. Bugzilla is making tremendous strides in + usability, customizability, scalability, and user interface. It is widely considered the most complete and popular open-source bug-tracking software in existence. </P @@ -9412,16 +9953,16 @@ CLASS="answer" </P ><P > There is currently work in progress to make Bugzilla work on - PostgreSQL and Sybase in the default distribution. You can track - the progress of these initiatives in bugs <A + PostgreSQL and Sybase in the default distribution. You can track + the progress of these initiatives in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" TARGET="_top" ->98304</A +>bug 98304</A > and <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130" TARGET="_top" ->173130</A +>bug 173130</A > respectively. </P @@ -9461,11 +10002,11 @@ CLASS="filename" > because when Terry first started writing the code for mozilla.org he needed a version of Perl and other tools that were completely under his - control. This location was abandoned for the 2.18 release in favor + control. This location was abandoned for the 2.18 release in favor of the more sensible <TT CLASS="filename" >/usr/bin/perl</TT ->. If you +>. If you installed an older verion of Bugzilla and created the symlink we suggested, you can remove it now (provided that you don't have anything else, such as Bonsai, using it and you don't intend to @@ -9498,7 +10039,7 @@ CLASS="answer" > </B > Yes, the following bit of perl magic will change all the shebang - lines. Be sure to change <TT + lines. Be sure to change <TT CLASS="filename" >/usr/local/bin/perl</TT > @@ -9605,7 +10146,7 @@ CLASS="answer" ><B > </B > - It is web and e-mail based. You can edit bugs by sending specially + It is web and e-mail based. You can edit bugs by sending specially formatted email to a properly configured Bugzilla, or control via the web. </P ></DIV @@ -9708,7 +10249,7 @@ CLASS="answer" > </B > Yes - any sort of attachment is allowed, although administrators can - configure a maximum size. + configure a maximum size. Bugzilla gives the user the option of either using the MIME-type supplied by the browser, choosing from a pre-defined list or manually typing any arbitrary MIME-type. @@ -9737,17 +10278,17 @@ CLASS="answer" ><B > </B > - Yes. However, modifying some fields, notably those related to bug + Yes. However, modifying some fields, notably those related to bug progression states, also require adjusting the program logic to compensate for the change. </P ><P > 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 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037" TARGET="_top" ->http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A +>bug 91037</A > </P ></DIV @@ -9773,12 +10314,12 @@ CLASS="answer" ><B > </B > - Yes. Look at <A + Yes. Look at <A HREF="http://bugzilla.mozilla.org/report.cgi" TARGET="_top" -> http://bugzilla.mozilla.org/report.cgi</A -> for samples of what - Bugzilla can do in reporting and graphing. +>http://bugzilla.mozilla.org/report.cgi</A +> + for samples of what Bugzilla can do in reporting and graphing. </P ><P > If you can not get the reports you want from the included reporting @@ -9811,7 +10352,7 @@ CLASS="answer" ><B > </B > - Email notification is user-configurable. By default, the bug id and + Email notification is user-configurable. By default, the bug id and Summary of the bug report accompany each email notification, along with a list of the changes made. </P @@ -9889,7 +10430,7 @@ VALIGN="TOP" > If you decide to use the bugzilla_email integration features to allow Bugzilla to record responses to mail with the associated bug, you may need to caution your users to set their mailer to "respond - to messages in the format in which they were sent". For security reasons + to messages in the format in which they were sent". For security reasons Bugzilla ignores HTML tags in comments, and if a user sends HTML-based email into Bugzilla the resulting comment looks downright awful. </P @@ -9926,7 +10467,7 @@ CLASS="answer" > Bugzilla can output buglists as HTML (the default), CSV or RDF. The link for CSV can be found at the bottom of the buglist in HTML - format. This CSV format can easily be imported into MS Excel or + format. This CSV format can easily be imported into MS Excel or other spread-sheet applications. </P ><P @@ -9934,7 +10475,7 @@ CLASS="answer" <TT CLASS="computeroutput" >&ctype=rdf</TT -> to the URL. RDF +> to the URL. RDF is meant to be machine readable and thus it is assumed that the URL would be generated progmatically so there is no user visible link to this format. @@ -9984,15 +10525,15 @@ CLASS="answer" ><B > </B > - Yes. For more information including available translated templates, + Yes. For more information including available translated templates, see <A HREF="http://www.bugzilla.org/download.html#localizations" TARGET="_top" >http://www.bugzilla.org/download.html#localizations</A >. The admin interfaces are still not included in these translated - templates and is therefore still English only. Also, there may be - issues with the charset not being declared. See <A + templates and is therefore still English only. Also, there may be + issues with the charset not being declared. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" TARGET="_top" >bug 126226</A @@ -10022,7 +10563,7 @@ CLASS="answer" ><B > </B > - Yes. No. Yes (using the CSV format). + Yes. No. Yes (using the CSV format). </P ></DIV ></DIV @@ -10047,7 +10588,7 @@ CLASS="answer" ><B > </B > - You have no idea. Bugzilla's query interface, particularly with the + You have no idea. Bugzilla's query interface, particularly with the advanced Boolean operators, is incredibly versatile. </P ></DIV @@ -10074,7 +10615,7 @@ CLASS="answer" ><B > </B > - Bugzilla does not lock records. It provides mid-air collision detection, + Bugzilla does not lock records. It provides mid-air collision detection, and offers the offending user a choice of options to deal with the conflict. </P ></DIV @@ -10104,8 +10645,8 @@ CLASS="answer" at <A HREF="http://www.mysql.com/doc/B/a/Backup.html" TARGET="_top" -> http://www.mysql.com/doc/B/a/Backup.html</A -> +>http://www.mysql.com/doc/B/a/Backup.html</A +>. </P ></DIV ></DIV @@ -10129,8 +10670,8 @@ CLASS="answer" ><B > </B > - Yes. However, commits to the database must wait - until the tables are unlocked. Bugzilla databases are typically + Yes. However, commits to the database must wait + until the tables are unlocked. Bugzilla databases are typically very small, and backups routinely take less than a minute. </P ></DIV @@ -10164,7 +10705,7 @@ CLASS="answer" </P ><P > Commercial Bug-tracking software typically costs somewhere upwards - of $20,000 or more for 5-10 floating licenses. Bugzilla consultation + of $20,000 or more for 5-10 floating licenses. Bugzilla consultation is available from skilled members of the newsgroup. Simple questions are answered there and then. </P @@ -10194,9 +10735,9 @@ CLASS="answer" ><B > </B > - It all depends on your level of commitment. Someone with much Bugzilla + It all depends on your level of commitment. Someone with much Bugzilla experience can get you up and running in less than a day, and - your Bugzilla install can run untended for years. If your + your Bugzilla install can run untended for years. If your Bugzilla strategy is critical to your business workflow, hire somebody with reasonable UNIX or Perl skills to handle your process management and bug-tracking maintenance & customization. @@ -10224,7 +10765,7 @@ CLASS="answer" ><B > </B > - No. MySQL asks, if you find their product valuable, that you purchase + No. MySQL asks, if you find their product valuable, that you purchase a support contract from them that suits your needs. </P ></DIV @@ -10258,7 +10799,7 @@ CLASS="answer" ><B > </B > - Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM + Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM >this makes MySQL as secure as taping a $100 to the floor of a football stadium bathroom for safekeeping.</EM @@ -10407,11 +10948,11 @@ CLASS="answer" ><B > </B > - Try Klaas Freitag's excellent patch for "whineatassigned" functionality. - You can find it at <A + Try Klaas Freitag's excellent patch for "whineatassigned" + functionality. You can find it in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679" TARGET="_top" ->http://bugzilla.mozilla.org/show_bug.cgi?id=6679</A +>bug 6679</A >. This patch is against an older version of Bugzilla, so you must apply the diffs manually. @@ -10443,7 +10984,7 @@ CLASS="answer" You can call bug_email.pl directly from your aliases file, with an entry like this: <A -NAME="AEN1886" +NAME="AEN1985" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -10454,7 +10995,7 @@ CLASS="BLOCKQUOTE" > However, this is fairly nasty and subject to problems; you also need to set up your smrsh (sendmail restricted shell) to allow - it. In a pinch, though, it can work. + it. In a pinch, though, it can work. </P ></DIV ></DIV @@ -10571,7 +11112,7 @@ CLASS="answer" </P ><P > If you never receive mail from Bugzilla, chances you do not have - sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked + sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked to, "/usr/lib/sendmail". </P ></DIV @@ -10606,7 +11147,7 @@ CLASS="answer" > Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle. Red Hat's newer version (based on 2.17.1 and soon to be merged into - the main distribution) runs on PostgreSQL. At this time we know of + the main distribution) runs on PostgreSQL. At this time we know of no recent ports of Bugzilla to Oracle but do intend to support it in the future (possibly the 2.20 time-frame). </P @@ -10645,15 +11186,15 @@ CLASS="filename" it finishes without errors, you're <EM >probably</EM -> OK. If it doesn't come back +> OK. If it doesn't come back OK (i.e. any red letters), there are certain things - Bugzilla can recover from and certain things it can't. If + Bugzilla can recover from and certain things it can't. If it can't auto-recover, I hope you're familiar with mysqladmin commands or have installed another way to - manage your database. Sanity Check, although it is a good + manage your database. Sanity Check, although it is a good basic check on your database integrity, by no means is a substitute for competent database administration and - avoiding deletion of data. It is not exhaustive, and was + avoiding deletion of data. It is not exhaustive, and was created to do a basic check for the most common problems in Bugzilla databases. </P @@ -10686,7 +11227,7 @@ CLASS="command" >mysql</B > command line utility to manually insert, delete and modify table - information. There are also more intuitive GUI clients available. + information. There are also more intuitive GUI clients available. Personal favorites of the Bugzilla team are <A HREF="http://www.phpmyadmin.net/" TARGET="_top" @@ -10782,7 +11323,7 @@ CLASS="answer" ><B > </B > - Well, you can synchronize or you can move bugs. Synchronization will + Well, you can synchronize or you can move bugs. Synchronization will only work one way -- you can create a read-only copy of the database at one site, and have it regularly updated at intervals from the main database. @@ -10852,8 +11393,8 @@ CLASS="answer" ><B > </B > - Not currently. Bundle::Bugzilla enormously simplifies Bugzilla - installation on UNIX systems. If someone can volunteer to + Not currently. Bundle::Bugzilla enormously simplifies Bugzilla + installation on UNIX systems. If someone can volunteer to create a suitable PPM bundle for Win32, it would be appreciated. </P ></DIV @@ -10887,7 +11428,7 @@ CLASS="answer" ><P > Microsoft has some advice on this matter, as well: <A -NAME="AEN1969" +NAME="AEN2068" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -10968,10 +11509,10 @@ CLASS="command" I reckon TimeDate and Data::Dumper come with the activeperl. You can check the ActiveState site for packages for installation through PPM. <A -HREF=" http://www.activestate.com/Packages/" +HREF="http://www.activestate.com/Packages/" TARGET="_top" -> http://www.activestate.com/Packages/</A -> +>http://www.activestate.com/Packages/</A +>. </P ></DIV ></DIV @@ -11019,7 +11560,7 @@ NAME="faq-use-query" ><B >A.7.2. </B > - The query page is very confusing. Isn't there a simpler way to query? + The query page is very confusing. Isn't there a simpler way to query? </P ></DIV ><DIV @@ -11056,8 +11597,7 @@ CLASS="answer" > </B > The current behavior is acceptable to bugzilla.mozilla.org and most - users. You have your choice of patches - to change this behavior, however. + users. You have your choice of patches to change this behavior, however. <P ></P ><TABLE @@ -11084,8 +11624,8 @@ TARGET="_top" ><P ></P > - Note that these patches are somewhat dated. You will need to apply - them manually. + Note that these patches are somewhat dated. You will need to apply + them manually. </P ></DIV ></DIV @@ -11101,7 +11641,7 @@ NAME="faq-use-attachment" >A.7.4. </B > I can't upload anything into the database via the "Create Attachment" - link. What am I doing wrong? + link. What am I doing wrong? </P ></DIV ><DIV @@ -11111,7 +11651,7 @@ CLASS="answer" > </B > The most likely cause is a very old browser or a browser that is - incompatible with file upload via POST. Download the latest Netscape, + incompatible with file upload via POST. Download the latest Netscape, Microsoft, or Mozilla browser to handle uploads correctly. </P ></DIV @@ -11137,8 +11677,8 @@ CLASS="answer" > </B > In the Bugzilla administrator UI, edit the keyword and it will let you - replace the old keyword name with a new one. This will cause a problem - with the keyword cache. Run sanitycheck.cgi to fix it. + replace the old keyword name with a new one. This will cause a problem + with the keyword cache. Run sanitycheck.cgi to fix it. </P ></DIV ></DIV @@ -11171,7 +11711,7 @@ CLASS="answer" > </B > Gerv and Myk suggest a 2-space indent, with embedded code sections on - their own line, in line with outer tags. Like this:</P + their own line, in line with outer tags. Like this:</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" @@ -11206,7 +11746,7 @@ CLASS="programlisting" ><P >Please note that many have differing opinions on this subject, and the existing templates in Bugzilla espouse both this and a 4-space - style. Either is acceptable; the above is preferred.</P + style. Either is acceptable; the above is preferred.</P ></DIV ></DIV ><DIV @@ -11244,7 +11784,7 @@ TARGET="_top" >here</A >. This list includes bugs for the 2.18 release that have already - been fixed and checked into CVS. Please consult the + been fixed and checked into CVS. Please consult the <A HREF="http://www.bugzilla.org/" TARGET="_top" @@ -11276,14 +11816,13 @@ CLASS="answer" ><B > </B > - This is well-documented here: <A + This is well-documented in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862" TARGET="_top" -> http://bugzilla.mozilla.org/show_bug.cgi?id=49862</A ->. Ultimately, it's as easy - as adding the "---" priority field to your localconfig file in the appropriate area, - re-running checksetup.pl, and then changing the default priority in your browser using - "editparams.cgi". +> bug 49862</A +>. Ultimately, it's as easy as adding the "---" priority field to your + localconfig file in the appropriate area, re-running checksetup.pl, and then changing the + default priority in your browser using "editparams.cgi". </P ></DIV ></DIV @@ -11332,7 +11871,7 @@ TARGET="_top" or new source file by clicking "Create a new attachment" link on the bug page you've just created, and include any descriptions of database changes you may make, into the bug - ID you submitted in step #1. Be sure and click the "Patch" checkbox + ID you submitted in step #1. Be sure and click the "Patch" checkbox to indicate the text you are sending is a patch! </P ></LI @@ -11340,7 +11879,7 @@ TARGET="_top" ><P > Announce your patch and the associated URL (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in - the newsgroup (netscape.public.mozilla.webtools). You'll get a really + the newsgroup (netscape.public.mozilla.webtools). You'll get a really good, fairly immediate reaction to the implications of your patch, which will also give us an idea how well-received the change would be. @@ -11490,7 +12029,7 @@ NAME="dbdoc" ><P >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 - darkness, "about the use of the word 'verified'.</P + darkness, "about the use of the word 'verified'."</P ><P >The room, previously filled with happy chatter, lapses into reverential silence as Certain Death (better known as the Vice President @@ -11517,7 +12056,7 @@ CLASS="section" ><HR><H2 CLASS="section" ><A -NAME="AEN2091" +NAME="AEN2190" ></A >B.2.1. Bugzilla Database Basics</H2 ><P @@ -11536,14 +12075,12 @@ CLASS="QUOTE" >"tinyint"</SPAN > - entry in MySQL. I recommend you refer to the MySQL documentation, - available at + entry in MySQL. I recommend you refer to the <A -HREF="http://www.mysql.com/doc.html" +HREF="http://www.mysql.com/documentation/" TARGET="_top" ->MySQL.com</A +>MySQL documentation</A > - . Below are the basics you need to know about the Bugzilla database. Check the chart above for more details.</P ><P @@ -11587,7 +12124,7 @@ HREF="http://www.mysql.com/php/manual.php3?section=Privilege_system" TARGET="_top" >MySQL searchable documentation</A ->. +>. </P ></LI ><LI @@ -11633,7 +12170,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN2118" +NAME="AEN2217" ></A >B.2.1.1. Bugzilla Database Tables</H3 ><P @@ -11704,14 +12241,14 @@ CLASS="programlisting" ><P CLASS="literallayout" ><br> - Here's an overview of what each table does. Most columns in each table have<br> + Here's an overview of what each table does. Most columns in each table have<br> descriptive names that make it fairly trivial to figure out their jobs.<br> <br> -attachments: This table stores all attachments to bugs. It tends to be your<br> +attachments: This table stores all attachments to bugs. It tends to be your<br> largest table, yet also generally has the fewest entries because file<br> attachments are so (relatively) large.<br> <br> -bugs: This is the core of your system. The bugs table stores most of the<br> +bugs: This is the core of your system. The bugs table stores most of the<br> current information about a bug, with the exception of the info stored in the<br> other tables.<br> <br> @@ -11719,26 +12256,26 @@ bugs_activity: This stores information regarding when -- a history file.<br> <br> cc: This tiny table simply stores all the CC information for any bug which has<br> -any entries in the CC field of the bug. Note that, like most other tables in<br> +any entries in the CC field of the bug. Note that, like most other tables in<br> Bugzilla, it does not refer to users by their user names, but by their unique<br> userid, stored as a primary key in the profiles table.<br> <br> components: This stores the programs and components (or products and<br> -components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "program"<br> +components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "program"<br> (product) field is the full name of the product, rather than some other unique<br> identifier, like bug_id and user_id are elsewhere in the database.<br> <br> dependencies: Stores data about those cool dependency trees.<br> <br> -fielddefs: A nifty table that defines other tables. For instance, when you<br> +fielddefs: A nifty table that defines other tables. For instance, when you<br> submit a form that changes the value of "AssignedTo" this table allows<br> translation to the actual field name "assigned_to" for entry into MySQL.<br> <br> -groups: defines bitmasks for groups. A bitmask is a number that can uniquely<br> -identify group memberships. For instance, say the group that is allowed to<br> +groups: defines bitmasks for groups. A bitmask is a number that can uniquely<br> +identify group memberships. For instance, say the group that is allowed to<br> tweak parameters is assigned a value of "1", the group that is allowed to edit<br> users is assigned a "2", and the group that is allowed to create new groups is<br> -assigned the bitmask of "4". By uniquely combining the group bitmasks (much<br> +assigned the bitmask of "4". By uniquely combining the group bitmasks (much<br> like the chmod command in UNIX,) you can identify a user is allowed to tweak<br> parameters and create groups, but not edit users, by giving him a bitmask of<br> "5", or a user allowed to edit users and create groups, but not tweak<br> @@ -11753,15 +12290,15 @@ keywords: Unlike what you'd think, this table  associated with which bug id's.<br> <br> logincookies: This stores every login cookie ever assigned to you for every<br> -machine you've ever logged into Bugzilla from. Curiously, it never does any<br> -housecleaning -- I see cookies in this file I've not used for months. However,<br> +machine you've ever logged into Bugzilla from. Curiously, it never does any<br> +housecleaning -- I see cookies in this file I've not used for months. However,<br> since Bugzilla never expires your cookie (for convenience' sake), it makes<br> sense.<br> <br> longdescs: The meat of bugzilla -- here is where all user comments are stored!<br> You've only got 2^24 bytes per comment (it's a mediumtext field), so speak<br> sparingly -- that's only the amount of space the Old Testament from the Bible<br> -would take (uncompressed, 16 megabytes). Each comment is keyed to the<br> +would take (uncompressed, 16 megabytes). Each comment is keyed to the<br> bug_id to which it's attached, so the order is necessarily chronological, for<br> comments are played back in the order in which they are received.<br> <br> @@ -11769,12 +12306,12 @@ milestones: Interesting that milestones are assoc in this table, but Bugzilla does not yet support differing milestones by<br> product through the standard configuration interfaces.<br> <br> -namedqueries: This is where everybody stores their "custom queries". Very<br> +namedqueries: This is where everybody stores their "custom queries". Very<br> cool feature; it beats the tar out of having to bookmark each cool query you<br> construct.<br> <br> products: What products you have, whether new bug entries are allowed for the<br> -product, what milestone you're working toward on that product, votes, etc. It<br> +product, what milestone you're working toward on that product, votes, etc. It<br> will be nice when the components table supports these same features, so you<br> could close a particular component for bug entry without having to close an<br> entire product...<br> @@ -11809,7 +12346,7 @@ mysql> show columns from table;<br> mysql> select * from table;<br> <br> -- note: this is a very bad idea to do on, for instance, the "bugs" table if<br> -you have 50,000 bugs. You'll be sitting there a while until you ctrl-c or<br> +you have 50,000 bugs. You'll be sitting there a while until you ctrl-c or<br> 50,000 bugs play across your screen.<br> <br> You can limit the display from above a little with the command, where<br> @@ -11822,7 +12359,7 @@ mysql> select * from table where (column mysql> select * from table where (column != "some info");<br> <br> Let's take our example from the introduction, and assume you need to change<br> -the word "verified" to "approved" in the resolution field. We know from the<br> +the word "verified" to "approved" in the resolution field. We know from the<br> above information that the resolution is likely to be stored in the "bugs"<br> table. Note we'll need to change a little perl code as well as this database<br> change, but I won't plunge into that in this document. Let's verify the<br> @@ -11833,10 +12370,10 @@ mysql> show columns from bugs<br> (exceedingly long output truncated here)<br> | bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL | UNCONFIRMED||<br> <br> - Sorry about that long line. We see from this that the "bug status" column is<br> + Sorry about that long line. We see from this that the "bug status" column is<br> an "enum field", which is a MySQL peculiarity where a string type field can<br> -only have certain types of entries. While I think this is very cool, it's not<br> -standard SQL. Anyway, we need to add the possible enum field entry<br> +only have certain types of entries. While I think this is very cool, it's not<br> +standard SQL. Anyway, we need to add the possible enum field entry<br> 'APPROVED' by altering the "bugs" table.<br> <br> mysql> ALTER table bugs CHANGE bug_status bug_status<br> @@ -11852,15 +12389,15 @@ mysql> show columns from bugs;<br> <br> you'll see that the bug_status field has an extra "APPROVED" enum that's<br> available! Cool thing, too, is that this is reflected on your query page as<br> -well -- you can query by the new status. But how's it fit into the existing<br> +well -- you can query by the new status. But how's it fit into the existing<br> scheme of things?<br> Looks like you need to go back and look for instances of the word "verified"<br> in the perl code for Bugzilla -- wherever you find "verified", change it to<br> "approved" and you're in business (make sure that's a case-insensitive search).<br> Although you can query by the enum field, you can't give something a status<br> -of "APPROVED" until you make the perl changes. Note that this change I<br> +of "APPROVED" until you make the perl changes. Note that this change I<br> mentioned can also be done by editing checksetup.pl, which automates a lot of<br> -this. But you need to know this stuff anyway, right?<br> +this. But you need to know this stuff anyway, right?<br> </P ></DIV ></DIV @@ -12045,8 +12582,8 @@ NAME="variants" <A HREF="http://linas.org/linux/pm.html" TARGET="_top" -> http://linas.org/linux/pm.html</A -> +>http://linas.org/linux/pm.html</A +>. </P ><DIV CLASS="section" @@ -12058,26 +12595,25 @@ NAME="variant-redhat" >D.1. Red Hat Bugzilla</H1 ><P >Red Hat's old fork of Bugzilla which was based on version 2.8 is now - obsolete. The newest version in use is based on version 2.17.1 and is in - the process of being integrated into the main Bugzilla source tree. The + obsolete. The newest version in use is based on version 2.17.1 and is in + the process of being integrated into the main Bugzilla source tree. The back-end is modified to work with PostgreSQL instead of MySQL and they have custom templates to get their desired look and feel, but other than that it - is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of + is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of effort to make sure that the changes he made could be integrated back into the main tree. <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" TARGET="_top" ->Bug - 98304</A -> exists to track this integration. +>Bug 98304</A +> + exists to track this integration. </P ><P ->URL: - <A +>URL: <A HREF="http://bugzilla.redhat.com/bugzilla/" TARGET="_top" -> http://bugzilla.redhat.com/bugzilla/</A +>http://bugzilla.redhat.com/bugzilla/</A > </P ><P @@ -12130,11 +12666,10 @@ NAME="variant-scarab" >Scarab is a new open source bug-tracking system built using Java Servlet technology. It is currently at version 1.0 beta 13.</P ><P ->URL: - <A +>URL: <A HREF="http://scarab.tigris.org/" TARGET="_top" ->http://scarab.tigris.org</A +>http://scarab.tigris.org/</A > </P ><P @@ -12156,12 +12691,10 @@ CLASS="QUOTE" > functionality.</P ><P ->URL: - <A +>URL: <A HREF="http://www.perforce.com/perforce/technotes/note052.html" TARGET="_top" -> http://www.perforce.com/perforce/technotes/note052.html - </A +>http://www.perforce.com/perforce/technotes/note052.html</A > </P ><P @@ -12180,11 +12713,10 @@ NAME="variant-sourceforge" 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 ><P ->URL: - <A +>URL: <A HREF="http://www.sourceforge.net" TARGET="_top" -> http://www.sourceforge.net</A +>http://www.sourceforge.net</A > </P ><P @@ -12201,7 +12733,7 @@ NAME="gfdl" ><P >Version 1.1, March 2000</P ><A -NAME="AEN2206" +NAME="AEN2305" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12639,10 +13171,8 @@ NAME="gfdl-10" <A HREF="http://www.gnu.org/copyleft/" TARGET="_top" -> http://www.gnu.org/copyleft/</A -> - - .</P +>http://www.gnu.org/copyleft/</A +>.</P ><P >Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of @@ -12666,7 +13196,7 @@ NAME="gfdl-howto" of the License in the document and put the following copyright and license notices just after the title page:</P ><A -NAME="AEN2296" +NAME="AEN2395" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12703,7 +13233,7 @@ CLASS="glossdiv" ><H1 CLASS="glossdiv" ><A -NAME="AEN2301" +NAME="AEN2400" ></A >0-9, high ascii</H1 ><DL @@ -12986,13 +13516,9 @@ NAME="gloss-component" NAME="gloss-cpan" ></A ><B -> <SPAN -CLASS="acronym" ->CPAN</SPAN -> - </B +>Comprehensive Perl Archive Network</B ></DT -><DD +> (CPAN)<DD ><P > <SPAN CLASS="acronym" @@ -13233,6 +13759,22 @@ NAME="gloss-p" >P</H1 ><DL ><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 >Product</B ></DT @@ -13499,7 +14041,7 @@ NAME="gloss-zarro" Terry had the following to say: </P ><A -NAME="AEN2521" +NAME="AEN2626" ></A ><TABLE BORDER="0" diff --git a/docs/html/administration.html b/docs/html/administration.html index f8a111328..609e9049e 100644 --- a/docs/html/administration.html +++ b/docs/html/administration.html @@ -180,22 +180,22 @@ HREF="cust-templates.html" ><DL ><DT >5.7.1. <A -HREF="cust-templates.html#AEN1425" +HREF="cust-templates.html#AEN1524" >What to Edit</A ></DT ><DT >5.7.2. <A -HREF="cust-templates.html#AEN1444" +HREF="cust-templates.html#AEN1543" >How To Edit Templates</A ></DT ><DT >5.7.3. <A -HREF="cust-templates.html#AEN1454" +HREF="cust-templates.html#AEN1553" >Template Formats</A ></DT ><DT >5.7.4. <A -HREF="cust-templates.html#AEN1467" +HREF="cust-templates.html#AEN1566" >Particular Templates</A ></DT ></DL diff --git a/docs/html/conventions.html b/docs/html/conventions.html index 6964b1df6..bbb3293a8 100644 --- a/docs/html/conventions.html +++ b/docs/html/conventions.html @@ -81,7 +81,7 @@ NAME="conventions" ><DIV CLASS="informaltable" ><A -NAME="AEN110" +NAME="AEN111" ></A ><P ></P diff --git a/docs/html/copyright.html b/docs/html/copyright.html index 83b9d7bd9..b206f5344 100644 --- a/docs/html/copyright.html +++ b/docs/html/copyright.html @@ -96,9 +96,9 @@ VALIGN="TOP" ><P > Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation - License, Version 1.1 or any later version published by the + License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no - Front-Cover Texts, and with no Back-Cover Texts. A copy of + Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in <A HREF="gfdl.html" >Appendix E</A diff --git a/docs/html/credits.html b/docs/html/credits.html index ff4603d0d..ffe2b0dc2 100644 --- a/docs/html/credits.html +++ b/docs/html/credits.html @@ -184,13 +184,13 @@ HREF="news://news.mozilla.org/netscape/public/mozilla/webtools" TARGET="_top" >news://news.mozilla.org/netscape/public/mozilla/webtools</A > - newsgroup. Without your discussions, insight, suggestions, and patches, + newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened. </P ><P > Thanks also go to the following people for significant contributions 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 ></DIV diff --git a/docs/html/cust-templates.html b/docs/html/cust-templates.html index e34e1815a..fc7f972a9 100644 --- a/docs/html/cust-templates.html +++ b/docs/html/cust-templates.html @@ -99,7 +99,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN1425" +NAME="AEN1524" ></A >5.7.1. What to Edit</H2 ><P @@ -214,7 +214,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN1444" +NAME="AEN1543" ></A >5.7.2. How To Edit Templates</H2 ><P @@ -296,7 +296,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN1454" +NAME="AEN1553" ></A >5.7.3. Template Formats</H2 ><P @@ -358,7 +358,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN1467" +NAME="AEN1566" ></A >5.7.4. Particular Templates</H2 ><P diff --git a/docs/html/dbdoc.html b/docs/html/dbdoc.html index 8e0109d0d..82548422b 100644 --- a/docs/html/dbdoc.html +++ b/docs/html/dbdoc.html @@ -108,7 +108,7 @@ NAME="dbdoc" ><P >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 - darkness, "about the use of the word 'verified'.</P + darkness, "about the use of the word 'verified'."</P ><P >The room, previously filled with happy chatter, lapses into reverential silence as Certain Death (better known as the Vice President @@ -135,7 +135,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN2091" +NAME="AEN2190" ></A >B.2.1. Bugzilla Database Basics</H2 ><P @@ -154,14 +154,12 @@ CLASS="QUOTE" >"tinyint"</SPAN > - entry in MySQL. I recommend you refer to the MySQL documentation, - available at + entry in MySQL. I recommend you refer to the <A -HREF="http://www.mysql.com/doc.html" +HREF="http://www.mysql.com/documentation/" TARGET="_top" ->MySQL.com</A +>MySQL documentation</A > - . Below are the basics you need to know about the Bugzilla database. Check the chart above for more details.</P ><P @@ -205,7 +203,7 @@ HREF="http://www.mysql.com/php/manual.php3?section=Privilege_system" TARGET="_top" >MySQL searchable documentation</A ->. +>. </P ></LI ><LI @@ -251,7 +249,7 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN2118" +NAME="AEN2217" ></A >B.2.1.1. Bugzilla Database Tables</H3 ><P @@ -322,14 +320,14 @@ CLASS="programlisting" ><P CLASS="literallayout" ><br> - Here's an overview of what each table does. Most columns in each table have<br> + Here's an overview of what each table does. Most columns in each table have<br> descriptive names that make it fairly trivial to figure out their jobs.<br> <br> -attachments: This table stores all attachments to bugs. It tends to be your<br> +attachments: This table stores all attachments to bugs. It tends to be your<br> largest table, yet also generally has the fewest entries because file<br> attachments are so (relatively) large.<br> <br> -bugs: This is the core of your system. The bugs table stores most of the<br> +bugs: This is the core of your system. The bugs table stores most of the<br> current information about a bug, with the exception of the info stored in the<br> other tables.<br> <br> @@ -337,26 +335,26 @@ bugs_activity: This stores information regarding when -- a history file.<br> <br> cc: This tiny table simply stores all the CC information for any bug which has<br> -any entries in the CC field of the bug. Note that, like most other tables in<br> +any entries in the CC field of the bug. Note that, like most other tables in<br> Bugzilla, it does not refer to users by their user names, but by their unique<br> userid, stored as a primary key in the profiles table.<br> <br> components: This stores the programs and components (or products and<br> -components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "program"<br> +components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "program"<br> (product) field is the full name of the product, rather than some other unique<br> identifier, like bug_id and user_id are elsewhere in the database.<br> <br> dependencies: Stores data about those cool dependency trees.<br> <br> -fielddefs: A nifty table that defines other tables. For instance, when you<br> +fielddefs: A nifty table that defines other tables. For instance, when you<br> submit a form that changes the value of "AssignedTo" this table allows<br> translation to the actual field name "assigned_to" for entry into MySQL.<br> <br> -groups: defines bitmasks for groups. A bitmask is a number that can uniquely<br> -identify group memberships. For instance, say the group that is allowed to<br> +groups: defines bitmasks for groups. A bitmask is a number that can uniquely<br> +identify group memberships. For instance, say the group that is allowed to<br> tweak parameters is assigned a value of "1", the group that is allowed to edit<br> users is assigned a "2", and the group that is allowed to create new groups is<br> -assigned the bitmask of "4". By uniquely combining the group bitmasks (much<br> +assigned the bitmask of "4". By uniquely combining the group bitmasks (much<br> like the chmod command in UNIX,) you can identify a user is allowed to tweak<br> parameters and create groups, but not edit users, by giving him a bitmask of<br> "5", or a user allowed to edit users and create groups, but not tweak<br> @@ -371,15 +369,15 @@ keywords: Unlike what you'd think, this table  associated with which bug id's.<br> <br> logincookies: This stores every login cookie ever assigned to you for every<br> -machine you've ever logged into Bugzilla from. Curiously, it never does any<br> -housecleaning -- I see cookies in this file I've not used for months. However,<br> +machine you've ever logged into Bugzilla from. Curiously, it never does any<br> +housecleaning -- I see cookies in this file I've not used for months. However,<br> since Bugzilla never expires your cookie (for convenience' sake), it makes<br> sense.<br> <br> longdescs: The meat of bugzilla -- here is where all user comments are stored!<br> You've only got 2^24 bytes per comment (it's a mediumtext field), so speak<br> sparingly -- that's only the amount of space the Old Testament from the Bible<br> -would take (uncompressed, 16 megabytes). Each comment is keyed to the<br> +would take (uncompressed, 16 megabytes). Each comment is keyed to the<br> bug_id to which it's attached, so the order is necessarily chronological, for<br> comments are played back in the order in which they are received.<br> <br> @@ -387,12 +385,12 @@ milestones: Interesting that milestones are assoc in this table, but Bugzilla does not yet support differing milestones by<br> product through the standard configuration interfaces.<br> <br> -namedqueries: This is where everybody stores their "custom queries". Very<br> +namedqueries: This is where everybody stores their "custom queries". Very<br> cool feature; it beats the tar out of having to bookmark each cool query you<br> construct.<br> <br> products: What products you have, whether new bug entries are allowed for the<br> -product, what milestone you're working toward on that product, votes, etc. It<br> +product, what milestone you're working toward on that product, votes, etc. It<br> will be nice when the components table supports these same features, so you<br> could close a particular component for bug entry without having to close an<br> entire product...<br> @@ -427,7 +425,7 @@ mysql> show columns from table;<br> mysql> select * from table;<br> <br> -- note: this is a very bad idea to do on, for instance, the "bugs" table if<br> -you have 50,000 bugs. You'll be sitting there a while until you ctrl-c or<br> +you have 50,000 bugs. You'll be sitting there a while until you ctrl-c or<br> 50,000 bugs play across your screen.<br> <br> You can limit the display from above a little with the command, where<br> @@ -440,7 +438,7 @@ mysql> select * from table where (column mysql> select * from table where (column != "some info");<br> <br> Let's take our example from the introduction, and assume you need to change<br> -the word "verified" to "approved" in the resolution field. We know from the<br> +the word "verified" to "approved" in the resolution field. We know from the<br> above information that the resolution is likely to be stored in the "bugs"<br> table. Note we'll need to change a little perl code as well as this database<br> change, but I won't plunge into that in this document. Let's verify the<br> @@ -451,10 +449,10 @@ mysql> show columns from bugs<br> (exceedingly long output truncated here)<br> | bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL | UNCONFIRMED||<br> <br> - Sorry about that long line. We see from this that the "bug status" column is<br> + Sorry about that long line. We see from this that the "bug status" column is<br> an "enum field", which is a MySQL peculiarity where a string type field can<br> -only have certain types of entries. While I think this is very cool, it's not<br> -standard SQL. Anyway, we need to add the possible enum field entry<br> +only have certain types of entries. While I think this is very cool, it's not<br> +standard SQL. Anyway, we need to add the possible enum field entry<br> 'APPROVED' by altering the "bugs" table.<br> <br> mysql> ALTER table bugs CHANGE bug_status bug_status<br> @@ -470,15 +468,15 @@ mysql> show columns from bugs;<br> <br> you'll see that the bug_status field has an extra "APPROVED" enum that's<br> available! Cool thing, too, is that this is reflected on your query page as<br> -well -- you can query by the new status. But how's it fit into the existing<br> +well -- you can query by the new status. But how's it fit into the existing<br> scheme of things?<br> Looks like you need to go back and look for instances of the word "verified"<br> in the perl code for Bugzilla -- wherever you find "verified", change it to<br> "approved" and you're in business (make sure that's a case-insensitive search).<br> Although you can query by the enum field, you can't give something a status<br> -of "APPROVED" until you make the perl changes. Note that this change I<br> +of "APPROVED" until you make the perl changes. Note that this change I<br> mentioned can also be done by editing checksetup.pl, which automates a lot of<br> -this. But you need to know this stuff anyway, right?<br> +this. But you need to know this stuff anyway, right?<br> </P ></DIV ></DIV diff --git a/docs/html/disclaimer.html b/docs/html/disclaimer.html index ce2420afa..b549111ce 100644 --- a/docs/html/disclaimer.html +++ b/docs/html/disclaimer.html @@ -87,15 +87,15 @@ NAME="disclaimer" </P ><P > All copyrights are held by their respective owners, unless - specifically noted otherwise. Use of a term in this document + specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. </P ><P > Naming of particular products or brands should not be seen as - endorsements, with the exception of the term "GNU/Linux". We + endorsements, with the exception of the term "GNU/Linux". We wholeheartedly endorse the use of GNU/Linux in every situation - where it is appropriate. It is an extremely versatile, stable, + where it is appropriate. It is an extremely versatile, stable, and robust operating system that offers an ideal operating environment for Bugzilla. </P @@ -110,10 +110,10 @@ NAME="disclaimer" documented or fixed in the code, security holes surely exist. Great care should be taken both in the installation and usage of this software. Carefully consider the implications of installing - other network services with Bugzilla. The Bugzilla development + other network services with Bugzilla. The Bugzilla development team members, Netscape Communications, America Online Inc., and any affiliated developers or sponsors assume no liability for - your use of this product. You have the source code to this + your use of this product. You have the source code to this product, and are responsible for auditing it yourself to ensure your security needs are met. </P diff --git a/docs/html/extraconfig.html b/docs/html/extraconfig.html index 917e839bf..4200fa427 100644 --- a/docs/html/extraconfig.html +++ b/docs/html/extraconfig.html @@ -81,7 +81,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN687" +NAME="AEN786" ></A >4.2.1. Dependency Charts</H2 ><P @@ -145,7 +145,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN702" +NAME="AEN801" ></A >4.2.2. Bug Graphs</H2 ><P @@ -204,7 +204,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN715" +NAME="AEN814" ></A >4.2.3. The Whining Cron</H2 ><P @@ -386,13 +386,13 @@ HREF="http://www.openldap.org/" TARGET="_top" > OpenLDAP</A > 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 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630" TARGET="_top" -> http://bugzilla.mozilla.org/show_bug.cgi?id=158630</A ->, then set - the following object classes for your users: +>bug 158630</A +> + , then set the following object classes for your users: <P ></P @@ -450,7 +450,7 @@ NAME="content-type" <A HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3" TARGET="_top" -> 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 rectify the problem if your Bugzilla installation is intended for an @@ -523,13 +523,13 @@ VALIGN="TOP" ><P >Using <meta> tags to set the charset is not recommended, as there's a bug in Netscape 4.x which causes pages - marked up in this way to load twice. See + marked up in this way to load twice. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" TARGET="_top" ->bug - 126266</A -> for more information including progress toward making +>bug 126266</A +> + for more information including progress toward making bugzilla charset aware by default. </P ></TD @@ -610,7 +610,7 @@ CLASS="filename" HREF="http://www.snert.com/Software/mod_throttle/" TARGET="_top" >http://www.snert.com/Software/mod_throttle/</A -> +>. Follow the instructions to install into your Apache install. <EM >This module only functions with the Apache web diff --git a/docs/html/faq.html b/docs/html/faq.html index a45b7b7e3..7c8ba0cea 100644 --- a/docs/html/faq.html +++ b/docs/html/faq.html @@ -497,7 +497,7 @@ HREF="faq.html#faq-use-changeaddress" ><DT >A.7.2. <A HREF="faq.html#faq-use-query" -> The query page is very confusing. Isn't there a simpler way to query? +> The query page is very confusing. Isn't there a simpler way to query? </A ></DT ><DT @@ -511,7 +511,7 @@ HREF="faq.html#faq-use-accept" >A.7.4. <A HREF="faq.html#faq-use-attachment" > I can't upload anything into the database via the "Create Attachment" - link. What am I doing wrong? + link. What am I doing wrong? </A ></DT ><DT @@ -587,8 +587,8 @@ CLASS="answer" information at <A HREF="http://www.bugzilla.org/" TARGET="_top" -> http://www.bugzilla.org/</A -> +>http://www.bugzilla.org/</A +>. </P ></DIV ></DIV @@ -616,8 +616,8 @@ CLASS="answer" See details at <A HREF="http://www.mozilla.org/MPL/" TARGET="_top" -> http://www.mozilla.org/MPL/</A -> +>http://www.mozilla.org/MPL/</A +>. </P ></DIV ></DIV @@ -653,7 +653,7 @@ TARGET="_top" > <A HREF="http://www.collab.net/" TARGET="_top" ->www.collab.net</A +>http://www.collab.net/</A > offers Bugzilla as part of their standard offering to large projects. They do have some minimum fees that are pretty hefty, and generally @@ -691,7 +691,7 @@ CLASS="answer" There are <EM >dozens</EM > of major companies with public - Bugzilla sites to track bugs in their products. A few include: + Bugzilla sites to track bugs in their products. A few include: <P ></P ><TABLE @@ -799,7 +799,7 @@ HREF="http://www.bugzilla.org/who_we_are.html" TARGET="_top" >core team</A >, - led by Dave Miller (justdave@netscape.com). + led by Dave Miller (justdave@netscape.com). </P ></DIV ></DIV @@ -863,8 +863,8 @@ CLASS="answer" > </B > It may be that the support has not been built yet, or that you - have not yet found it. Bugzilla is making tremendous strides in - usability, customizability, scalability, and user interface. It + have not yet found it. Bugzilla is making tremendous strides in + usability, customizability, scalability, and user interface. It is widely considered the most complete and popular open-source bug-tracking software in existence. </P @@ -907,16 +907,16 @@ CLASS="answer" </P ><P > There is currently work in progress to make Bugzilla work on - PostgreSQL and Sybase in the default distribution. You can track - the progress of these initiatives in bugs <A + PostgreSQL and Sybase in the default distribution. You can track + the progress of these initiatives in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" TARGET="_top" ->98304</A +>bug 98304</A > and <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130" TARGET="_top" ->173130</A +>bug 173130</A > respectively. </P @@ -956,11 +956,11 @@ CLASS="filename" > because when Terry first started writing the code for mozilla.org he needed a version of Perl and other tools that were completely under his - control. This location was abandoned for the 2.18 release in favor + control. This location was abandoned for the 2.18 release in favor of the more sensible <TT CLASS="filename" >/usr/bin/perl</TT ->. If you +>. If you installed an older verion of Bugzilla and created the symlink we suggested, you can remove it now (provided that you don't have anything else, such as Bonsai, using it and you don't intend to @@ -993,7 +993,7 @@ CLASS="answer" > </B > Yes, the following bit of perl magic will change all the shebang - lines. Be sure to change <TT + lines. Be sure to change <TT CLASS="filename" >/usr/local/bin/perl</TT > @@ -1100,7 +1100,7 @@ CLASS="answer" ><B > </B > - It is web and e-mail based. You can edit bugs by sending specially + It is web and e-mail based. You can edit bugs by sending specially formatted email to a properly configured Bugzilla, or control via the web. </P ></DIV @@ -1203,7 +1203,7 @@ CLASS="answer" > </B > Yes - any sort of attachment is allowed, although administrators can - configure a maximum size. + configure a maximum size. Bugzilla gives the user the option of either using the MIME-type supplied by the browser, choosing from a pre-defined list or manually typing any arbitrary MIME-type. @@ -1232,17 +1232,17 @@ CLASS="answer" ><B > </B > - Yes. However, modifying some fields, notably those related to bug + Yes. However, modifying some fields, notably those related to bug progression states, also require adjusting the program logic to compensate for the change. </P ><P > 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 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037" TARGET="_top" ->http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A +>bug 91037</A > </P ></DIV @@ -1268,12 +1268,12 @@ CLASS="answer" ><B > </B > - Yes. Look at <A + Yes. Look at <A HREF="http://bugzilla.mozilla.org/report.cgi" TARGET="_top" -> http://bugzilla.mozilla.org/report.cgi</A -> for samples of what - Bugzilla can do in reporting and graphing. +>http://bugzilla.mozilla.org/report.cgi</A +> + for samples of what Bugzilla can do in reporting and graphing. </P ><P > If you can not get the reports you want from the included reporting @@ -1306,7 +1306,7 @@ CLASS="answer" ><B > </B > - Email notification is user-configurable. By default, the bug id and + Email notification is user-configurable. By default, the bug id and Summary of the bug report accompany each email notification, along with a list of the changes made. </P @@ -1384,7 +1384,7 @@ VALIGN="TOP" > If you decide to use the bugzilla_email integration features to allow Bugzilla to record responses to mail with the associated bug, you may need to caution your users to set their mailer to "respond - to messages in the format in which they were sent". For security reasons + to messages in the format in which they were sent". For security reasons Bugzilla ignores HTML tags in comments, and if a user sends HTML-based email into Bugzilla the resulting comment looks downright awful. </P @@ -1421,7 +1421,7 @@ CLASS="answer" > Bugzilla can output buglists as HTML (the default), CSV or RDF. The link for CSV can be found at the bottom of the buglist in HTML - format. This CSV format can easily be imported into MS Excel or + format. This CSV format can easily be imported into MS Excel or other spread-sheet applications. </P ><P @@ -1429,7 +1429,7 @@ CLASS="answer" <TT CLASS="computeroutput" >&ctype=rdf</TT -> to the URL. RDF +> to the URL. RDF is meant to be machine readable and thus it is assumed that the URL would be generated progmatically so there is no user visible link to this format. @@ -1479,15 +1479,15 @@ CLASS="answer" ><B > </B > - Yes. For more information including available translated templates, + Yes. For more information including available translated templates, see <A HREF="http://www.bugzilla.org/download.html#localizations" TARGET="_top" >http://www.bugzilla.org/download.html#localizations</A >. The admin interfaces are still not included in these translated - templates and is therefore still English only. Also, there may be - issues with the charset not being declared. See <A + templates and is therefore still English only. Also, there may be + issues with the charset not being declared. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266" TARGET="_top" >bug 126226</A @@ -1517,7 +1517,7 @@ CLASS="answer" ><B > </B > - Yes. No. Yes (using the CSV format). + Yes. No. Yes (using the CSV format). </P ></DIV ></DIV @@ -1542,7 +1542,7 @@ CLASS="answer" ><B > </B > - You have no idea. Bugzilla's query interface, particularly with the + You have no idea. Bugzilla's query interface, particularly with the advanced Boolean operators, is incredibly versatile. </P ></DIV @@ -1569,7 +1569,7 @@ CLASS="answer" ><B > </B > - Bugzilla does not lock records. It provides mid-air collision detection, + Bugzilla does not lock records. It provides mid-air collision detection, and offers the offending user a choice of options to deal with the conflict. </P ></DIV @@ -1599,8 +1599,8 @@ CLASS="answer" at <A HREF="http://www.mysql.com/doc/B/a/Backup.html" TARGET="_top" -> http://www.mysql.com/doc/B/a/Backup.html</A -> +>http://www.mysql.com/doc/B/a/Backup.html</A +>. </P ></DIV ></DIV @@ -1624,8 +1624,8 @@ CLASS="answer" ><B > </B > - Yes. However, commits to the database must wait - until the tables are unlocked. Bugzilla databases are typically + Yes. However, commits to the database must wait + until the tables are unlocked. Bugzilla databases are typically very small, and backups routinely take less than a minute. </P ></DIV @@ -1659,7 +1659,7 @@ CLASS="answer" </P ><P > Commercial Bug-tracking software typically costs somewhere upwards - of $20,000 or more for 5-10 floating licenses. Bugzilla consultation + of $20,000 or more for 5-10 floating licenses. Bugzilla consultation is available from skilled members of the newsgroup. Simple questions are answered there and then. </P @@ -1689,9 +1689,9 @@ CLASS="answer" ><B > </B > - It all depends on your level of commitment. Someone with much Bugzilla + It all depends on your level of commitment. Someone with much Bugzilla experience can get you up and running in less than a day, and - your Bugzilla install can run untended for years. If your + your Bugzilla install can run untended for years. If your Bugzilla strategy is critical to your business workflow, hire somebody with reasonable UNIX or Perl skills to handle your process management and bug-tracking maintenance & customization. @@ -1719,7 +1719,7 @@ CLASS="answer" ><B > </B > - No. MySQL asks, if you find their product valuable, that you purchase + No. MySQL asks, if you find their product valuable, that you purchase a support contract from them that suits your needs. </P ></DIV @@ -1753,7 +1753,7 @@ CLASS="answer" ><B > </B > - Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM + Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM >this makes MySQL as secure as taping a $100 to the floor of a football stadium bathroom for safekeeping.</EM @@ -1902,11 +1902,11 @@ CLASS="answer" ><B > </B > - Try Klaas Freitag's excellent patch for "whineatassigned" functionality. - You can find it at <A + Try Klaas Freitag's excellent patch for "whineatassigned" + functionality. You can find it in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679" TARGET="_top" ->http://bugzilla.mozilla.org/show_bug.cgi?id=6679</A +>bug 6679</A >. This patch is against an older version of Bugzilla, so you must apply the diffs manually. @@ -1938,7 +1938,7 @@ CLASS="answer" You can call bug_email.pl directly from your aliases file, with an entry like this: <A -NAME="AEN1886" +NAME="AEN1985" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -1949,7 +1949,7 @@ CLASS="BLOCKQUOTE" > However, this is fairly nasty and subject to problems; you also need to set up your smrsh (sendmail restricted shell) to allow - it. In a pinch, though, it can work. + it. In a pinch, though, it can work. </P ></DIV ></DIV @@ -2066,7 +2066,7 @@ CLASS="answer" </P ><P > If you never receive mail from Bugzilla, chances you do not have - sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked + sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked to, "/usr/lib/sendmail". </P ></DIV @@ -2101,7 +2101,7 @@ CLASS="answer" > Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle. Red Hat's newer version (based on 2.17.1 and soon to be merged into - the main distribution) runs on PostgreSQL. At this time we know of + the main distribution) runs on PostgreSQL. At this time we know of no recent ports of Bugzilla to Oracle but do intend to support it in the future (possibly the 2.20 time-frame). </P @@ -2140,15 +2140,15 @@ CLASS="filename" it finishes without errors, you're <EM >probably</EM -> OK. If it doesn't come back +> OK. If it doesn't come back OK (i.e. any red letters), there are certain things - Bugzilla can recover from and certain things it can't. If + Bugzilla can recover from and certain things it can't. If it can't auto-recover, I hope you're familiar with mysqladmin commands or have installed another way to - manage your database. Sanity Check, although it is a good + manage your database. Sanity Check, although it is a good basic check on your database integrity, by no means is a substitute for competent database administration and - avoiding deletion of data. It is not exhaustive, and was + avoiding deletion of data. It is not exhaustive, and was created to do a basic check for the most common problems in Bugzilla databases. </P @@ -2181,7 +2181,7 @@ CLASS="command" >mysql</B > command line utility to manually insert, delete and modify table - information. There are also more intuitive GUI clients available. + information. There are also more intuitive GUI clients available. Personal favorites of the Bugzilla team are <A HREF="http://www.phpmyadmin.net/" TARGET="_top" @@ -2277,7 +2277,7 @@ CLASS="answer" ><B > </B > - Well, you can synchronize or you can move bugs. Synchronization will + Well, you can synchronize or you can move bugs. Synchronization will only work one way -- you can create a read-only copy of the database at one site, and have it regularly updated at intervals from the main database. @@ -2347,8 +2347,8 @@ CLASS="answer" ><B > </B > - Not currently. Bundle::Bugzilla enormously simplifies Bugzilla - installation on UNIX systems. If someone can volunteer to + Not currently. Bundle::Bugzilla enormously simplifies Bugzilla + installation on UNIX systems. If someone can volunteer to create a suitable PPM bundle for Win32, it would be appreciated. </P ></DIV @@ -2382,7 +2382,7 @@ CLASS="answer" ><P > Microsoft has some advice on this matter, as well: <A -NAME="AEN1969" +NAME="AEN2068" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -2463,10 +2463,10 @@ CLASS="command" I reckon TimeDate and Data::Dumper come with the activeperl. You can check the ActiveState site for packages for installation through PPM. <A -HREF=" http://www.activestate.com/Packages/" +HREF="http://www.activestate.com/Packages/" TARGET="_top" -> http://www.activestate.com/Packages/</A -> +>http://www.activestate.com/Packages/</A +>. </P ></DIV ></DIV @@ -2514,7 +2514,7 @@ NAME="faq-use-query" ><B >A.7.2. </B > - The query page is very confusing. Isn't there a simpler way to query? + The query page is very confusing. Isn't there a simpler way to query? </P ></DIV ><DIV @@ -2551,8 +2551,7 @@ CLASS="answer" > </B > The current behavior is acceptable to bugzilla.mozilla.org and most - users. You have your choice of patches - to change this behavior, however. + users. You have your choice of patches to change this behavior, however. <P ></P ><TABLE @@ -2579,8 +2578,8 @@ TARGET="_top" ><P ></P > - Note that these patches are somewhat dated. You will need to apply - them manually. + Note that these patches are somewhat dated. You will need to apply + them manually. </P ></DIV ></DIV @@ -2596,7 +2595,7 @@ NAME="faq-use-attachment" >A.7.4. </B > I can't upload anything into the database via the "Create Attachment" - link. What am I doing wrong? + link. What am I doing wrong? </P ></DIV ><DIV @@ -2606,7 +2605,7 @@ CLASS="answer" > </B > The most likely cause is a very old browser or a browser that is - incompatible with file upload via POST. Download the latest Netscape, + incompatible with file upload via POST. Download the latest Netscape, Microsoft, or Mozilla browser to handle uploads correctly. </P ></DIV @@ -2632,8 +2631,8 @@ CLASS="answer" > </B > In the Bugzilla administrator UI, edit the keyword and it will let you - replace the old keyword name with a new one. This will cause a problem - with the keyword cache. Run sanitycheck.cgi to fix it. + replace the old keyword name with a new one. This will cause a problem + with the keyword cache. Run sanitycheck.cgi to fix it. </P ></DIV ></DIV @@ -2666,7 +2665,7 @@ CLASS="answer" > </B > Gerv and Myk suggest a 2-space indent, with embedded code sections on - their own line, in line with outer tags. Like this:</P + their own line, in line with outer tags. Like this:</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" @@ -2701,7 +2700,7 @@ CLASS="programlisting" ><P >Please note that many have differing opinions on this subject, and the existing templates in Bugzilla espouse both this and a 4-space - style. Either is acceptable; the above is preferred.</P + style. Either is acceptable; the above is preferred.</P ></DIV ></DIV ><DIV @@ -2739,7 +2738,7 @@ TARGET="_top" >here</A >. This list includes bugs for the 2.18 release that have already - been fixed and checked into CVS. Please consult the + been fixed and checked into CVS. Please consult the <A HREF="http://www.bugzilla.org/" TARGET="_top" @@ -2771,14 +2770,13 @@ CLASS="answer" ><B > </B > - This is well-documented here: <A + This is well-documented in <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862" TARGET="_top" -> http://bugzilla.mozilla.org/show_bug.cgi?id=49862</A ->. Ultimately, it's as easy - as adding the "---" priority field to your localconfig file in the appropriate area, - re-running checksetup.pl, and then changing the default priority in your browser using - "editparams.cgi". +> bug 49862</A +>. Ultimately, it's as easy as adding the "---" priority field to your + localconfig file in the appropriate area, re-running checksetup.pl, and then changing the + default priority in your browser using "editparams.cgi". </P ></DIV ></DIV @@ -2827,7 +2825,7 @@ TARGET="_top" or new source file by clicking "Create a new attachment" link on the bug page you've just created, and include any descriptions of database changes you may make, into the bug - ID you submitted in step #1. Be sure and click the "Patch" checkbox + ID you submitted in step #1. Be sure and click the "Patch" checkbox to indicate the text you are sending is a patch! </P ></LI @@ -2835,7 +2833,7 @@ TARGET="_top" ><P > Announce your patch and the associated URL (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in - the newsgroup (netscape.public.mozilla.webtools). You'll get a really + the newsgroup (netscape.public.mozilla.webtools). You'll get a really good, fairly immediate reaction to the implications of your patch, which will also give us an idea how well-received the change would be. diff --git a/docs/html/gfdl-10.html b/docs/html/gfdl-10.html index 4a14d7c62..97d11f6a4 100644 --- a/docs/html/gfdl-10.html +++ b/docs/html/gfdl-10.html @@ -84,10 +84,8 @@ NAME="gfdl-10" <A HREF="http://www.gnu.org/copyleft/" TARGET="_top" -> http://www.gnu.org/copyleft/</A -> - - .</P +>http://www.gnu.org/copyleft/</A +>.</P ><P >Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of diff --git a/docs/html/gfdl-howto.html b/docs/html/gfdl-howto.html index 5ba320953..8359dcaee 100644 --- a/docs/html/gfdl-howto.html +++ b/docs/html/gfdl-howto.html @@ -81,7 +81,7 @@ NAME="gfdl-howto" of the License in the document and put the following copyright and license notices just after the title page:</P ><A -NAME="AEN2296" +NAME="AEN2395" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/html/gfdl.html b/docs/html/gfdl.html index 367e5c33a..1f8490229 100644 --- a/docs/html/gfdl.html +++ b/docs/html/gfdl.html @@ -144,7 +144,7 @@ HREF="gfdl-howto.html" ><P >Version 1.1, March 2000</P ><A -NAME="AEN2206" +NAME="AEN2305" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/html/glossary.html b/docs/html/glossary.html index 7f36c0c1a..23242ef90 100644 --- a/docs/html/glossary.html +++ b/docs/html/glossary.html @@ -70,7 +70,7 @@ CLASS="glossdiv" ><H1 CLASS="glossdiv" ><A -NAME="AEN2301" +NAME="AEN2400" ></A >0-9, high ascii</H1 ><DL @@ -353,13 +353,9 @@ NAME="gloss-component" NAME="gloss-cpan" ></A ><B -> <SPAN -CLASS="acronym" ->CPAN</SPAN -> - </B +>Comprehensive Perl Archive Network</B ></DT -><DD +> (CPAN)<DD ><P > <SPAN CLASS="acronym" @@ -600,6 +596,22 @@ NAME="gloss-p" >P</H1 ><DL ><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 >Product</B ></DT @@ -866,7 +878,7 @@ NAME="gloss-zarro" Terry had the following to say: </P ><A -NAME="AEN2521" +NAME="AEN2626" ></A ><TABLE BORDER="0" diff --git a/docs/html/hintsandtips.html b/docs/html/hintsandtips.html index 397c86065..786408443 100644 --- a/docs/html/hintsandtips.html +++ b/docs/html/hintsandtips.html @@ -84,7 +84,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN370" +NAME="AEN371" ></A >3.2.1. Autolinkification</H2 ><P @@ -232,7 +232,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN399" +NAME="AEN400" ></A >3.2.5. Filing Bugs</H2 ><P diff --git a/docs/html/how.html b/docs/html/how.html index 1ff255e2c..d923b20dc 100644 --- a/docs/html/how.html +++ b/docs/html/how.html @@ -105,8 +105,8 @@ NAME="myaccount" <A HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" -> http://landfill.bugzilla.org/bugzilla-tip/</A -> +>http://landfill.bugzilla.org/bugzilla-tip/</A +>. </P ><P ></P @@ -441,10 +441,8 @@ NAME="query" <A HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" TARGET="_top" -> landfill.bugzilla.org/bugzilla-tip/query.cgi</A -> - - .</P +>http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A +>.</P ><P >The Search page has controls for selecting different possible values for all of the fields in a bug, as described above. Once you've diff --git a/docs/html/http.html b/docs/html/http.html index 38c8b2956..60fed3300 100644 --- a/docs/html/http.html +++ b/docs/html/http.html @@ -120,7 +120,7 @@ CLASS="command" >./checksetup.pl</B > (shown in <A 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 permissions or else important password information may be exposed to the @@ -241,7 +241,7 @@ NAME="http-apache-htaccess" ></A ><P ><B ->Example 4-1. <TT +>Example 4-2. <TT CLASS="filename" >.htaccess</TT > files for Apache</B @@ -420,7 +420,7 @@ CLASS="productname" <A HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp" TARGET="_top" ->Q245225 </A +>Q245225</A > for <SPAN CLASS="productname" @@ -552,12 +552,11 @@ VALIGN="TOP" <TT CLASS="filename" >localconfig</TT ->. For more information, see +>. For more information, see <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383" TARGET="_top" ->bug - 186383</A +> bug 186383</A > or <A HREF="http://online.securityfocus.com/bid/6501" TARGET="_top" diff --git a/docs/html/index.html b/docs/html/index.html index 4290a3f9f..291249d25 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -451,11 +451,16 @@ CLASS="LOT" ></DT ><DT >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" >Other File::Temp error messages</A ></DT ><DT ->4-2. <A +>4-3. <A HREF="troubleshooting.html#trouble-filetemp-patch" >Patch for File::Temp in Perl 5.6.0</A ></DT @@ -471,6 +476,11 @@ CLASS="LOT" ></DT ><DT >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" ><TT CLASS="filename" diff --git a/docs/html/installation.html b/docs/html/installation.html index f3cf6892e..fc87848f9 100644 --- a/docs/html/installation.html +++ b/docs/html/installation.html @@ -88,55 +88,45 @@ HREF="stepbystep.html" ><DL ><DT >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" >MySQL</A ></DT ><DT ->4.1.4. <A +>4.1.2. <A HREF="stepbystep.html#install-perl" >Perl</A ></DT ><DT ->4.1.5. <A -HREF="stepbystep.html#perl-modules" +>4.1.3. <A +HREF="stepbystep.html#install-perlmodules" >Perl Modules</A ></DT ><DT ->4.1.6. <A -HREF="stepbystep.html#sbs-http" +>4.1.4. <A +HREF="stepbystep.html#install-webserver" >HTTP Server</A ></DT ><DT ->4.1.7. <A -HREF="stepbystep.html#AEN600" +>4.1.5. <A +HREF="stepbystep.html#install-bzfiles" >Bugzilla</A ></DT ><DT ->4.1.8. <A -HREF="stepbystep.html#AEN611" +>4.1.6. <A +HREF="stepbystep.html#install-setupdatabase" >Setting Up the MySQL Database</A ></DT ><DT ->4.1.9. <A -HREF="stepbystep.html#AEN649" +>4.1.7. <A +HREF="stepbystep.html#AEN749" ><TT CLASS="filename" >checksetup.pl</TT ></A ></DT ><DT ->4.1.10. <A -HREF="stepbystep.html#AEN681" +>4.1.8. <A +HREF="stepbystep.html#AEN780" >Configuring Bugzilla</A ></DT ></DL @@ -150,17 +140,17 @@ HREF="extraconfig.html" ><DL ><DT >4.2.1. <A -HREF="extraconfig.html#AEN687" +HREF="extraconfig.html#AEN786" >Dependency Charts</A ></DT ><DT >4.2.2. <A -HREF="extraconfig.html#AEN702" +HREF="extraconfig.html#AEN801" >Bug Graphs</A ></DT ><DT >4.2.3. <A -HREF="extraconfig.html#AEN715" +HREF="extraconfig.html#AEN814" >The Whining Cron</A ></DT ><DT @@ -268,12 +258,12 @@ HREF="troubleshooting.html" ><DL ><DT >4.5.1. <A -HREF="troubleshooting.html#AEN977" +HREF="troubleshooting.html#AEN1076" >Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A ></DT ><DT >4.5.2. <A -HREF="troubleshooting.html#AEN982" +HREF="troubleshooting.html#AEN1081" >DBD::Sponge::db prepare failed</A ></DT ><DT diff --git a/docs/html/integration.html b/docs/html/integration.html index 6f99cd39d..5834d44f6 100644 --- a/docs/html/integration.html +++ b/docs/html/integration.html @@ -131,11 +131,10 @@ CLASS="filename" ><P >There is also a CVSZilla project, based upon somewhat dated Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to - email. Check it out at: - <A + email. Check it out at: <A HREF="http://homepages.kcbbs.gen.nz/~tonyg/" TARGET="_top" -> http://homepages.kcbbs.gen.nz/~tonyg/</A +>http://homepages.kcbbs.gen.nz/~tonyg/</A >. </P ></DIV @@ -153,7 +152,7 @@ NAME="scm" <A HREF="http://www.ravenbrook.com/project/p4dti/" TARGET="_top" -> http://www.ravenbrook.com/project/p4dti</A +>http://www.ravenbrook.com/project/p4dti/</A > . @@ -167,7 +166,7 @@ CLASS="QUOTE" <A HREF="http://public.perforce.com/public/perforce/p4dti/index.html" TARGET="_top" -> http://public.perforce.com/public/perforce/p4dti/index.html</A +>http://public.perforce.com/public/perforce/p4dti/index.html</A > .</P diff --git a/docs/html/newversions.html b/docs/html/newversions.html index f8cc4cb70..f3e7cbd11 100644 --- a/docs/html/newversions.html +++ b/docs/html/newversions.html @@ -93,7 +93,7 @@ NAME="newversions" > The newest version of this guide can always be found at <A HREF="http://www.bugzilla.org" TARGET="_top" ->bugzilla.org</A +>http://www.bugzilla.org</A >; including documentation for past releases and the current development version. </P @@ -108,13 +108,12 @@ TARGET="_top" </P ><P > The latest version of this document can always be checked out via CVS. - Please follow the instructions available at - <A + Please follow the <A HREF="http://www.mozilla.org/cvs.html" TARGET="_top" ->the Mozilla CVS page</A ->, - and check out the <TT +>Mozilla CVS</A +> + instructions and check out the <TT CLASS="filename" >mozilla/webtools/bugzilla/docs/</TT > diff --git a/docs/html/os-specific.html b/docs/html/os-specific.html index cdafc2b45..43edb1d23 100644 --- a/docs/html/os-specific.html +++ b/docs/html/os-specific.html @@ -143,19 +143,23 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="win32-perl-modules" +NAME="win32-perlmodules" ></A >4.3.1.2. Perl Modules on Win32</H3 ><P >Bugzilla on Windows requires the same perl modules found in <A -HREF="stepbystep.html#install-package-list" ->Section 4.1.2</A +HREF="stepbystep.html#install-perlmodules" +>Section 4.1.3</A >. The main difference is that - windows uses <B -CLASS="command" ->ppm</B -> instead of CPAN. + windows uses <A +HREF="glossary.html#gloss-ppm" +><I +CLASS="glossterm" +>PPM</I +></A +> instead of + CPAN. </P ><TABLE BORDER="0" @@ -606,7 +610,7 @@ CLASS="prompt" > <B CLASS="command" >urpmi perl-MailTools</B -> <A +> <A NAME="test-mailtools" ><IMG SRC="../images/callouts/1.gif" diff --git a/docs/html/security.html b/docs/html/security.html index 47f212524..7423b6b5c 100644 --- a/docs/html/security.html +++ b/docs/html/security.html @@ -406,12 +406,11 @@ NAME="security-access" not be accessible is rather complicated. A new installation method is currently in the works which should solve this by allowing files that shouldn't be accessible from the web to be placed in directory - outside the webroot. See + outside the webroot. See <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659" TARGET="_top" ->bug - 44659</A +> bug 44659</A > for more information. </P ><P diff --git a/docs/html/stepbystep.html b/docs/html/stepbystep.html index caf6b9dc1..5de775d69 100644 --- a/docs/html/stepbystep.html +++ b/docs/html/stepbystep.html @@ -76,34 +76,21 @@ CLASS="section" NAME="stepbystep" ></A >4.1. Step-by-step Install</H1 -><DIV -CLASS="section" -><H2 -CLASS="section" -><A -NAME="intstall-into" -></A ->4.1.1. Introduction</H2 ><P ->Bugzilla has been successfully installed under Solaris, Linux, - and Win32. Win32 is not yet officially supported, but many people - have got it working fine. - Please see +>Bugzilla has been successfully installed under many different + operating systems including almost all Unix clones and + <SPAN +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 -HREF="os-specific.html#os-win32" ->Section 4.3.1</A -> - for further advice on getting Bugzilla to work on Microsoft - Windows.</P -></DIV -><DIV -CLASS="section" -><H2 -CLASS="section" -><A -NAME="install-package-list" -></A ->4.1.2. Package List</H2 +HREF="os-specific.html" +>Section 4.3</A +>, so be sure to check out that section before + you start your installation. + </P ><DIV CLASS="note" ><P @@ -125,265 +112,117 @@ ALT="Note"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> If you are running the very most recent - version of Perl and MySQL (both the executables and development - libraries) on your system, you can skip these manual installation - steps for the Perl modules by using Bundle::Bugzilla; see +>Windows is one of those operating systems that has many quirks + and is not yet officially supported by the Bugzilla team. If you wish + to install Bugzilla on Windows, be sure to see <A -HREF="stepbystep.html#bundlebugzilla" ->Using Bundle::Bugzilla instead of manually installing Perl modules</A +HREF="os-specific.html#os-win32" +>Section 4.3.1</A >. </P ></TD ></TR ></TABLE ></DIV +><DIV +CLASS="warning" ><P ->The software packages necessary for the proper running of - Bugzilla (with download links) are: - <P ></P -><OL -TYPE="1" -><LI +><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 -> <A -HREF="http://www.mysql.com/" -TARGET="_top" ->MySQL database server</A -> - (3.23.41 or greater) - </P -></LI -><LI +>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 + as 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 -> <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 +>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. + </P ><P ->Perl Modules (minimum version): - <P -></P +>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. + </P +><DIV +CLASS="procedure" ><OL -TYPE="a" +TYPE="1" ><LI ><P -> <A -HREF="http://www.template-toolkit.org" -TARGET="_top" ->Template</A +><A +HREF="stepbystep.html#install-mysql" +>Install MySQL</A > - (v2.08) - </P + (3.23.41) + </P ></LI ><LI ><P -> <A -HREF="http://www.perldoc.com/perl5.6/lib/File/Temp.html" -TARGET="_top" -> File::Temp</A +><A +HREF="stepbystep.html#install-perl" +>Install Perl</A > - (1.804) (Prerequisite for Template) - </P + (5.6) + </P ></LI ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/AppConfig/" -TARGET="_top" ->AppConfig - </A +><A +HREF="stepbystep.html#install-perlmodules" +>Install Perl Modules</A > - (1.52) - </P -></LI -><LI -><P -> <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 + </P ></LI ><LI ><P -> <A -HREF="http://search.cpan.org/search?dist=File-Spec" -TARGET="_top" ->File::Spec - </A +><A +HREF="stepbystep.html#install-webserver" +>Install a Webserver</A > - (0.82) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Data/" -TARGET="_top" ->Data::Dumper - </A -> - (any) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Mysql/" -TARGET="_top" ->DBD::mysql - </A -> - (2.1010) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/DBI/" -TARGET="_top" ->DBI</A -> - (1.32) - </P -></LI -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/Date/" -TARGET="_top" ->Date::Parse - </A -> - (2.21) - </P + </P ></LI ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/CGI/" -TARGET="_top" ->CGI - </A -> - (2.88) - </P -></LI -></OL -> - and, optionally: - <P -></P -><OL -TYPE="a" -><LI -><P -> <A -HREF="http://www.cpan.org/modules/by-module/GD/" -TARGET="_top" ->GD</A +><A +HREF="stepbystep.html#install-bzfiles" +>Put Bugzilla in the Webspace</A > - (1.20) for bug charting - </P -></LI -><LI -><P -> GD::Graph - (any) for bug charting - </P -></LI -><LI -><P -> GD::Text::Align - (any) for bug charting - </P + </P ></LI ><LI ><P -> <A -HREF="http://www.cpan.org/modules/by-module/Chart/" -TARGET="_top" ->Chart::Base - </A +><A +HREF="stepbystep.html#install-setupdatabase" +>Setup the MySQL Database</A > - (0.99c) for bug charting - </P -></LI -><LI -><P -> XML::Parser - (any) for the XML interface - </P -></LI -><LI -><P -> MIME::Parser - (any) for the email interface - </P -></LI -></OL -> - </P -></LI -><LI -><P -> The web server of your choice. - <A -HREF="http://www.apache.org/" -TARGET="_top" ->Apache</A -> - is highly recommended. - </P + </P ></LI ></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 CLASS="section" @@ -392,13 +231,13 @@ CLASS="section" ><A NAME="install-mysql" ></A ->4.1.3. MySQL</H2 +>4.1.1. MySQL</H2 ><P >Visit the MySQL homepage at <A HREF="http://www.mysql.com" TARGET="_top" ->www.mysql.com</A +>http://www.mysql.com</A > to grab and install the latest stable release of the server. </P @@ -441,53 +280,65 @@ CLASS="filename" ></TABLE ></DIV ><P ->If you install from something other than an RPM or Debian - package, you will need to add <TT -CLASS="filename" ->mysqld</TT -> - 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. +>If you install from something other than a packaging/installation + system (such as .rpm, .dep, .exe, or .msi) you will need to configure + your system so the MySQL server daemon will come back up whenever + your machine reboots. </P ><P ->Change your init script to start - <TT -CLASS="filename" ->mysqld</TT -> - with the ability to accept large packets. By default, - <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 +>If you wish to have attachments larger than 64K, you will have to + configure MySQL to accept large packets. This is done by adding the text + in <A +HREF="stepbystep.html#install-mysql-packets" +>Figure 4-1</A +> to your <TT CLASS="filename" ->mysqld</TT -> - (or <TT -CLASS="filename" ->safe_mysqld</TT ->), - then you will be able to have attachments up to about 1 megabyte. - There is a Bugzilla parameter for maximum attachment size; - you should configure it to match the value you choose here.</P -><P ->If you plan on running Bugzilla and MySQL on the same machine, - consider using the - <TT +>my.conf</TT +> file. There is also a parameter in Bugzilla + for setting the maximum allowable attachment size. + + You should set this value to be slightly larger than that parameter. + </P +><DIV +CLASS="figure" +><A +NAME="install-mysql-packets" +></A +><P +><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" +> [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 in the init script. This enhances security by preventing - network access to MySQL.</P +>skip-networking</TT +> option as + mentioned in <A +HREF="security.html#security-mysql" +>Section 5.6.2</A +> for the added security. + </P ></DIV ><DIV CLASS="section" @@ -496,25 +347,207 @@ CLASS="section" ><A NAME="install-perl" ></A ->4.1.4. Perl</H2 +>4.1.2. Perl</H2 ><P >Any machine that doesn't have Perl on it is a sad machine indeed. - Perl can be got in source form from - <A + Perl can be got in source form from <A HREF="http://www.perl.com" TARGET="_top" ->perl.com</A -> for the rare - *nix systems which don't have it. +>http://www.perl.com</A +>. + 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, 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 version 5.8.</P +></DIV ><DIV -CLASS="tip" +CLASS="section" +><H2 +CLASS="section" ><A -NAME="bundlebugzilla" +NAME="install-perlmodules" ></A +>4.1.3. Perl Modules</H2 +><P +>Perl modules can be found using + <A +HREF="glossary.html#gloss-cpan" +><I +CLASS="glossterm" +>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" +> <TT +CLASS="prompt" +>bash#</TT +> perl -MCPAN -e 'install "<modulename>"' + </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" +> <TT +CLASS="prompt" +>bash#</TT +> tar xzvf <module>.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 <module> <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" +><module>.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" +><module></TT +> directory. + </DD +></DL +></DIV +> + </P +></DIV +><DIV +CLASS="tip" ><P ></P ><TABLE @@ -534,249 +567,433 @@ ALT="Tip"></TD ALIGN="LEFT" VALIGN="TOP" ><P ->You can skip the following Perl module installation steps by - installing +>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="productname" ->Bundle::Bugzilla</SPAN -> - - from - <A -HREF="glossary.html#gloss-cpan" -><I -CLASS="glossterm" ->CPAN</I -></A ->, - which installs all required modules for you.</P -><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->perl -MCPAN -e 'install "Bundle::Bugzilla"'</B -> - </TT +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 > - </P -><P ->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.</P + the local UNIX sysadmin, please consult the newsgroup/mailing list + for further assistance or hire someone to help you out.</P ></TD ></TR ></TABLE ></DIV -></DIV -><DIV -CLASS="section" -><H2 -CLASS="section" -><A -NAME="perl-modules" -></A ->4.1.5. Perl Modules</H2 ><P -> - All Perl modules can be found on the - <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 ->Quality, general Perl module installation instructions can be - found on the CPAN website, but the easy thing to do is to just use the - CPAN shell which does all the hard work for you. - To use the CPAN shell to install a module: - </P +>Perl Modules (minimum version): + <P +></P +><OL +TYPE="1" +><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - <B -CLASS="command" ->perl -MCPAN -e 'install "<modulename>"'</B -> - </TT +> <A +HREF="stepbystep.html#install-modules-bundle-bugzilla" +>Bundle::Bugzilla</A > + (Will allow you to skip the rest) </P +></LI +><LI ><P -> To do it the hard way: +> <A +HREF="stepbystep.html#install-modules-appconfig" +>AppConfig</A +> + (1.52) </P +></LI +><LI ><P ->Untar the module tarball -- it should create its own - directory</P +> <A +HREF="stepbystep.html#install-modules-cgi" +>CGI</A +> + (2.88) + </P +></LI +><LI ><P ->CD to the directory just created, and enter the following - commands: - <P -></P -><OL -TYPE="1" +> <A +HREF="stepbystep.html#install-modules-data-dumper" +>Data::Dumper</A +> + (any) + </P +></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->perl Makefile.PL</B +> <A +HREF="stepbystep.html#install-modules-date-format" +>Date::Format</A > - </TT + (2.21) + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-dbi" +>DBI</A +> + (1.32) + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-dbd-mysql" +>DBD::mysql</A > - </P + (2.1010) + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="stepbystep.html#install-file-spec" +>File::Spec</A > - - <B -CLASS="command" ->make</B + (0.82) + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-file-temp" +>File::Temp</A > - </TT + (any) + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-template" +>Template Toolkit</A > - </P + (2.08) + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="stepbystep.html#install-modules-text-wrap" +>Text::Wrap</A +> + (2001.0131) + </P +></LI +></OL > - <B -CLASS="command" ->make test</B + and, optionally: + <P +></P +><OL +TYPE="1" +><LI +><P +> <A +HREF="stepbystep.html#install-modules-gd" +>GD</A > - </TT + (1.20) for bug charting + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-chart-base" +>Chart::Base</A > - </P + (0.99c) for bug charting + </P ></LI ><LI ><P -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT +> <A +HREF="stepbystep.html#install-modules-xml-parser" +>XML::Parser</A > - - <B -CLASS="command" ->make install</B + (any) for the XML interface + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-gd-graph" +>GD::Graph</A > - </TT + (any) for bug charting + </P +></LI +><LI +><P +> <A +HREF="stepbystep.html#install-modules-gd-text-align" +>GD::Text::Align</A > - </P + (any) for bug charting + </P ></LI -></OL +><LI +><P +> <A +HREF="stepbystep.html#install-modules-mime-parser" +>MIME::Parser</A > + (any) for the email interface </P +></LI +></OL +> + </P ><DIV -CLASS="warning" +CLASS="section" +><H3 +CLASS="section" +><A +NAME="install-modules-bundle-bugzilla" +></A +>4.1.3.1. Bundle::Bugzilla</H3 ><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 -CLASS="warning" -WIDTH="100%" BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -WIDTH="25" -ALIGN="CENTER" -VALIGN="TOP" +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT +CLASS="prompt" +>bash#</TT +> <B +CLASS="command" +>perl -MCPAN -eshell</B +> <A +NAME="bundle-cpanconfig" ><IMG -SRC="../images/warning.gif" -HSPACE="5" -ALT="Warning"></TD -><TD -ALIGN="LEFT" -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 +SRC="../images/callouts/1.gif" +HSPACE="0" +VSPACE="0" +BORDER="0" +ALT="(1)"></A > - the local UNIX sysadmin, please consult the newsgroup/mailing list - for further assistance or hire someone to help you out.</P +cpan shell -- CPAN exploration and modules installation (v1.63) +ReadLine support enabled + +<TT +CLASS="prompt" +>cpan></TT +> + + </PRE +></FONT ></TD ></TR ></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 CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN566" +NAME="install-modules-appconfig" ></A ->4.1.5.1. DBI</H3 +>4.1.3.2. AppConfig (1.52)</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 +>Dependency for Template Toolkit. We probably don't need to + specifically check for it anymore. + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN569" +NAME="install-modules-cgi" ></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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/CGI.pm/" +TARGET="_top" +>http://search.cpan.org/dist/CGI.pm/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P +></DIV +><DIV +CLASS="section" +><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 + available won't hurt anything. + </P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Data-Dumper/" +TARGET="_top" +>http://search.cpan.org/dist/Data-Dumper/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/TimeDate/" +TARGET="_top" +>http://search.cpan.org/dist/TimeDate/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/DBI/" +TARGET="_top" +>http://search.cpan.org/dist/DBI/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://dbi.perl.org/doc/" +TARGET="_top" +>http://dbi.perl.org/doc/</A +><br> + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN572" +NAME="install-modules-dbd-mysql" ></A ->4.1.5.3. MySQL-related modules</H3 +>4.1.3.7. MySQL-related modules</H3 ><P >The Perl/MySQL interface requires a few mutually-dependent Perl modules. These modules are grouped together into the the @@ -794,34 +1011,161 @@ NAME="AEN572" with a null password should find itself with sufficient access to run tests on the 'test' database which MySQL created upon installation. </P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/DBD-mysql/" +TARGET="_top" +>http://search.cpan.org/dist/DBD-mysql/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN577" +NAME="install-file-spec" ></A ->4.1.5.4. TimeDate modules</H3 +>4.1.3.8. File::Spec (0.82)</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. +>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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/File-Spec/" +TARGET="_top" +>http://search.cpan.org/dist/File-Spec/</A +><br> + PPM Download Page: <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> + Documentation: <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> + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN580" +NAME="install-modules-file-temp" ></A ->4.1.5.5. GD (optional)</H3 +>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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/File-Spec/" +TARGET="_top" +>http://search.cpan.org/dist/File-Spec/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </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 +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Template-Toolkit/" +TARGET="_top" +>http://search.cpan.org/dist/Template-Toolkit/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://www.template-toolkit.org/docs.html" +TARGET="_top" +>http://www.template-toolkit.org/docs.html</A +><br> + </P +></DIV +><DIV +CLASS="section" +><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 +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/" +TARGET="_top" +>http://search.cpan.org/dist/Text-Tabs+Wrap/</A +><br> + Documentation: <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> + </P +></DIV +><DIV +CLASS="section" +><H3 +CLASS="section" +><A +NAME="install-modules-gd" +></A +>4.1.3.12. GD (1.20) [optional]</H3 ><P >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 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 @@ -865,36 +1209,224 @@ CLASS="classname" ></TR ></TABLE ></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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GD/" +TARGET="_top" +>http://search.cpan.org/dist/GD/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://stein.cshl.org/WWW/software/GD/" +TARGET="_top" +>http://stein.cshl.org/WWW/software/GD/</A +><br> + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN587" +NAME="install-modules-chart-base" ></A ->4.1.5.6. Chart::Base (optional)</H3 +>4.1.3.13. Chart::Base (0.99c) [optional]</H3 ><P >The Chart module provides Bugzilla with on-the-fly charting abilities. 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 no longer supported by the latest versions of GD.</P +><P +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/Chart/" +TARGET="_top" +>http://search.cpan.org/dist/Chart/</A +><br> + PPM Download Link: <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> + </P ></DIV ><DIV CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN590" +NAME="install-modules-xml-parser" ></A ->4.1.5.7. Template Toolkit</H3 +>4.1.3.14. XML::Parser (any) [Optional]</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. +>XML::Parser is used by the <TT +CLASS="filename" +>importxml.pl</TT +> + 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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/XML-Parser/" +TARGET="_top" +>http://search.cpan.org/dist/XML-Parser/</A +><br> + Documentation: <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> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GDGraph/" +TARGET="_top" +>http://search.cpan.org/dist/GDGraph/</A +><br> + PPM Download Link: <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> + Documentation: <A +HREF="http://search.cpan.org/dist/GDGraph/Graph.pm" +TARGET="_top" +>http://search.cpan.org/dist/GDGraph/Graph.pm</A +><br> + </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> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/GDTextUtil/" +TARGET="_top" +>http://search.cpan.org/dist/GDTextUtil/</A +><br> + PPM Download Page: <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> + Documentation: <A +HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm" +TARGET="_top" +>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A +><br> + </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 +CLASS="literallayout" +><br> + CPAN Download Page: <A +HREF="http://search.cpan.org/dist/MIME-tools/" +TARGET="_top" +>http://search.cpan.org/dist/MIME-tools/</A +><br> + PPM Download Link: <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> + Documentation: <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> + </P ></DIV ></DIV ><DIV @@ -902,9 +1434,9 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="sbs-http" +NAME="install-webserver" ></A ->4.1.6. HTTP Server</H2 +>4.1.4. HTTP Server</H2 ><P >You have freedom of choice here, pretty much any web server that is capable of running <A @@ -944,7 +1476,12 @@ VALIGN="TOP" >We strongly recommend Apache as the web server to use. The Bugzilla Guide installation instructions, in general, assume you are 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 ></TR ></TABLE @@ -955,9 +1492,9 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN600" +NAME="install-bzfiles" ></A ->4.1.7. Bugzilla</H2 +>4.1.5. Bugzilla</H2 ><P >You should untar the Bugzilla files into a directory that you're willing to make writable by the default web server user (probably @@ -1020,103 +1557,120 @@ CLASS="filename" >checksetup.pl</TT > 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 CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN611" +NAME="install-setupdatabase" ></A ->4.1.8. Setting Up the MySQL Database</H2 +>4.1.6. Setting Up the MySQL Database</H2 ><P >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 a high quality bug tracker.</P ><P ->First, you'll want to fix MySQL permissions to allow access from - Bugzilla. For the purpose of this Installation section, the Bugzilla - username will be +>This first thing you'll want to do is make sure you've given the <SPAN CLASS="QUOTE" ->"bugs"</SPAN ->, and will have minimal permissions. +>"root"</SPAN +> 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 +><DIV +CLASS="note" ><P ->Begin by giving the MySQL root user a password. MySQL passwords are limited - to 16 characters. - <P ></P ><TABLE +CLASS="note" +WIDTH="100%" BORDER="0" -><TBODY ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->bash#</TT -> - - <B -CLASS="command" ->mysql -u root mysql</B -> - </TT -> - </TD -></TR -><TR -><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->mysql></TT -> - - <B -CLASS="command" ->UPDATE user SET Password=PASSWORD('<new_password>') - WHERE user='root';</B -> - </TT -> - </TD -></TR -><TR +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/note.gif" +HSPACE="5" +ALT="Note"></TD ><TD -> <TT -CLASS="computeroutput" -> <TT -CLASS="prompt" ->mysql></TT -> - - <B -CLASS="command" ->FLUSH PRIVILEGES;</B -> - </TT -> - </TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>Most people use <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> for both the user and + database name. + </P +></TD ></TR -></TBODY ></TABLE -><P -></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 <new_password>. Remember that MySQL user names have - nothing to do with Unix user names (login names).</P +></DIV ><P >Next, we use an SQL <B CLASS="command" @@ -1124,19 +1678,18 @@ CLASS="command" > command to create a <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > - user, and grant sufficient permissions for checksetup.pl, which we'll use later, to work its magic. This also restricts the <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > user to operations within a database called <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_db"</SPAN >, and only allows the account to connect from <SPAN CLASS="QUOTE" @@ -1144,55 +1697,31 @@ CLASS="QUOTE" >. Modify it to reflect your setup if you will be connecting from another machine or as a different user.</P -><P ->Remember to set <bugs_password> to some unique password. - <P -></P ><TABLE BORDER="0" -><TBODY +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT CLASS="prompt" >mysql></TT -> - - <B -CLASS="command" ->GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, - ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost - IDENTIFIED BY '<bugs_password>';</B -> - </TT -> - </TD -></TR -><TR -><TD -> <TT -CLASS="computeroutput" -> <TT +> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE, + DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost + IDENTIFIED BY 'bugs_password'; +<TT CLASS="prompt" >mysql></TT -> - - <B -CLASS="command" ->FLUSH PRIVILEGES;</B -> - </TT -> - </TD +> FLUSH PRIVILEGES; + </PRE +></FONT +></TD ></TR -></TBODY ></TABLE -><P -></P -> - </P ><DIV CLASS="note" ><P @@ -1215,7 +1744,14 @@ ALIGN="LEFT" VALIGN="TOP" ><P >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 ></TD ></TR @@ -1227,9 +1763,9 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN649" +NAME="AEN749" ></A ->4.1.9. <TT +>4.1.7. <TT CLASS="filename" >checksetup.pl</TT ></H2 @@ -1238,10 +1774,11 @@ CLASS="filename" <A HREF="mailto:holgerschurig@nikocity.de" TARGET="_top" ->Holger Schurig </A +>Holger Schurig</A > 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. It will make sure Bugzilla files and directories have reasonable permissions, set up the @@ -1250,35 +1787,28 @@ CLASS="filename" >data</TT > directory, and create all the MySQL tables. - <P -></P + </P ><TABLE BORDER="0" -><TBODY +BGCOLOR="#E0E0E0" +WIDTH="100%" ><TR ><TD -> <TT -CLASS="computeroutput" -> <TT +><FONT +COLOR="#000000" +><PRE +CLASS="screen" +> <TT CLASS="prompt" >bash#</TT -> - - <B -CLASS="command" ->./checksetup.pl</B -> - </TT -> - </TD +> ./checksetup.pl + </PRE +></FONT +></TD ></TR -></TBODY ></TABLE ><P -></P -> - - 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 CLASS="filename" >localconfig</TT @@ -1306,7 +1836,7 @@ CLASS="QUOTE" >database name: <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_db"</SPAN > if you're following these directions</P ></LI @@ -1315,7 +1845,7 @@ CLASS="QUOTE" >MySQL username: <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > if you're following these directions</P ></LI @@ -1324,9 +1854,12 @@ CLASS="QUOTE" >Password for the <SPAN CLASS="QUOTE" ->"bugs"</SPAN +>"bugs_user"</SPAN > - MySQL account; (<bugs_password>) above</P + MySQL account; (<SPAN +CLASS="QUOTE" +>"bugs_password"</SPAN +> above)</P ></LI ></OL > @@ -1380,9 +1913,9 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN681" +NAME="AEN780" ></A ->4.1.10. Configuring Bugzilla</H2 +>4.1.8. Configuring Bugzilla</H2 ><P > You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. diff --git a/docs/html/troubleshooting.html b/docs/html/troubleshooting.html index 5dd2d1714..7d9789274 100644 --- a/docs/html/troubleshooting.html +++ b/docs/html/troubleshooting.html @@ -85,7 +85,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN977" +NAME="AEN1076" ></A >4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2 ><P @@ -110,7 +110,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN982" +NAME="AEN1081" ></A >4.5.2. DBD::Sponge::db prepare failed</H2 ><P @@ -266,7 +266,7 @@ CLASS="productname" 5.6.0. Many minor variations of this error have been reported. Examples can be found in <A HREF="troubleshooting.html#trouble-filetemp-errors" ->Figure 4-1</A +>Figure 4-2</A >. </P ><DIV @@ -276,7 +276,7 @@ NAME="trouble-filetemp-errors" ></A ><P ><B ->Figure 4-1. Other File::Temp error messages</B +>Figure 4-2. Other File::Temp error messages</B ></P ><TABLE BORDER="0" @@ -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 the patch in <A HREF="troubleshooting.html#trouble-filetemp-patch" ->Figure 4-2</A +>Figure 4-3</A >. The patch is also available as a <A HREF="../xml/filetemp.patch" @@ -322,7 +322,7 @@ NAME="trouble-filetemp-patch" ></A ><P ><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 ><TABLE BORDER="0" diff --git a/docs/html/using.html b/docs/html/using.html index 80d1e1225..be983f3c6 100644 --- a/docs/html/using.html +++ b/docs/html/using.html @@ -122,7 +122,7 @@ HREF="hintsandtips.html" ><DL ><DT >3.2.1. <A -HREF="hintsandtips.html#AEN370" +HREF="hintsandtips.html#AEN371" >Autolinkification</A ></DT ><DT @@ -142,7 +142,7 @@ HREF="hintsandtips.html#attachments" ></DT ><DT >3.2.5. <A -HREF="hintsandtips.html#AEN399" +HREF="hintsandtips.html#AEN400" >Filing Bugs</A ></DT ></DL diff --git a/docs/html/variant-perforce.html b/docs/html/variant-perforce.html index 7a6f2c097..535954adf 100644 --- a/docs/html/variant-perforce.html +++ b/docs/html/variant-perforce.html @@ -84,12 +84,10 @@ CLASS="QUOTE" > functionality.</P ><P ->URL: - <A +>URL: <A HREF="http://www.perforce.com/perforce/technotes/note052.html" TARGET="_top" -> http://www.perforce.com/perforce/technotes/note052.html - </A +>http://www.perforce.com/perforce/technotes/note052.html</A > </P ><P diff --git a/docs/html/variant-redhat.html b/docs/html/variant-redhat.html index 735fe03ed..ae96fecc2 100644 --- a/docs/html/variant-redhat.html +++ b/docs/html/variant-redhat.html @@ -78,26 +78,25 @@ NAME="variant-redhat" >D.1. Red Hat Bugzilla</H1 ><P >Red Hat's old fork of Bugzilla which was based on version 2.8 is now - obsolete. The newest version in use is based on version 2.17.1 and is in - the process of being integrated into the main Bugzilla source tree. The + obsolete. The newest version in use is based on version 2.17.1 and is in + the process of being integrated into the main Bugzilla source tree. The back-end is modified to work with PostgreSQL instead of MySQL and they have custom templates to get their desired look and feel, but other than that it - is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of + is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of effort to make sure that the changes he made could be integrated back into the main tree. <A HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304" TARGET="_top" ->Bug - 98304</A -> exists to track this integration. +>Bug 98304</A +> + exists to track this integration. </P ><P ->URL: - <A +>URL: <A HREF="http://bugzilla.redhat.com/bugzilla/" TARGET="_top" -> http://bugzilla.redhat.com/bugzilla/</A +>http://bugzilla.redhat.com/bugzilla/</A > </P ><P diff --git a/docs/html/variant-scarab.html b/docs/html/variant-scarab.html index 4e5fc3b99..bd99b570f 100644 --- a/docs/html/variant-scarab.html +++ b/docs/html/variant-scarab.html @@ -80,11 +80,10 @@ NAME="variant-scarab" >Scarab is a new open source bug-tracking system built using Java Servlet technology. It is currently at version 1.0 beta 13.</P ><P ->URL: - <A +>URL: <A HREF="http://scarab.tigris.org/" TARGET="_top" ->http://scarab.tigris.org</A +>http://scarab.tigris.org/</A > </P ><P diff --git a/docs/html/variant-sourceforge.html b/docs/html/variant-sourceforge.html index f46f30b9b..b429dffd4 100644 --- a/docs/html/variant-sourceforge.html +++ b/docs/html/variant-sourceforge.html @@ -81,11 +81,10 @@ NAME="variant-sourceforge" 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 ><P ->URL: - <A +>URL: <A HREF="http://www.sourceforge.net" TARGET="_top" -> http://www.sourceforge.net</A +>http://www.sourceforge.net</A > </P ><P diff --git a/docs/html/variants.html b/docs/html/variants.html index f8c23cd7d..d348d303d 100644 --- a/docs/html/variants.html +++ b/docs/html/variants.html @@ -119,8 +119,8 @@ HREF="variant-sourceforge.html" <A HREF="http://linas.org/linux/pm.html" TARGET="_top" -> http://linas.org/linux/pm.html</A -> +>http://linas.org/linux/pm.html</A +>. </P ></DIV ><DIV diff --git a/docs/html/voting.html b/docs/html/voting.html index 78b0c381c..74317425c 100644 --- a/docs/html/voting.html +++ b/docs/html/voting.html @@ -106,7 +106,7 @@ TYPE="1" ><P ><EM >Maximum Votes a person can put on a single - bug"</EM + bug</EM >: It should probably be some number lower than the "Maximum votes per person". Don't set this field to "0" if diff --git a/docs/txt/Bugzilla-Guide.txt b/docs/txt/Bugzilla-Guide.txt index 60a4591c3..f35b28b8b 100644 --- a/docs/txt/Bugzilla-Guide.txt +++ b/docs/txt/Bugzilla-Guide.txt @@ -102,11 +102,13 @@ The Bugzilla Team Glossary List of Figures - 4-1. Other File::Temp error messages - 4-2. Patch for File::Temp in Perl 5.6.0 + 4-1. Set Max Packet Size in MySQL + 4-2. Other File::Temp error messages + 4-3. Patch for File::Temp in Perl 5.6.0 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-2. Upgrading using the tarball 5-3. Upgrading using patches @@ -178,16 +180,16 @@ Chapter 1. About This Guide of these mirrors to make sure you are reading an up-to-date version of the Guide. - The newest version of this guide can always be found at bugzilla.org; - including documentation for past releases and the current development - version. + The newest version of this guide can always be found at + http://www.bugzilla.org; including documentation for past releases and + the current development version. The documentation for the most recent stable release of Bugzilla can also be found at The Linux Documentation Project. The latest version of this document can always be checked out via CVS. - Please follow the instructions available at the Mozilla CVS page, and - check out the mozilla/webtools/bugzilla/docs/ subtree. + Please follow the Mozilla CVS instructions and check out the + mozilla/webtools/bugzilla/docs/ subtree. The Bugzilla Guide is currently only available in English. If you would like to volunteer to translate it, please contact Dave Miller. @@ -234,7 +236,7 @@ Chapter 1. About This Guide Thanks also go to the following people for significant contributions to this documentation (in alphabetical order): Andrew Pearson, Ben 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 @@ -374,7 +376,7 @@ Chapter 3. Using Bugzilla Consult with the administrator responsible for your installation of Bugzilla for the URL you should use to access it. If you're test-driving Bugzilla, use this URL: - http://landfill.bugzilla.org/bugzilla-tip/ + http://landfill.bugzilla.org/bugzilla-tip/. 1. Click the "Open a new Bugzilla account" link, enter your email address and, optionally, your name in the spaces provided, then @@ -472,7 +474,8 @@ Chapter 3. Using Bugzilla The Bugzilla Search page is is the interface where you can find any 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 for all of the fields in a bug, as described above. Once you've @@ -673,64 +676,50 @@ Chapter 4. Installation 4.1. Step-by-step Install -4.1.1. Introduction - - Bugzilla has been successfully installed under Solaris, Linux, and - Win32. Win32 is not yet officially supported, but many people have got - it working fine. Please see Section 4.3.1 for further advice on - getting Bugzilla to work on Microsoft Windows. - _________________________________________________________________ - -4.1.2. Package List + Bugzilla has been successfully installed under many different + operating systems including almost all Unix clones and Microsoft + Windows. Many operating systems have utilities that make installation + easier or quirks that make it harder. We have tried to collect that + information in Section 4.3, so be sure to check out that section + before you start your installation. Note - If you are running the very most recent version of Perl and MySQL - (both the executables and development libraries) on your system, you - can skip these manual installation steps for the Perl modules by using - 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. + Windows is one of those operating systems that has many quirks and is + not yet officially supported by the Bugzilla team. If you wish to + install Bugzilla on Windows, be sure to see Section 4.3.1. Warning - 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. + 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 as 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. + + 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 - latest stable release of the server. + Visit the MySQL homepage at http://www.mysql.com to grab and install + the latest stable release of the server. Note @@ -740,71 +729,68 @@ Chapter 4. Installation directory as an option to configure if you build MySQL from source yourself. - If you install from something other than an RPM or Debian package, you - will need to add mysqld 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. - - Change your init script to start mysqld with the ability to accept - large packets. By default, mysqld only accepts packets up to 64K long. - This limits the size of attachments you may put on bugs. If you add -O - max_allowed_packet=1M to the command that starts mysqld (or - safe_mysqld), then you will be able to have attachments up to about 1 - megabyte. There is a Bugzilla parameter for maximum attachment size; - you should configure it to match the value you choose here. - - If you plan on running Bugzilla and MySQL on the same machine, - consider using the --skip-networking option in the init script. This - enhances security by preventing network access to MySQL. + If you install from something other than a packaging/installation + system (such as .rpm, .dep, .exe, or .msi) you will need to configure + your system so the MySQL server daemon will come back up whenever your + machine reboots. + + If you wish to have attachments larger than 64K, you will have to + configure MySQL to accept large packets. This is done by adding the + text in Figure 4-1 to your my.conf file. There is also a parameter in + Bugzilla for setting the maximum allowable attachment size. You should + set this value to be slightly larger than that parameter. + + Figure 4-1. Set Max Packet Size in MySQL +[mysqld] +# Allow packets up to 1M +set-variable = max_allowed_packet=1M + + 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 - can be got in source form from perl.com for the rare *nix systems - which don't have it. Although Bugzilla runs with perl 5.6, it's a good + can be got in source form from http://www.perl.com. 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, 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 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 - - All Perl modules can be found on the Comprehensive Perl Archive - Network (CPAN). The CPAN servers have a real tendency to bog down, so - please use mirrors. +4.1.3. Perl Modules - Quality, general Perl module installation instructions can be found on - the CPAN website, but the easy thing to do is to just use the CPAN - shell which does all the hard work for you. To use the CPAN shell to - install a module: + Perl modules can be found using CPAN on Unix based systems or PPM on + Win32. The root servers have a real tendency to bog down, so please + use mirrors. - bash# perl -MCPAN -e 'install "<modulename>"' + Good instuctions can be found for using each of these services on + their respective websites. The basics can be found in Example 4-1 for + CPAN and Section 4.3.1.2 for PPM. - To do it the hard way: + Example 4-1. Installing perl modules with CPAN - Untar the module tarball -- it should create its own directory + The easy way: +bash# perl -MCPAN -e 'install "<modulename>"' - CD to the directory just created, and enter the following commands: + 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 - 1. bash# perl Makefile.PL - 2. bash# make - 3. bash# make test - 4. bash# make install + (1) + This assumes that you've already downloaded the <module>.tar.gz + to the current working directory. + (2) + The process of untaring the module as defined in (1) will + create the <module> directory. - Warning + Tip Many people complain that Perl modules will not install for them. Most times, the error messages complain that they are missing a file in @@ -815,25 +801,115 @@ Chapter 4. Installation permissions issues; if you are the local UNIX sysadmin, please consult the newsgroup/mailing list for further assistance or hire someone to 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 - 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. + 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. + + 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.5.2. Data::Dumper +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.3.4. Data::Dumper (any) 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. + + 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.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.5.3. MySQL-related modules +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 modules. These modules are grouped together into the the @@ -850,21 +926,66 @@ Chapter 4. Installation 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 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 - 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. + File::Spec is a perl module that allows file operations, such as + generating full path names, to work cross platform. + + CPAN Download Page: http://search.cpan.org/dist/File-Spec/ + 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.5.5. GD (optional) +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.3.12. GD (1.20) [optional] 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 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 @@ -877,25 +998,79 @@ Chapter 4. Installation be installed on your system, including libpng and libgd. The full requirements are listed in the Perl GD library README. If compiling GD 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. 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 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 - 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. + XML::Parser is used by the importxml.pl script. You only need it if + you are going to be importing bugs (such as for bug moving). + XML::Parser requires that the expat library is already installed on + 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.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.6. HTTP Server +4.1.4. HTTP Server 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 @@ -906,10 +1081,11 @@ Chapter 4. Installation We strongly recommend Apache as the web server to use. The Bugzilla Guide installation instructions, in general, assume you are using 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 willing to make writable by the default web server user (probably @@ -928,44 +1104,42 @@ Chapter 4. Installation directory writable by your webserver's user. This is a temporary step until you run the post-install checksetup.pl script, which locks down 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 ready to start preparing the database for its life as the back end to a high quality bug tracker. - First, you'll want to fix MySQL permissions to allow access from - Bugzilla. For the purpose of this Installation section, the Bugzilla - username will be "bugs", and will have minimal permissions. - - Begin by giving the MySQL root user a password. MySQL passwords are - limited to 16 characters. - - bash# mysql -u root mysql - mysql> UPDATE user SET Password=PASSWORD('<new_password>') WHERE - user='root'; - mysql> FLUSH PRIVILEGES; + This first thing you'll want to do is make sure you've given the + "root" user a password as suggested in Section 5.6.2. For clarity, + these instructions will assume that your MySQL user for Bugzilla will + be "bugs_user", the database will be called "bugs_db" and the password + for the "bugs_user" user is "bugs_password". You should, of course, + substitute the values you intend to use for your site. - From this point on, if you need to access MySQL as the MySQL root - 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. + Note - mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, - ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY - '<bugs_password>'; - mysql> FLUSH PRIVILEGES; + Most people use "bugs" for both the user and database name. + + Next, we use an SQL GRANT command to create a "bugs_user" user, and + 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 @@ -973,16 +1147,16 @@ Chapter 4. Installation 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 Schurig for writing this script!) This script is designed to make sure - your MySQL database and other configuration options are consistent - with the Bugzilla CGI files. It will make sure Bugzilla files and - directories have reasonable permissions, set up the data directory, - and create all the MySQL tables. - - bash# ./checksetup.pl + your perl modules are the correct version and your MySQL database and + other configuration options are consistent with the Bugzilla CGI + files. It will make sure Bugzilla files and directories have + reasonable permissions, set up the data directory, and create all the + MySQL tables. +bash# ./checksetup.pl The first time you run it, it will create a file called localconfig. @@ -992,9 +1166,10 @@ Chapter 4. Installation The connection settings include: 1. server's host: just use "localhost" if the MySQL server is local - 2. database name: "bugs" if you're following these directions - 3. MySQL username: "bugs" if you're following these directions - 4. Password for the "bugs" MySQL account; (<bugs_password>) above + 2. database name: "bugs_db" if you're following these directions + 3. MySQL username: "bugs_user" if you're following these directions + 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 runs as, and re-run checksetup.pl. (Note: on some security-conscious @@ -1010,7 +1185,7 @@ Chapter 4. Installation Bugzilla. _________________________________________________________________ -4.1.10. Configuring Bugzilla +4.1.8. Configuring Bugzilla You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. They key @@ -1122,9 +1297,8 @@ Chapter 4. Installation 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 - of administration tools. You should apply the patch attached this bug: - http://bugzilla.mozilla.org/show_bug.cgi?id=158630, then set the - following object classes for your users: + of administration tools. You should apply the patch attached to bug + 158630 , then set the following object classes for your users: 1. objectClass: person 2. objectClass: organizationalPerson @@ -1191,11 +1365,11 @@ set=ISO-8859-1/i" *.cgi *.pl speeds for other users. If your Bugzilla installation is experiencing this problem , you may install the Apache module mod_throttle which can limit connections by ip-address. You may download this module at - http://www.snert.com/Software/mod_throttle/ Follow the instructions to - install into your Apache install. This module only functions with the - Apache web server! You may use the ThrottleClientIP command provided - by this module to accomplish this goal. See the Module Instructions - for more information. + http://www.snert.com/Software/mod_throttle/. Follow the instructions + to install into your Apache install. This module only functions with + the Apache web server! You may use the ThrottleClientIP command + provided by this module to accomplish this goal. See the Module + Instructions for more information. _________________________________________________________________ 4.3. OS Specific Installation Notes @@ -1237,7 +1411,7 @@ set=ISO-8859-1/i" *.cgi *.pl 4.3.1.2. Perl Modules on Win32 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> Note @@ -1344,7 +1518,7 @@ my $webservergid = '8' bash# urpmi perl-mysql bash# urpmi perl-chart bash# urpmi perl-gd -bash# urpmi perl-MailTools (1) +bash# urpmi perl-MailTools (1) bash# urpmi apache-modules (1) @@ -1369,7 +1543,7 @@ bash# urpmi apache-modules Bugzilla. You will have to make sure that Apache is properly configured to run the Bugzilla CGI scripts. You also need to make sure 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 the Internet. @@ -1396,7 +1570,7 @@ AllowOverride Limit For more information on Apache and its directives, see the glossary entry on Apache. - Example 4-1. .htaccess files for Apache + Example 4-2. .htaccess files for Apache $BUGZILLA_HOME/.htaccess # don't allow people to retrieve non-cgi executable files or our private data @@ -1567,9 +1741,9 @@ proc filter_deny { why } { 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 - 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 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. 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 - 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 Thu Feb 6 16:26:23 2003 @@ -205,6 +205,7 @@ @@ -1953,10 +2127,10 @@ Chapter 5. Administering Bugzilla modify 2. Maximum Votes per person: Setting this field to "0" disables voting. - 3. Maximum Votes a person can put on a single bug": 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" is - non-zero; that doesn't make any sense. + 3. Maximum Votes a person can put on a single bug: 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" is non-zero; + that doesn't make any sense. 4. Number of votes a bug in this product needs to automatically get out of the UNCONFIRMED state: Setting this field to "0" disables the automatic move of bugs from UNCONFIRMED to NEW. @@ -2624,7 +2798,7 @@ patching file globals.pl 5.10.3. Perforce SCM 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 can find the "Perforce Public Depot" p4dti page at http://public.perforce.com/public/perforce/p4dti/index.html . @@ -2834,21 +3008,21 @@ Appendix A. The Bugzilla FAQ A.1.1. Where can I find information about Bugzilla? 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? 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? http://bugzilla.org/consulting.html is a list of people and companies who have asked us to list them as consultants for Bugzilla. - www.collab.net offers Bugzilla as part of their standard offering to - large projects. They do have some minimum fees that are pretty hefty, - and generally aren't interested in small projects. + http://www.collab.net/ offers Bugzilla as part of their standard + offering to large projects. They do have some minimum fees that are + pretty hefty, and generally aren't interested in small projects. There are several experienced Bugzilla hackers on the mailing list/newsgroup who are willing to make themselves available for @@ -2924,7 +3098,8 @@ Appendix A. The Bugzilla FAQ There is currently work in progress to make Bugzilla work on 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 servers should be trivial. @@ -2999,8 +3174,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl compensate for the change. There is no GUI for adding fields to Bugzilla at this time. You can - follow development of this feature at - http://bugzilla.mozilla.org/show_bug.cgi?id=91037 + follow development of this feature in bug 91037 A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, 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 MySQL, the database back-end for Bugzilla, allows hot-backup of data. 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? @@ -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? Try Klaas Freitag's excellent patch for "whineatassigned" - functionality. You can find it at - http://bugzilla.mozilla.org/show_bug.cgi?id=6679. This patch is - against an older version of Bugzilla, so you must apply the diffs - manually. + functionality. You can find it in bug 6679. This patch is 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 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 I reckon TimeDate and Data::Dumper come with the activeperl. You can check the ActiveState site for packages for installation through PPM. - http://www.activestate.com/Packages/ + http://www.activestate.com/Packages/. 7. Bugzilla Usage @@ -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 instance, have the default priority be "---" instead of "P2"? - This is well-documented here: - http://bugzilla.mozilla.org/show_bug.cgi?id=49862. Ultimately, it's as - easy as adding the "---" priority field to your localconfig file in - the appropriate area, re-running checksetup.pl, and then changing the + This is well-documented in bug 49862. Ultimately, it's as easy as + adding the "---" priority field to your localconfig file in the + appropriate area, re-running checksetup.pl, and then changing the default priority in your browser using "editparams.cgi". 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 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 - 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 reverential silence as Certain Death (better known as the Vice @@ -3546,9 +3717,8 @@ B.2.1. Bugzilla Database Basics 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 a "bigint" and a "tinyint" entry in MySQL. I recommend you refer to - the MySQL documentation, available at MySQL.com . Below are the basics - you need to know about the Bugzilla database. Check the chart above - for more details. + the MySQL documentation . Below are the basics you need to know about + the Bugzilla database. Check the chart above for more details. 1. To connect to your database: bash# mysql -u root @@ -3603,16 +3773,16 @@ B.2.1.1. Bugzilla Database Tables | watch | +-------------------+ - Here's an overview of what each table does. Most columns in each ta - ble have + Here's an overview of what each table does. Most columns in each tab + le have descriptive names that make it fairly trivial to figure out their jobs . - attachments: This table stores all attachments to bugs. It tends to b - e your + attachments: This table stores all attachments to bugs. It tends to be + your largest table, yet also generally has the fewest entries because file attachments are so (relatively) large. - bugs: This is the core of your system. The bugs table stores most of - the + bugs: This is the core of your system. The bugs table stores most of + the current information about a bug, with the exception of the info stored in the other tables. @@ -3621,33 +3791,33 @@ B.2.1.1. Bugzilla Database Tables when -- a history file. cc: This tiny table simply stores all the CC information for any bug which has - any entries in the CC field of the bug. Note that, like most other ta - bles in + any entries in the CC field of the bug. Note that, like most other tab + les in Bugzilla, it does not refer to users by their user names, but by their unique userid, stored as a primary key in the profiles table. components: This stores the programs and components (or products and - components, in newer Bugzilla parlance) for Bugzilla. Curiously, the - "program" + components, in newer Bugzilla parlance) for Bugzilla. Curiously, the " + program" (product) field is the full name of the product, rather than some othe r unique identifier, like bug_id and user_id are elsewhere in the database. dependencies: Stores data about those cool dependency trees. - fielddefs: A nifty table that defines other tables. For instance, wh - en you + fielddefs: A nifty table that defines other tables. For instance, whe + n you submit a form that changes the value of "AssignedTo" this table allows translation to the actual field name "assigned_to" for entry into MySQ L. - groups: defines bitmasks for groups. A bitmask is a number that can - uniquely - identify group memberships. For instance, say the group that is allow - ed to + groups: defines bitmasks for groups. A bitmask is a number that can u + niquely + identify group memberships. For instance, say the group that is allowe + d to tweak parameters is assigned a value of "1", the group that is allowed to edit users is assigned a "2", and the group that is allowed to create new g roups is - assigned the bitmask of "4". By uniquely combining the group bitmasks - (much + assigned the bitmask of "4". By uniquely combining the group bitmasks + (much like the chmod command in UNIX,) you can identify a user is allowed to tweak parameters and create groups, but not edit users, by giving him a bitm @@ -3662,10 +3832,10 @@ B.2.1.1. Bugzilla Database Tables associated with which bug id's. logincookies: This stores every login cookie ever assigned to you for every - machine you've ever logged into Bugzilla from. Curiously, it never do - es any + machine you've ever logged into Bugzilla from. Curiously, it never doe + s any 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 akes sense. @@ -3675,7 +3845,7 @@ B.2.1.1. Bugzilla Database Tables peak sparingly -- that's only the amount of space the Old Testament from th e Bible - would take (uncompressed, 16 megabytes). Each comment is keyed to the + would take (uncompressed, 16 megabytes). Each comment is keyed to the bug_id to which it's attached, so the order is necessarily chronologic al, for comments are played back in the order in which they are received. @@ -3685,14 +3855,14 @@ B.2.1.1. Bugzilla Database Tables by product through the standard configuration interfaces. namedqueries: This is where everybody stores their "custom queries". - Very + Very cool feature; it beats the tar out of having to bookmark each cool que ry you construct. products: What products you have, whether new bug entries are allowed for the product, what milestone you're working toward on that product, votes, - etc. It + etc. It will be nice when the components table supports these same features, s o you could close a particular component for bug entry without having to clo @@ -3725,8 +3895,8 @@ B.2.1.1. Bugzilla Database Tables mysql> select * from table; -- note: this is a very bad idea to do on, for instance, the "bugs" table if - you have 50,000 bugs. You'll be sitting there a while until you ctrl- - c or + you have 50,000 bugs. You'll be sitting there a while until you ctrl-c + or 50,000 bugs play across your screen. You can limit the display from above a little with the command, wher e @@ -3737,8 +3907,8 @@ B.2.1.1. Bugzilla Database Tables mysql> select * from table where (column != "some info"); Let's take our example from the introduction, and assume you need to change - the word "verified" to "approved" in the resolution field. We know fr - om the + the word "verified" to "approved" in the resolution field. We know fro + m the above information that the resolution is likely to be stored in the "b ugs" table. Note we'll need to change a little perl code as well as this da @@ -3750,13 +3920,13 @@ B.2.1.1. Bugzilla Database Tables (exceedingly long output truncated here) | bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED ','VERIFIED','CLOSED')||MUL | UNCONFIRMED|| - Sorry about that long line. We see from this that the "bug status" - column is + Sorry about that long line. We see from this that the "bug status" c + olumn is an "enum field", which is a MySQL peculiarity where a string type fiel d can - only have certain types of entries. While I think this is very cool, - it's not - standard SQL. Anyway, we need to add the possible enum field entry + only have certain types of entries. While I think this is very cool, i + t's not + standard SQL. Anyway, we need to add the possible enum field entry 'APPROVED' by altering the "bugs" table. mysql> ALTER table bugs CHANGE bug_status bug_status -> enum("UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED", "RESOLVED", @@ -3770,8 +3940,8 @@ B.2.1.1. Bugzilla Database Tables at's available! Cool thing, too, is that this is reflected on your query p age as - well -- you can query by the new status. But how's it fit into the ex - isting + well -- you can query by the new status. But how's it fit into the exi + sting scheme of things? Looks like you need to go back and look for instances of the word "v erified" @@ -3781,11 +3951,10 @@ B.2.1.1. Bugzilla Database Tables search). Although you can query by the enum field, you can't give something a s tatus - of "APPROVED" until you make the perl changes. Note that this change - I + of "APPROVED" until you make the perl changes. Note that this change I mentioned can also be done by editing checksetup.pl, which automates a lot of - this. But you need to know this stuff anyway, right? + this. But you need to know this stuff anyway, right? _________________________________________________________________ Appendix C. Useful Patches and Utilities for Bugzilla @@ -3853,7 +4022,7 @@ Appendix D. Bugzilla Variants and Competitors I created this section to answer questions about Bugzilla competitors 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 - 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 @@ -3897,7 +4066,7 @@ D.4. Scarab Scarab is a new open source bug-tracking system built using Java 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 _________________________________________________________________ @@ -3907,7 +4076,7 @@ D.5. Perforce SCM Although Perforce isn't really a bug tracker, it can be used as such through the "jobs" functionality. - URL: http://www.perforce.com/perforce/technotes/note052.html + URL: http://www.perforce.com/perforce/technotes/note052.html This section last updated 27 Jul 2002 _________________________________________________________________ @@ -4248,7 +4417,7 @@ Appendix E. GNU Free Documentation License GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in 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. If the Document specifies that a particular numbered version of this @@ -4363,7 +4532,7 @@ C creating a Product with no Components will create an error in Bugzilla). - CPAN + Comprehensive Perl Archive Network (CPAN) CPAN stands for the "Comprehensive Perl Archive Network". CPAN maintains a large number of extremely useful Perl modules - encapsulated chunks of code for performing a particular task. @@ -4417,6 +4586,9 @@ M P + Perl Package Manager (PPM) + http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/ + Product A Product is a broad category of types of bugs, normally representing a single piece of software or entity. In general, |