I added related information to the Bugzilla Guide, and tacked in a couple of last-minute additions. Also fixed the annoying "Tip: HINT:" thing. git-svn-id: svn://10.0.0.236/trunk@93103 18797224-902f-48f8-a5cc-f745e15eee43
1804 lines
36 KiB
HTML
1804 lines
36 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>UNIX Installation</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="The Bugzilla Guide"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="Installing Bugzilla"
|
|
HREF="installation.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Installing Bugzilla"
|
|
HREF="installation.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Win32 (Win98+/NT/2K) Installation"
|
|
HREF="readme.windows.html"></HEAD
|
|
><BODY
|
|
CLASS="SECTION"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>The Bugzilla Guide</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="installation.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 2. Installing Bugzilla</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="readme.windows.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H1
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="README.UNIX"
|
|
>2.1. UNIX Installation</A
|
|
></H1
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN190"
|
|
>2.1.1. ERRATA</A
|
|
></H2
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> If you are installing Bugzilla on S.u.S.e. Linux, or some other
|
|
distributions with "paranoid" security options, it is possible
|
|
that the checksetup.pl script may fail with the error:
|
|
<SPAN
|
|
CLASS="ERRORNAME"
|
|
>cannot chdir(/var/spool/mqueue): Permission denied</SPAN
|
|
>
|
|
This is because your
|
|
/var/spool/mqueue directory has a mode of "drwx------". Type
|
|
<B
|
|
CLASS="COMMAND"
|
|
>chmod 755 /var/spool/mqueue</B
|
|
> as root to fix this problem.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> Release Notes for Bugzilla 2.12 are available at docs/rel_notes.txt
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> The preferred documentation for Bugzilla is available in docs/, with
|
|
a variety of document types available. Please refer to these documents when
|
|
installing, configuring, and maintaining your Bugzilla installation.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
><DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
BORDER="1"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
><B
|
|
>Warning</B
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
><P
|
|
> Bugzilla is not a package where you can just plop it in a directory,
|
|
twiddle a few things, and you're off. Installing Bugzilla assumes you
|
|
know your variant of UNIX or Microsoft Windows well, are familiar with the
|
|
command line, and are comfortable compiling and installing a plethora
|
|
of third-party utilities. To install Bugzilla on Win32 requires
|
|
fair Perl proficiency, and if you use a webserver other than Apache you
|
|
should be intimately familiar with the security mechanisms and CGI
|
|
environment thereof.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
BORDER="1"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
><B
|
|
>Warning</B
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
><P
|
|
> Bugzilla has not undergone a complete security review. Security holes
|
|
may exist in the code. 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.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN204"
|
|
>2.1.2. Step-by-step Install</A
|
|
></H2
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN206"
|
|
>2.1.2.1. Introduction</A
|
|
></H3
|
|
><P
|
|
> Installation of bugzilla is pretty straightforward, particularly if your
|
|
machine already has MySQL and the MySQL-related perl packages installed.
|
|
If those aren't installed yet, then that's the first order of business. The
|
|
other necessary ingredient is a web server set up to run cgi scripts.
|
|
While using Apache for your webserver is not required, it is recommended.
|
|
</P
|
|
><P
|
|
> Bugzilla has been successfully installed under Solaris, Linux, and
|
|
Win32. The peculiarities of installing on Win32 (Win98+/NT/2K) are not
|
|
included in this section of the Guide; please check out the "Win32 Installation Instructions"
|
|
for further advice on getting Bugzilla to work on Microsoft Windows.
|
|
</P
|
|
><P
|
|
> The Bugzilla Guide is contained in the "docs/" folder. It is available
|
|
in plain text (docs/txt), HTML (docs/html), or SGML source (docs/sgml).
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN211"
|
|
>2.1.2.2. Installing the Prerequisites</A
|
|
></H3
|
|
><P
|
|
> The software packages necessary for the proper running of bugzilla are:
|
|
<P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> MySQL database server and the mysql client (3.22.5 or greater)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Perl (5.004 or greater)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> DBI Perl module
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Data::Dumper Perl module
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> DBD::mySQL
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> TimeDate Perl module collection
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> GD perl module (1.8.3) (optional, for bug charting)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Chart::Base Perl module (0.99c) (optional, for bug charting)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> DB_File Perl module (optional, for bug charting)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> The web server of your choice. Apache is recommended.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> MIME::Parser Perl module (optional, for contrib/bug_email.pl interface)
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
<DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> You must run Bugzilla on a filesystem that supports file locking via
|
|
flock(). This is necessary for Bugzilla to operate safely with multiple
|
|
instances.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
>
|
|
<DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
BORDER="1"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
><B
|
|
>Warning</B
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
><P
|
|
> It is a good idea, while installing Bugzilla, to ensure it is not
|
|
<EM
|
|
>accessible</EM
|
|
> by other machines on the Internet.
|
|
Your machine may be vulnerable to attacks
|
|
while you are installing. In other words, ensure there is some kind of firewall between you
|
|
and the rest of the Internet. 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"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN242"
|
|
>2.1.2.3. Installing MySQL Database</A
|
|
></H3
|
|
><P
|
|
> Visit MySQL homepage at http://www.mysql.org/ and grab the latest stable
|
|
release of the server. Both binaries and source are available and which
|
|
you get shouldn't matter. Be aware that many of the binary versions
|
|
of MySQL store their data files in /var which on many installations
|
|
(particularly common with linux installations) is part of a smaller
|
|
root partition. If you decide to build from sources you can easily set
|
|
the dataDir as an option to configure.
|
|
</P
|
|
><P
|
|
> If you've installed from source or non-package (RPM, deb, etc.) binaries
|
|
you'll want to make sure to add mysqld to your init scripts so the server
|
|
daemon will come back up whenever your machine reboots.
|
|
You also may want to edit those init scripts, to make sure that
|
|
mysqld will accept large packets. By default, mysqld is set up to only
|
|
accept packets up to 64K long. This limits the size of attachments you
|
|
may put on bugs. If you add something like "-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.
|
|
</P
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> 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.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN248"
|
|
>2.1.2.4. Perl (5.004 or greater)</A
|
|
></H3
|
|
><P
|
|
> Any machine that doesn't have perl on it is a sad machine indeed. Perl
|
|
for *nix systems can be gotten in source form from http://www.perl.com.
|
|
</P
|
|
><P
|
|
> Perl is now a far cry from the the single compiler/interpreter binary it
|
|
once was. It now includes a great many required modules and quite a
|
|
few other support files. If you're not up to or not inclined to build
|
|
perl from source, you'll want to install it on your machine using some
|
|
sort of packaging system (be it RPM, deb, or what have you) to ensure
|
|
a sane install. In the subsequent sections you'll be installing quite
|
|
a few perl modules; this can be quite ornery if your perl installation
|
|
isn't up to snuff.
|
|
</P
|
|
><DIV
|
|
CLASS="TIP"
|
|
><BLOCKQUOTE
|
|
CLASS="TIP"
|
|
><P
|
|
><B
|
|
>Tip: </B
|
|
> You can skip the following Perl module installation
|
|
steps by installing "Bundle::Bugzilla" from CPAN, which includes them.
|
|
All Perl module installation steps require you have an active Internet
|
|
connection.
|
|
</P
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>perl -MCPAN -e 'install "Bundle::Bugzilla"'</B
|
|
>
|
|
</TT
|
|
>
|
|
</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
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN259"
|
|
>2.1.2.5. DBI Perl Module</A
|
|
></H3
|
|
><P
|
|
> The DBI module is a generic Perl module used by other database related
|
|
Perl modules. For our purposes it's required by 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
|
|
> Like almost all Perl modules DBI can be found on the Comprehensive Perl
|
|
Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a
|
|
real tendency to bog down, so please use mirrors. The current location
|
|
at the time of this writing (02/17/99) can be found in Appendix A.
|
|
</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.
|
|
</P
|
|
><P
|
|
> To use the CPAN shell to install DBI:
|
|
<DIV
|
|
CLASS="INFORMALEXAMPLE"
|
|
><A
|
|
NAME="AEN265"
|
|
></A
|
|
><P
|
|
></P
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>perl -MCPAN -e 'install "DBI"'</B
|
|
>
|
|
</TT
|
|
>
|
|
<DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
>Replace "DBI" with the name of whichever module you wish
|
|
to install, such as Data::Dumper, TimeDate, GD, etc.</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
>
|
|
</P
|
|
><P
|
|
></P
|
|
></DIV
|
|
>
|
|
To do it the hard way:
|
|
<DIV
|
|
CLASS="INFORMALEXAMPLE"
|
|
><A
|
|
NAME="AEN272"
|
|
></A
|
|
><P
|
|
></P
|
|
><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"
|
|
><LI
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>perl Makefile.PL</B
|
|
>
|
|
</TT
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>make</B
|
|
>
|
|
</TT
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>make test</B
|
|
>
|
|
</TT
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>make install</B
|
|
>
|
|
</TT
|
|
>
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
If everything went ok that should be all it takes. For the vast
|
|
majority of perl modules this is all that's required.
|
|
</P
|
|
><P
|
|
></P
|
|
></DIV
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN296"
|
|
>2.1.2.6. Data::Dumper Perl Module</A
|
|
></H3
|
|
><P
|
|
> The Data::Dumper module provides data structure persistence for Perl
|
|
(similar to Java's serialization). It comes with later sub-releases of
|
|
Perl 5.004, but a re-installation just to be sure it's available won't
|
|
hurt anything.
|
|
</P
|
|
><P
|
|
> Data::Dumper is used by the MySQL related Perl modules. It can be
|
|
found on CPAN (link in Appendix A) and can be installed by following
|
|
the same four step make sequence used for the DBI module.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN300"
|
|
>2.1.2.7. MySQL related Perl Module Collection</A
|
|
></H3
|
|
><P
|
|
> The Perl/MySQL interface requires a few mutually-dependent perl
|
|
modules. These modules are grouped together into the the
|
|
Msql-Mysql-modules package. This package can be found at CPAN.
|
|
After the archive file has been downloaded it should
|
|
be untarred.
|
|
</P
|
|
><P
|
|
> The MySQL modules are all built using one make file which is generated
|
|
by running:
|
|
<TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>perl Makefile.pl</B
|
|
>
|
|
</P
|
|
><P
|
|
> The MakeMaker process will ask you a few questions about the desired
|
|
compilation target and your MySQL installation. For many of the questions
|
|
the provided default will be adequate.
|
|
</P
|
|
><P
|
|
> When asked if your desired target is the MySQL or mSQL packages
|
|
selected the MySQL related ones. Later you will be asked if you wish
|
|
to provide backwards compatibility with the older MySQL packages; you
|
|
must answer YES to this question. The default will be no, and if you
|
|
select it things won't work later.
|
|
</P
|
|
><P
|
|
> A host of 'localhost' should be fine and a testing user of 'test' and
|
|
a null password should find itself with sufficient access to run tests
|
|
on the 'test' database which MySQL created upon installation. If 'make
|
|
test' and 'make install' go through without errors you should be ready
|
|
to go as far as database connectivity is concerned.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN309"
|
|
>2.1.2.8. TimeDate Perl Module Collection</A
|
|
></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. A (hopefully
|
|
current) link can be found in Appendix A. The component module we're
|
|
most interested in is the Date::Format module, but installing all of them
|
|
is probably a good idea anyway. The standard Perl module installation
|
|
instructions should work perfectly for this simple package.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN312"
|
|
>2.1.2.9. GD Perl Module (1.8.3)</A
|
|
></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 almost a
|
|
defacto standard for programatic image construction. The Perl bindings
|
|
to it found in the GD library are used on a million web pages to generate
|
|
graphs on the fly. That's what bugzilla will be using it for so you'd
|
|
better install it if you want any of the graphing to work.
|
|
</P
|
|
><P
|
|
> Actually bugzilla uses the Graph module which relies on GD itself,
|
|
but isn't that always the way with OOP. At any rate, you can find the
|
|
GD library on CPAN (link in Appendix "Required Software").
|
|
</P
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> The Perl GD library requires some other libraries that may or may not be
|
|
installed on your system, including "libpng" and "libgd". The full requirements
|
|
are listed in the Perl GD library README. Just realize that if compiling GD fails,
|
|
it's probably because you're missing a required library.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN318"
|
|
>2.1.2.10. Chart::Base Perl Module (0.99c)</A
|
|
></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 where it is found as the Chart-x.x... tarball in a
|
|
directory to be listed in Appendix "Required Software". Note that as with the GD perl
|
|
module, only the specific versions listed above (or newer) will work. Earlier
|
|
versions used GIF's, which are no longer supported by the latest
|
|
versions of GD.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN321"
|
|
>2.1.2.11. DB_File Perl Module</A
|
|
></H3
|
|
><P
|
|
> DB_File is a module which allows Perl programs to make use of the facilities provided by
|
|
Berkeley DB version 1.x. This module is required by collectstats.pl which is used for
|
|
bug charting. If you plan to make use of bug charting, you must install this module.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN324"
|
|
>2.1.2.12. HTTP Server</A
|
|
></H3
|
|
><P
|
|
> You have a freedom of choice here - Apache, Netscape or any other
|
|
server on UNIX would do. You can easily run the web server on a different
|
|
machine than MySQL, but need to adjust the MySQL "bugs" user permissions
|
|
accordingly.
|
|
</P
|
|
><P
|
|
> You'll want to make sure that your web server will run any file
|
|
with the .cgi extension as a cgi and not just display it. If you're using
|
|
apache that means uncommenting the following line in the srm.conf file:
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>AddHandler cgi-script .cgi</TT
|
|
>
|
|
</P
|
|
><P
|
|
> With apache you'll also want to make sure that within the access.conf
|
|
file the line:
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> Options ExecCGI
|
|
</TT
|
|
>
|
|
is in the stanza that covers the directories you intend to put the bugzilla
|
|
.html and .cgi files into.
|
|
</P
|
|
><P
|
|
> If you are using a newer version of Apache, both of the above lines will be
|
|
(or will need to be) in the httpd.conf file, rather than srm.conf or
|
|
access.conf.
|
|
</P
|
|
><DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
BORDER="1"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
><B
|
|
>Warning</B
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
><P
|
|
> There are two critical directories and a file that should not be a served by
|
|
the HTTP server. These are the 'data' and 'shadow' directories and the
|
|
'localconfig' file. You should configure your HTTP server to not serve
|
|
content from these files. Failure to do so will expose critical passwords
|
|
and other data. Please see your HTTP server configuration manual on how
|
|
to do this. If you use quips (at the top of the buglist pages) you will want
|
|
the 'data/comments' file to still be served. This file contains those quips.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN334"
|
|
>2.1.2.13. Installing the Bugzilla Files</A
|
|
></H3
|
|
><P
|
|
> You should untar the Bugzilla files into a directory that you're
|
|
willing to make writable by the default web server user (probably
|
|
'nobody'). You may decide to put the files off of the main web space
|
|
for your web server or perhaps off of /usr/local with a symbolic link
|
|
in the web space that points to the bugzilla directory. At any rate,
|
|
just dump all the files in the same place (optionally omitting the CVS
|
|
directories if they were accidentally tarred up with the rest of Bugzilla)
|
|
and make sure you can access the files in that directory through your
|
|
web server.
|
|
</P
|
|
><DIV
|
|
CLASS="TIP"
|
|
><BLOCKQUOTE
|
|
CLASS="TIP"
|
|
><P
|
|
><B
|
|
>Tip: </B
|
|
> If you symlink the bugzilla directory into your Apache's
|
|
HTML heirarchy, you may receive "Forbidden" errors unless you
|
|
add the "FollowSymLinks" directive to the <Directory> entry
|
|
for the HTML root.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
><P
|
|
> Once all the files are in a web accessible directory, make that
|
|
directory writable by your webserver's user (which may require just
|
|
making it world writable). This is a temporary step until you run
|
|
the post-install "checksetup.pl" script, which locks down your
|
|
installation.
|
|
</P
|
|
><P
|
|
> Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl
|
|
for the correct location of your perl executable (probably /usr/bin/perl).
|
|
Otherwise you must hack all the .cgi files to change where they look
|
|
for perl. To make future upgrades easier, you should use the symlink
|
|
approach.
|
|
<DIV
|
|
CLASS="EXAMPLE"
|
|
><A
|
|
NAME="AEN341"
|
|
></A
|
|
><P
|
|
><B
|
|
>Example 2-1. Setting up bonsaitools symlink</B
|
|
></P
|
|
><P
|
|
> Here's how you set up the Perl symlink on Linux to make Bugzilla work.
|
|
Your mileage may vary; if you are running on Solaris, you probably need to subsitute
|
|
"/usr/local/bin/perl" for "/usr/bin/perl" below; if on certain other UNIX systems,
|
|
Perl may live in weird places like "/opt/perl". As root, run these commands:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>bash# mkdir /usr/bonsaitools
|
|
bash# mkdir /usr/bonsaitools/bin
|
|
bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
|
|
</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
></DIV
|
|
>
|
|
<DIV
|
|
CLASS="TIP"
|
|
><BLOCKQUOTE
|
|
CLASS="TIP"
|
|
><P
|
|
><B
|
|
>Tip: </B
|
|
> If you don't have root access to set this symlink up, check out the
|
|
"setperl.csh" utility, listed in the Patches section of this
|
|
Guide. It will change the path to perl in all your Bugzilla files for
|
|
you.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN347"
|
|
>2.1.2.14. Setting Up the MySQL Database</A
|
|
></H3
|
|
><P
|
|
> After you've gotten all the software installed and working you're ready
|
|
to start preparing the database for its life as a 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 "bugs", and will have minimal permissions. Bugzilla has
|
|
not undergone a thorough security audit. It may be possible for
|
|
a system cracker to somehow trick Bugzilla into executing a command
|
|
such as "; DROP DATABASE mysql".
|
|
</P
|
|
><P
|
|
> That would be bad.
|
|
</P
|
|
><P
|
|
> Give the MySQL root user a password. MySQL passwords are
|
|
limited to 16 characters.
|
|
<P
|
|
></P
|
|
><TABLE
|
|
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
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>FLUSH PRIVILEGES;</B
|
|
>
|
|
</TT
|
|
>
|
|
</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 "mysql -u root -p" and
|
|
enter your new_password. Remember that MySQL user names have
|
|
nothing to do with Unix user names (login names).
|
|
</P
|
|
><P
|
|
> Next, we create the "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.
|
|
</P
|
|
><P
|
|
> Remember to set bugs_password to some unique password.
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <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
|
|
CLASS="PROMPT"
|
|
> mysql>
|
|
</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
> FLUSH PRIVILEGES;
|
|
</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> Next, run the magic checksetup.pl script. (Many thanks to Holger
|
|
Schurig <holgerschurig@nikocity.de> for writing this script!)
|
|
It will make sure Bugzilla files and directories have reasonable
|
|
permissions, set up the "data" directory, and create all the MySQL
|
|
tables.
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>./checksetup.pl</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
The first time you run it, it will create a file called "localconfig".
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN383"
|
|
>2.1.2.15. Tweaking "localconfig"</A
|
|
></H3
|
|
><P
|
|
> This file contains a variety of settings you may need to tweak including
|
|
how Bugzilla should connect to the MySQL database.
|
|
</P
|
|
><P
|
|
> The connection settings include:
|
|
<P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> server's host: just use "localhost" if the MySQL server is
|
|
local
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> database name: "bugs" if you're following these directions
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> MySQL username: "bugs" if you're following these directions
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Password for the "bugs" MySQL account above
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
</P
|
|
><P
|
|
> Once you are happy with the settings, re-run checksetup.pl. On this
|
|
second run, it will create the database and an administrator account
|
|
for which you will be prompted to provide information.
|
|
</P
|
|
><P
|
|
> When logged into an administrator account once Bugzilla is running,
|
|
if you go to the query page (off of the bugzilla main menu), you'll
|
|
find an 'edit parameters' option that is filled with editable treats.
|
|
</P
|
|
><P
|
|
> Should everything work, you should have a nearly empty copy of the bug
|
|
tracking setup.
|
|
</P
|
|
><P
|
|
> The second time around, checksetup.pl will stall if it is on a
|
|
filesystem that does not fully support file locking via flock(), such as
|
|
NFS mounts. This support is required for Bugzilla to operate safely with
|
|
multiple instances. If flock() is not fully supported, it will stall at:
|
|
<SPAN
|
|
CLASS="ERRORCODE"
|
|
>Now regenerating the shadow database for all bugs.</SPAN
|
|
>
|
|
<DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> The second time you run checksetup.pl, you should become the
|
|
user your web server runs as, and that you ensure you have set the
|
|
"webservergroup" parameter in localconfig to match the web server's group
|
|
name, if any. I believe, for the next release of Bugzilla, this will
|
|
be fixed so that Bugzilla supports a "webserveruser" parameter in localconfig
|
|
as well.
|
|
<DIV
|
|
CLASS="EXAMPLE"
|
|
><A
|
|
NAME="AEN403"
|
|
></A
|
|
><P
|
|
><B
|
|
>Example 2-2. Running checksetup.pl as the web user</B
|
|
></P
|
|
><P
|
|
> Assuming your web server runs as user "apache", and Bugzilla is installed in
|
|
"/usr/local/bugzilla", here's one way to run checksetup.pl as the web server user.
|
|
As root, for the <EM
|
|
>second run</EM
|
|
> of checksetup.pl, do this:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>bash# chown -R apache:apache /usr/local/bugzilla
|
|
bash# su - apache
|
|
bash# cd /usr/local/bugzilla
|
|
bash# ./checksetup.pl
|
|
</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
></DIV
|
|
>
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
>
|
|
</P
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><BLOCKQUOTE
|
|
CLASS="NOTE"
|
|
><P
|
|
><B
|
|
>Note: </B
|
|
> The checksetup.pl script is designed so that you can run it at any time
|
|
without causing harm. You should run it after any upgrade to Bugzilla.
|
|
</P
|
|
></BLOCKQUOTE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN410"
|
|
>2.1.2.16. Setting Up Maintainers Manually (Optional)</A
|
|
></H3
|
|
><P
|
|
> If you want to add someone else to every group by hand, you can do it
|
|
by typing the appropriate MySQL commands. Run '<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> mysql -u root -p bugs</TT
|
|
>'
|
|
(you may need different parameters, depending on your security settings
|
|
according to section 3, above). Then:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>update profiles set groupset=0x7fffffffffffffff
|
|
where login_name = 'XXX';</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
replacing XXX with the Bugzilla email address.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN419"
|
|
>2.1.2.17. The Whining Cron (Optional)</A
|
|
></H3
|
|
><P
|
|
> By now you've got a fully functional bugzilla, but what good are bugs
|
|
if they're not annoying? To help make those bugs more annoying you can
|
|
set up bugzilla's automatic whining system. This can be done by adding
|
|
the following command as a daily crontab entry (for help on that see that
|
|
crontab man page):
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <B
|
|
CLASS="COMMAND"
|
|
>cd <your-bugzilla-directory> ; ./whineatnews.pl</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN426"
|
|
>2.1.2.18. Bug Graphs (Optional)</A
|
|
></H3
|
|
><P
|
|
> As long as you installed the GD and Graph::Base Perl modules you might
|
|
as well turn on the nifty bugzilla bug reporting graphs.
|
|
</P
|
|
><P
|
|
> Add a cron entry like this to run collectstats daily at 5 after midnight:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>crontab -e</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> 5 0 * * * cd <your-bugzilla-directory> ; ./collectstats.pl
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> After two days have passed you'll be able to view bug graphs from the
|
|
Bug Reports page.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN438"
|
|
>2.1.2.19. Securing MySQL</A
|
|
></H3
|
|
><P
|
|
> If you followed the README for setting up your "bugs" and "root" user in
|
|
MySQL, much of this should not apply to you. If you are upgrading
|
|
an existing installation of Bugzilla, you should pay close attention
|
|
to this section.
|
|
</P
|
|
><P
|
|
> Most MySQL installs have "interesting" default security parameters:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>mysqld defaults to running as root</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>it defaults to allowing external network connections</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>it has a known port number, and is easy to detect</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>it defaults to no passwords whatsoever</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>it defaults to allowing "File_Priv"</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> This means anyone from anywhere on the internet can not only drop the
|
|
database with one SQL command, and they can write as root to the system.
|
|
</P
|
|
><P
|
|
> To see your permissions do:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>bash#</TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>mysql -u root -p</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>use mysql;</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>show tables;</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>select * from user;</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
> <TT
|
|
CLASS="PROMPT"
|
|
>mysql></TT
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>select * from db;</B
|
|
>
|
|
</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> To fix the gaping holes:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>DELETE FROM user WHERE User='';</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>UPDATE user SET Password=PASSWORD('new_password') WHERE user='root';</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> FLUSH PRIVILEGES;</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> If you're not running "mit-pthreads" you can use:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>GRANT USAGE ON *.* TO bugs@localhost;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>GRANT ALL ON bugs.* TO bugs@localhost;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>REVOKE DROP ON bugs.* FROM bugs@localhost;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>FLUSH PRIVILEGES;</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> With "mit-pthreads" you'll need to modify the "globals.pl" Mysql->Connect
|
|
line to specify a specific host name instead of "localhost", and accept
|
|
external connections:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>GRANT USAGE ON *.* TO bugs@bounce.hop.com;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>GRANT ALL ON bugs.* TO bugs@bounce.hop.com;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>REVOKE DROP ON bugs.* FROM bugs@bounce.hop.com;</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>FLUSH PRIVILEGES;</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
>
|
|
</P
|
|
><P
|
|
> Consider also:
|
|
<P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> Turning off external networking with "--skip-networking",
|
|
unless you have "mit-pthreads", in which case you can't.
|
|
Without networking, MySQL connects with a Unix domain socket.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> using the --user= option to mysqld to run it as an unprivileged
|
|
user.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> starting MySQL in a chroot jail
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> running the httpd in a "chrooted" jail
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> making sure the MySQL passwords are different from the OS
|
|
passwords (MySQL "root" has nothing to do with system "root").
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> running MySQL on a separate untrusted machine
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> making backups ;-)
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN504"
|
|
>2.1.2.20. Installation General Notes</A
|
|
></H3
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H4
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN506"
|
|
>2.1.2.20.1. Modifying Your Running System</A
|
|
></H4
|
|
><P
|
|
> Bugzilla optimizes database lookups by storing all relatively static
|
|
information in the versioncache file, located in the data/ subdirectory
|
|
under your installation directory (we said before it needs to be writable,
|
|
right?!)
|
|
</P
|
|
><P
|
|
> If you make a change to the structural data in your database (the
|
|
versions table for example), or to the "constants" encoded in
|
|
defparams.pl, you will need to remove the cached content from the data
|
|
directory (by doing a "rm data/versioncache"), or your changes won't show
|
|
up!
|
|
</P
|
|
><P
|
|
> That file gets automatically regenerated whenever it's more than an
|
|
hour old, so Bugzilla will eventually notice your changes by itself, but
|
|
generally you want it to notice right away, so that you can test things.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H4
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN511"
|
|
>2.1.2.20.2. Upgrading From Previous Versions</A
|
|
></H4
|
|
><P
|
|
> The developers of Bugzilla are constantly adding new tables, columns and
|
|
fields. You'll get SQL errors if you just update the code. The strategy
|
|
to update is to simply always run the checksetup.pl script whenever
|
|
you upgrade your installation of Bugzilla. If you want to see what has
|
|
changed, you can read the comments in that file, starting from the end.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H4
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN514"
|
|
>2.1.2.20.3. UNIX Installation Instructions History</A
|
|
></H4
|
|
><P
|
|
> This document was originally adapted from the Bonsai installation
|
|
instructions by Terry Weissman <terry@mozilla.org>.
|
|
</P
|
|
><P
|
|
> The February 25, 1999 re-write of this page was done by Ry4an Brase
|
|
<ry4an@ry4an.org>, with some edits by Terry Weissman, Bryce Nesbitt,
|
|
Martin Pool, & Dan Mosedale (But don't send bug reports to them!
|
|
Report them using bugzilla, at http://bugzilla.mozilla.org/enter_bug.cgi ,
|
|
project Webtools, component Bugzilla).
|
|
</P
|
|
><P
|
|
> This document was heavily modified again Wednesday, March 07 2001 to
|
|
reflect changes for Bugzilla 2.12 release by Matthew P. Barnson. The
|
|
securing MySQL section should be changed to become standard procedure
|
|
for Bugzilla installations.
|
|
</P
|
|
><P
|
|
> Finally, the README in its entirety was marked up in SGML and included into
|
|
the Guide on April 24, 2001.
|
|
</P
|
|
><P
|
|
> Comments from people using this Guide for the first time are particularly welcome.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="installation.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="readme.windows.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Installing Bugzilla</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="installation.html"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Win32 (Win98+/NT/2K) Installation</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |