The preferred documentation for Bugzilla is available in
+>
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.
@@ -3426,11 +3426,11 @@ CLASS="FILENAME"
> Bugzilla is not a package where you can just plop it in a directory,
+>
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
@@ -3460,11 +3460,11 @@ VALIGN="TOP"
> |
Bugzilla has not undergone a complete security review. Security holes
+>
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.
@@ -3491,58 +3491,58 @@ VALIGN="TOP"
>
Installation of bugzilla is pretty straightforward, particularly if your
+>
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.
Bugzilla has been successfully installed under Solaris, Linux,
+>
Bugzilla has been successfully installed under Solaris, Linux,
and Win32. The peculiarities of installing on Win32 (Microsoft
Windows) are not included in this section of the Guide; please
check out the Win32 Installation Notes for further advice
on getting Bugzilla to work on Microsoft Windows.
The Bugzilla Guide is contained in the "docs/" folder in your
+>
The Bugzilla Guide is contained in the "docs/" folder in your
Bugzilla distribution. It is available in plain text
(docs/txt), HTML (docs/html), or SGML source (docs/sgml).
Using Bundle::Bugzilla instead of manually installing Perl modules
The software packages necessary for the proper running of bugzilla are:
+>
The software packages necessary for the proper running of bugzilla are:
MySQL database server and the mysql client (3.22.5 or greater)
+>
MySQL database server and the mysql client (3.22.5 or greater)
Perl (5.004 or greater, 5.6.1 is recommended if you wish
+>
Perl (5.004 or greater, 5.6.1 is recommended if you wish
to use Bundle::Bugzilla)
DBI Perl module
+>
DBI Perl module
Data::Dumper Perl module
+>
Data::Dumper Perl module
Bundle::Mysql Perl module collection
+>
Bundle::Mysql Perl module collection
TimeDate Perl module collection
+>
TimeDate Perl module collection
GD perl module (1.8.3) (optional, for bug charting)
+>
GD perl module (1.8.3) (optional, for bug charting)
Chart::Base Perl module (0.99c) (optional, for bug charting)
+>
Chart::Base Perl module (0.99c) (optional, for bug charting)
DB_File Perl module (optional, for bug charting)
+>
DB_File Perl module (optional, for bug charting)
The web server of your choice. Apache is recommended.
+>
The web server of your choice. Apache is recommended.
MIME::Parser Perl module (optional, for contrib/bug_email.pl interface)
+>
MIME::Parser Perl module (optional, for contrib/bug_email.pl interface)
It is a good idea, while installing Bugzilla, to ensure it
+>
It is a good idea, while installing Bugzilla, to ensure it
is not accessible by other machines
@@ -3674,11 +3674,11 @@ VALIGN="TOP"
>
urpmi utility. If you follow these
commands, you should have everything you need for
Bugzilla, and checksetup.pl should
not complain about any missing libraries. You may already
@@ -3716,10 +3716,10 @@ BORDER="0"
> bash# urpmi
perl-mysql | bash# urpmi
perl-chart | bash# urpmi
perl-gd | bash# urpmi
perl-MailTools (for Bugzilla email
@@ -3761,10 +3761,10 @@ CLASS="COMMAND"
> | bash# urpmi
apache-modules |
Visit MySQL homepage at
Visit MySQL homepage at www.mysql.com and grab the latest stable release of the server. Many of the binary versions of MySQL store their data files in /var which is often part of a smaller root partition. If you decide to build from sources you can easily set the dataDir as an option to configure.
If you install from source or non-package (RPM, deb, etc.)
+>
If you install from source or non-package (RPM, deb, etc.)
binaries you 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.
You should have your init script 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. If you plan on running Bugzilla and MySQL on the same
+>
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
@@ -3899,15 +3899,15 @@ CLASS="OPTION"
>
Any machine that doesn't have perl on it is a sad machine
+>
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. Although Bugzilla runs with most
post-5.004 versions of Perl, it's a good idea to be up to the
@@ -3915,7 +3915,7 @@ NAME="INSTALL-PERL"
this writing, that is perl version 5.6.1.
Perl is now a far cry from the the single compiler/interpreter
+>
Perl is now a far cry from the the single compiler/interpreter
binary it once was. It 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
@@ -3926,11 +3926,11 @@ NAME="INSTALL-PERL"
isn't up to snuff.
You can skip the following Perl module installation steps by
+>
You can skip the following Perl module installation steps by
installing Bundle::Bugzilla from
CPAN, which
@@ -4009,13 +4009,13 @@ CLASS="GLOSSTERM"
version of Perl (at this writing, version 5.6.1)
bash# perl -MCPAN
-e 'install "Bundle::Bugzilla"'
@@ -4023,7 +4023,7 @@ CLASS="COMMAND"
>
Bundle::Bugzilla doesn't include GD, Chart::Base, or
+>
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.
@@ -4034,62 +4034,62 @@ CLASS="COMMAND"
>
The DBI module is a generic Perl module used by other database related
+>
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.
Like almost all Perl modules DBI can be found on the Comprehensive Perl
+>
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 can be found in Appendix B.
Quality, general Perl module installation instructions can be found on
+>
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 DBI:
+>
To use the CPAN shell to install DBI:
bash#
perl -MCPAN -e 'install "DBI"'
To do it the hard way:
Untar the module tarball -- it should create its own directory
+>
Untar the module tarball -- it should create its own directory
CD to the directory just created, and enter the following commands:
+>
CD to the directory just created, and enter the following commands:
bash#
perl Makefile.PL
bash#
make
bash#
make test
bash#
make install
The Data::Dumper module provides data structure persistence for Perl
+>
The Data::Dumper module provides data structure persistence for Perl
(similar to Java's serialization). It comes with later sub-releases of
Perl 5.004, but a re-installation just to be sure it's available won't
hurt anything.
Data::Dumper is used by the MySQL-related Perl modules. It
+>
Data::Dumper is used by the MySQL-related Perl modules. It
can be found on CPAN (see Appendix B) and
can be
@@ -4235,45 +4235,45 @@ HREF="#DOWNLOADLINKS"
The Perl/MySQL interface requires a few mutually-dependent perl
+>
The Perl/MySQL interface requires a few mutually-dependent perl
modules. These modules are grouped together into the the
Msql-Mysql-modules package. This package can be found at CPAN.
After the archive file has been downloaded it should
be untarred.
The MySQL modules are all built using one make file which is generated
+>
The MySQL modules are all built using one make file which is generated
by running:
bash#
perl Makefile.pl
The MakeMaker process will ask you a few questions about the desired
+>
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.
When asked if your desired target is the MySQL or mSQL packages,
+>
When asked if your desired target is the MySQL or mSQL packages,
select the MySQL related ones. Later you will be asked if you wish
to provide backwards compatibility with the older MySQL packages; you
should answer YES to this question. The default is NO.
A host of 'localhost' should be fine and a testing user of 'test' and
+>
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
@@ -4281,19 +4281,19 @@ CLASS="COMMAND"
Many of the more common date/time/calendar related Perl
+>
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 (see link: Appendix B). The
component module we're most interested in is the Date::Format
@@ -4303,15 +4303,15 @@ HREF="#DOWNLOADLINKS"
The GD library was written by Thomas Boutell a long while
+>
The GD library was written by Thomas Boutell a long while
ago to programatically generate images in C. Since then it's
become the defacto standard for programatic image
construction. The Perl bindings to it found in the GD library
@@ -4320,20 +4320,20 @@ NAME="AEN658"
install it if you want any of the graphing to work.
Actually bugzilla uses the Graph module which relies on GD
+>
Actually bugzilla uses the Graph module which relies on GD
itself. Isn't that always the way with object-oriented
programming? At any rate, you can find the GD library on CPAN
in Appendix B.
The Perl GD library requires some other libraries that may
+>
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
@@ -4369,19 +4369,19 @@ CLASS="CLASSNAME"
>
The Chart module provides bugzilla with on-the-fly charting
+>
The Chart module provides bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it
has been fetched from CPAN where it is found as the
Chart-x.x... tarball, linked in Appendix B. Note that
as with the GD perl module, only the version listed above, or
@@ -4390,15 +4390,15 @@ HREF="#DOWNLOADLINKS"
DB_File is a module which allows Perl programs to make use
+>
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
@@ -4406,15 +4406,15 @@ NAME="AEN671"
You have a freedom of choice here - Apache, Netscape or any
+>
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.
You'll want to make sure that your web server will run any
+>
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:
@@ -4468,8 +4468,8 @@ WIDTH="100%"
>AddHandler cgi-script .cgi
+CLASS="programlisting"
+>
AddHandler cgi-script .cgi
With apache you'll also want to make sure that within the
+>
With apache you'll also want to make sure that within the
access.conf file the line:
Options ExecCGI
Options ExecCGI
+ Users of newer versions of Apache will generally find both
+>
Users of newer versions of Apache will generally find both
of the above lines will be in the httpd.conf file, rather
than srm.conf or access.conf.
|
There are important files and directories that should not
+>
There are important files and directories that should not
be a served by the HTTP server. These are most files in the
.htaccess files and security for details
on how to do this for Apache. I appreciate notes on how to
@@ -4577,15 +4578,15 @@ HREF="#HTACCESS"
>
You should untar the Bugzilla files into a directory that
+>
You should untar the Bugzilla files into a directory that
you're willing to make writable by the default web server user
(probably ). 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
@@ -4602,11 +4603,11 @@ CLASS="FILENAME"
server.
If you symlink the bugzilla directory into your Apache's
+>
If you symlink the bugzilla directory into your Apache's
HTML heirarchy, you may receive
Forbidden errors unless you add the
|
Once all the files are in a web accessible directory, make
+>
Once all the files are in a web accessible directory, make
that 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.
Lastly, you'll need to set up a symbolic link to
+>
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, or use
The setperl.csh Utility, found in
Useful Patches and Utilities for Bugzilla. I suggest using the symlink
approach for future release compatability.
Example 3-1. Setting up bonsaitools symlink Here's how you set up the Perl symlink on Linux to make
+>
Here's how you set up the Perl symlink on Linux to make
Bugzilla work. Your mileage may vary. For some UNIX
operating systems, you probably need to subsitute
bash# mkdir /usr/bonsaitools
+CLASS="programlisting"
+>
bash# mkdir /usr/bonsaitools
bash# mkdir /usr/bonsaitools/bin
bash# ln -s /usr/bin/perl /usr/bonsaitools/bin/perl
Alternately, you can simply run this perl one-liner to
+>
Alternately, you can simply run this perl one-liner to
change your path to perl in all the files in your Bugzilla
installation:
perl -pi -e 's@#!/usr/bonsaitools/bin/perl@#!/usr/bin/perl@' *cgi *pl Bug.pm
+CLASS="programlisting"
+>
perl -pi -e 's@#!/usr/bonsaitools/bin/perl@#!/usr/bin/perl@' *cgi *pl Bug.pm
If you don't have root access to set this symlink up,
+>
If you don't have root access to set this symlink up,
check out the
The setperl.csh Utility, listed in Useful Patches and Utilities for Bugzilla. It will change the path to perl in all your Bugzilla files for you.
After you've gotten all the software installed and working you're ready
+>
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.
First, you'll want to fix MySQL permissions to allow access
+>
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 Bugzilla has not undergone a thorough security audit. It
+>
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.
@@ -4838,7 +4839,7 @@ CLASS="COMMAND"
>
Give the MySQL root user a password. MySQL passwords are
+>
Give 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')
+CLASS="command"
+>
UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root';
@@ -4877,13 +4878,13 @@ CLASS="COMMAND"
> |
mysql> FLUSH
PRIVILEGES; 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).
Next, we create the
Next, we create the "bugs" user, and grant
@@ -4926,7 +4927,7 @@ CLASS="QUOTE"
as a different user.
Remember to set bugs_password to some unique password.
+>
Remember to set bugs_password to some unique password.
mysql>
GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES
ON bugs.* TO bugs@localhost
@@ -4953,16 +4954,16 @@ CLASS="COMMAND"
> | mysql>
+>
mysql>
FLUSH PRIVILEGES;
+CLASS="command"
+>
FLUSH PRIVILEGES;
Next, run the magic checksetup.pl script. (Many thanks to
+>
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.
@@ -4992,14 +4993,14 @@ BORDER="0"
> |
bash#
./checksetup.pl
@@ -5011,35 +5012,35 @@ CLASS="COMMAND"
> The first time you run it, it will create a
file called localconfig.
This file contains a variety of settings you may need to tweak including
+>
This file contains a variety of settings you may need to tweak including
how Bugzilla should connect to the MySQL database.
The connection settings include:
+>
The connection settings include:
server's host: just use
server's host: just use "localhost" if the
@@ -5048,7 +5049,7 @@ CLASS="QUOTE"
> database name:
database name: "bugs" if you're following
@@ -5057,7 +5058,7 @@ CLASS="QUOTE"
> MySQL username:
MySQL username: "bugs" if you're following
@@ -5066,7 +5067,7 @@ CLASS="QUOTE"
> Password for the
Password for the "bugs" MySQL account above
@@ -5076,24 +5077,24 @@ CLASS="QUOTE"
>
You should also install .htaccess files that the Apache
+>
You should also install .htaccess files that the Apache
webserver will use to restrict access to Bugzilla data files.
See .htaccess files and security.
Once you are happy with the settings, re-run
+>
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.
When logged into an administrator account once Bugzilla is
+>
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 Should everything work, you will have a nearly empty Bugzilla
+>
Should everything work, you will have a nearly empty Bugzilla
database and a newly-created localconfig
file in your Bugzilla root directory.
The second time you run checksetup.pl, you should become
+>
The second time you run checksetup.pl, you should become
the user your web server runs as, and that you ensure that
you set the parameter in
localconfig as well.
Example 3-2. Running checksetup.pl as the web user Assuming your web server runs as user "apache", and
+>
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
bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache
@@ -5193,11 +5194,11 @@ bash# ./checksetup.pl
>
The checksetup.pl script is designed so that you can run
+>
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.
If you want to add someone else to every group by hand, you
+>
If you want to add someone else to every group by hand, you
can do it by typing the appropriate MySQL commands. Run
mysql -u root -p bugs You
may need different parameters, depending on your security
@@ -5246,13 +5247,13 @@ BORDER="0"
>
mysql> update
profiles set groupset=0x7fffffffffffffff where
login_name = 'XXX';
By now you have a fully functional bugzilla, but what good
+>
By now you have 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
@@ -5294,10 +5295,10 @@ BORDER="0"
>
cd
<your-bugzilla-directory> ;
./whineatnews.pl
Depending on your system, crontab may have several manpages.
+>
Depending on your system, crontab may have several manpages.
The following command should lead you to the most useful
page for this purpose:
man 5 crontab
+CLASS="programlisting"
+>
man 5 crontab
As long as you installed the GD and Graph::Base Perl modules
+>
As long as you installed the GD and Graph::Base Perl modules
you might as well turn on the nifty bugzilla bug reporting
graphs.
Add a cron entry like this to run collectstats daily at 5
+>
Add a cron entry like this to run collectstats daily at 5
after midnight:
bash# crontab
-e |
5 0 * * * cd
<your-bugzilla-directory> ; ./collectstats.pl
After two days have passed you'll be able to view bug graphs
+>
After two days have passed you'll be able to view bug graphs
from the Bug Reports page.
If you followed the installation instructions for setting up
+>
If you followed the installation instructions 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.
Most MySQL installs have "interesting" default security parameters:
+>
Most MySQL installs have "interesting" default security parameters:
This means anyone from anywhere on the internet can not only
+>
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.
To see your permissions do:
+>
To see your permissions do:
bash#
mysql -u root -p
|
mysql>
use mysql;
|
mysql>
show tables;
|
mysql>
select * from user;
|
mysql>
select * from db;
To fix the gaping holes:
+>
To fix the gaping holes:
If you're not running "mit-pthreads" you can use:
+>
If you're not running "mit-pthreads" you can use:
With "mit-pthreads" you'll need to modify the "globals.pl" Mysql->Connect
+>
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:
Use .htaccess files with the Apache webserver to secure your
+>
Use .htaccess files with the Apache webserver to secure your
bugzilla install. See .htaccess files and security
Consider also:
+>
Consider also:
Turning off external networking with "--skip-networking",
+>
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.
using the --user= option to mysqld to run it as an unprivileged
+>
using the --user= option to mysqld to run it as an unprivileged
user.
starting MySQL in a chroot jail
+>
starting MySQL in a chroot jail
running the httpd in a "chrooted" jail
+>
running the httpd in a "chrooted" jail
making sure the MySQL passwords are different from the OS
+>
making sure the MySQL passwords are different from the OS
passwords (MySQL "root" has nothing to do with system "root").
running MySQL on a separate untrusted machine
+>
running MySQL on a separate untrusted machine
making backups ;-)
+>
making backups ;-)
There are a lot of common libraries and utilities out there
+>
There are a lot of common libraries and utilities out there
that Apple did not include with Mac OS X, but which run
perfectly well on it. The GD library, which Bugzilla needs to
do bug graphs, is one of these.
The easiest way to get a lot of these is with a program called
+>
The easiest way to get a lot of these is with a program called
Fink, which is similar in nature to the CPAN installer, but
installs common GNU utilities. Fink is available from
<http://sourceforge.net/projects/fink/>.
Follow the instructions for setting up Fink. Once it's
+>
Follow the instructions for setting up Fink. Once it's
installed, you'll want to run the following as root:
fink install gd
It will prompt you for a number of dependencies, type 'y' and
+>
It will prompt you for a number of dependencies, type 'y' and
hit enter to install all of the dependencies. Then watch it
work.
To prevent creating conflicts with the software that Apple
+>
To prevent creating conflicts with the software that Apple
installs by default, Fink creates its own directory tree at
/sw where it installs most of the software that it installs.
This means your libraries and headers for libgd will be at
@@ -5748,15 +5749,15 @@ CLASS="COMMAND"
:-)
Instead of typing
Instead of typing "install GD" at the
cpan> prompt, type look
GD. This should go through the motions of
@@ -5764,13 +5765,13 @@ CLASS="COMMAND"
open a shell and drop you into the build directory. Apply the
following patch to the Makefile.PL file (save the patch into a
file and use the command patch <
patchfile:
+CLASS="programlisting"
+>
+
--- GD-1.33/Makefile.PL Fri Aug 4 16:59:22 2000
+++ GD-1.33-darwin/Makefile.PL Tue Jun 26 01:29:32 2001
@@ -3,8 +3,8 @@
@@ -5813,7 +5815,7 @@ CLASS="PROGRAMLISTING"
>
Then, run these commands to finish the installation of the perl module:
+>
Then, run these commands to finish the installation of the perl module:
perl Makefile.PL | make | make test | make install | And don't forget to run exit to get back to cpan. |
Happy Hacking!
+>
Happy Hacking!
For instructions on how to set up Bugzilla on FreeBSD, NetBSD, OpenBSD, BSDi, etc. please
+>
For instructions on how to set up Bugzilla on FreeBSD, NetBSD, OpenBSD, BSDi, etc. please
consult Section 3.3.
Bugzilla optimizes database lookups by storing all relatively static
+>
Bugzilla optimizes database lookups by storing all relatively static
information in the versioncache file, located in the data/ subdirectory
under your installation directory.
If you make a change to the structural data in your database
+>
If you make a change to the structural data in your database
(the versions table for example), or to the
That file gets automatically regenerated whenever it's more than an
+>
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.
The developers of Bugzilla are constantly adding new tables, columns and
+>
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.
If you are running Bugzilla version 2.8 or lower, and wish to upgrade to
+>
If you are running Bugzilla version 2.8 or lower, and wish to upgrade to
the latest version, please consult the file, "UPGRADING-pre-2.8" in the
Bugzilla root directory after untarring the archive.
To enhance the security of your Bugzilla installation,
+>
To enhance the security of your Bugzilla installation,
Bugzilla will generate
.htaccess files
which the Apache webserver can use to restrict access to
the bugzilla data files. The checksetup script will
generate the .htaccess files.
If you are using an alternate provider of
+>
If you are using an alternate provider of
webdot services for graphing
(as described when viewing
editparams.cgi in your web
browser), you will need to change the ip address in
data/webdot/.htaccess to the ip
address of the webdot server that you are using.
@@ -6016,22 +6018,81 @@ CLASS="FILENAME"
If you are using Internet Information Server or other web
+>
The default .htaccess file may not provide adequate access
+ restrictions, depending on your web server configuration.
+ Be sure to check the <Directory> entries for your
+ Bugzilla directory so that the .htaccess
+ file is allowed to override web server defaults. For instance,
+ let's assume your installation of Bugzilla is installed to
+ /usr/local/bugzilla. You should have
+ this <Directory> entry in your httpd.conf
+ file:
+
+<Directory /usr/local/bugzilla/>
+ Options +FollowSymLinks +Indexes +Includes +ExecCGI
+ AllowOverride All
+</Directory>
+
+ |
+
The important part above is "AllowOverride All".
+ Without that, the .htaccess file created by
+ checksetup.pl will not have sufficient
+ permissions to protect your Bugzilla installation.
+
If you are using Internet Information Server or other web
server which does not observe .htaccess
conventions, you can disable their creation by editing
localconfig and setting the
$create_htaccess variable to
0
It is possible for a user, by mistake or on purpose, to access
+>
It is possible for a user, by mistake or on purpose, to access
the database many times in a row which can result in very slow
access 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
@@ -6066,7 +6127,7 @@ TARGET="_top"
>. 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 for more information.
bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
+CLASS="programlisting"
+>
bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html\; charset=ISO-8859-1/' >$i.tmp; \
mv $i.tmp $i; done
All this one-liner command does is search for all instances of
+>
All this one-liner command does is search for all instances of
"Content-type: text/html"
This document was originally adapted from the Bonsai
+>
This document was originally adapted from the Bonsai
installation instructions by Terry Weissman
<terry@mozilla.org>.
The February 25, 1999 re-write of this page was done by Ry4an
+>
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 ).
This document was heavily modified again Wednesday, March 07
+>
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.
Finally, the README in its entirety was marked up in SGML and
+>
Finally, the README in its entirety was marked up in SGML and
included into the Guide on April 24, 2001 by Matt Barnson.
Since that time, it's undergone extensive modification as
Bugzilla grew.
Comments from people using this Guide for the first time are
+>
Comments from people using this Guide for the first time are
particularly welcome.
You should be familiar with, and cross-reference, the rest
+>
You should be familiar with, and cross-reference, the rest
of the
Bugzilla Installation section while performing your
Win32 installation.
@@ -6252,7 +6313,7 @@ HREF="#INSTALLATION"
utilities. What follows is the recommended installation
procedure for Win32; additional suggestions are provided in
Appendix A.
|
Install
Install Apache Web
@@ -6274,7 +6335,7 @@ TARGET="_top"
> for Windows, and copy the Bugzilla files
somewhere Apache can serve them. Please follow all the
instructions referenced in Bugzilla Installation
regarding your Apache configuration, particularly
@@ -6288,11 +6349,11 @@ CLASS="QUOTE"
>.
You may also use Internet Information Server or Personal
+>
You may also use Internet Information Server or Personal
Web Server for this purpose. However, setup is quite
different. If ActivePerl doesn't seem to handle your
file associations correctly (for .cgi and .pl files),
please consult Appendix A.
If you are going to use IIS, if on Windows NT you must
+>
If you are going to use IIS, if on Windows NT you must
be updated to at least Service Pack 4. Windows 2000
ships with a sufficient version of IIS.
Install
Install ActivePerl for a current compiled binary.
Please also check the following links to fully understand the status
+>
Please also check the following links to fully understand the status
of ActivePerl on Win32:
Perl Porting
Perl Porting, and
Perl on Win32 FAQ
Perl on Win32 FAQ
Use ppm from your perl\bin directory to install the following packs: DBI,
+>
Use ppm from your perl\bin directory to install the following packs: DBI,
DBD-Mysql, TimeDate, Chart, Date-Calc, Date-Manip, and GD. You may need
to extract them from .zip format using Winzip or other unzip program first.
These additional ppm modules can be downloaded from ActiveState.
The syntax for ppm is:
+>
The syntax for ppm is:
C:> ppm <modulename>
C:>ppm
DBD-Mysql Watch your capitalization! You can find ActiveState ppm modules at
+>
You can find ActiveState ppm modules at
http://www.activestate.com/PPMPackages/5.6plus
http://www.activestate.com/PPMPackages/5.6plus
Install MySQL for NT.
+>
Install MySQL for NT.
You can download MySQL for Windows NT from
You can download MySQL for Windows NT from MySQL.com Setup MySQL
+>
Setup MySQL
C:>
C:\mysql\bin\mysql -u root mysql
mysql>
DELETE FROM user WHERE Host='localhost' AND User='';
mysql>
UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root';
@@ -6545,17 +6606,17 @@ CLASS="QUOTE"
>
mysql>
GRANT SELECT, INSERT, UPDATE, DELETE,
INDEX, ALTER, CREATE, DROP, REFERENCES
ON bugs.* to bugs@localhost
@@ -6577,14 +6638,14 @@ CLASS="QUOTE"
>
mysql>
FLUSH PRIVILEGES;
mysql>
create database bugs;
mysql>
exit;
C:>
C:\mysql\bin\mysqladmin -u root -p reload
Edit
Edit checksetup.pl in your Bugzilla directory. Change
this line:
my $webservergid = getgrnam($my_webservergroup);
+CLASS="programlisting"
+>
my $webservergid = getgrnam($my_webservergroup);
to
+>
to
my $webservergid = $my_webservergroup;
+CLASS="programlisting"
+>
my $webservergid = $my_webservergroup;
my $webservergid = 'Administrators'
+CLASS="programlisting"
+>
my $webservergid = 'Administrators'
Run
Run checksetup.pl from the Bugzilla directory.
Edit localconfig to suit your
requirements. Set $db_pass to your
"bugs_password" from step 5.d, and $webservergroup to "8". "8" for
$webservergroup above. If it's
wrong, please send corrections. Edit
Edit defparams.pl to suit your
requirements. Particularly, set
DefParam("maintainer") and
DefParam("urlbase") to match your
install.
There are several alternatives to Sendmail that will work on Win32.
+>
There are several alternatives to Sendmail that will work on Win32.
The one mentioned here is a suggestion, not
@@ -6873,12 +6934,12 @@ TARGET="_top"
> |
Download NTsendmail, available from
Download NTsendmail, available from www.ntsendmail.com# these settings configure the NTsendmail process
+CLASS="programlisting"
+>
# these settings configure the NTsendmail process
use NTsendmail;
$ENV{"NTsendmail"}="your.smtpserver.box";
$ENV{"NTsendmail_debug"}=1;
@@ -6913,11 +6974,11 @@ $ENV{"NTsendmail_max_tries"}=5;
>
|
Some mention to also edit
+>
Some mention to also edit
$db_pass in
globals.pl to be your
.htaccess, your
database password is exposed to whoever uses your
@@ -6962,11 +7023,11 @@ CLASS="FILENAME"
> Find and comment out all occurences of
+>
Find and comment out all occurences of
"open(SENDMAIL" in
@@ -6980,8 +7041,8 @@ WIDTH="100%"
># new sendmail functionality
+CLASS="programlisting"
+>
# new sendmail functionality
my $mail=new NTsendmail;
my $from="bugzilla\@your.machine.name.tld";
my $to=$login;
@@ -6995,11 +7056,11 @@ $mail->send($from,$to,$subject,$msg);
>
Some have found success using the commercial product,
+>
Some have found success using the commercial product,
Windmail.
You could try replacing your sendmail calls with:
@@ -7030,8 +7091,8 @@ WIDTH="100%"
>open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
+CLASS="programlisting"
+>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
Change all references in all files from
+>
Change all references in all files from
processmail to
processmail.pl, and
rename processmail to
processmail.pl.
Many think this may be a change we want to make for
+>
Many think this may be a change we want to make for
main-tree Bugzilla. It's painless for the UNIX folks,
and will make the Win32 people happier.
|
Some people have suggested using the Net::SMTP Perl module instead of NTsendmail or the other options listed here. You can change processmail.pl to make this work.
+>
Some people have suggested using the Net::SMTP Perl module instead of NTsendmail or the other options listed here. You can change processmail.pl to make this work.
my $smtp = Net::SMTP->new('<Name of your SMTP server>'); #connect to SMTP server
+CLASS="programlisting"
+>
+
+my $smtp = Net::SMTP->new('<Name of your SMTP server>'); #connect to SMTP server
$smtp->mail('<your name>@<you smpt server>');# use the sender's adress here
$smtp->to($tolist); # recipient's address
$smtp->data(); # Start the mail
@@ -7137,7 +7200,10 @@ $smtp->datasend($msg);
$smtp->dataend(); # Finish sending the mail
$smtp->quit; # Close the SMTP connection
$logstr = "$logstr; mail sent to $tolist $cclist";
-}
use Net::SMTP;
+CLASS="programlisting"
+>
+
+use Net::SMTP;
my $smtp = Net::SMTP->new('<Name of your SMTP server', Timeout => 30, Debug
=> 1, ); # connect to SMTP server
$smtp->auth;
@@ -7166,7 +7234,10 @@ recipient's address
$smtp->datasend('test');
$smtp->dataend(); # Finish sending the mail
$smtp->quit; # Close the SMTP connection
-exit;
This step is optional if you are using IIS or another
+>
This step is optional if you are using IIS or another
web server which only decides on an interpreter based
upon the file extension (.pl), rather than the
|
Modify the path to perl on the first line (#!) of all
+>
Modify the path to perl on the first line (#!) of all
files to point to your Perl installation, and add
utility to speed part of this procedure, available in the
Useful Patches and Utilities for Bugzilla section of The Bugzilla Guide.
However, it requires the Cygwin GNU-compatible environment
@@ -7239,8 +7310,9 @@ TARGET="_top"
> Modify the invocation of all system() calls in all perl
- scripts in your Bugzilla directory. For instance, change
+>
Modify the invocation of all system() calls in all perl
+ scripts in your Bugzilla directory. You should specify the
+ full path to perl for each system() call. For instance, change
this line in processmail:
-system ("./processmail.pl",@ARGLIST);
- to
-
-system ("perl processmail.pl",@ARGLIST);
+system ("./processmail",@ARGLIST);
+ </programlisting> to
+ <programlisting>
+system ("C:\\perl\\bin\\perl", "processmail", @ARGLIST);
| Add
Add binmode() calls so attachments
will work ().
Because Microsoft Windows based systems handle binary
+>
Because Microsoft Windows based systems handle binary
files different than Unix based systems, you need to add
the following lines to
createattachment.cgi and
showattachment.cgi before the
require 'CGI.pl'; line. line.
+
binmode(STDIN);
-binmode(STDOUT);
+binmode(STDIN);
+binmode(STDOUT);
+
+
According to
According to bug 62000, the perl documentation says that you should always use binmode() when dealing with binary files, but never when dealing with text files. That seems to suggest that rather than aribtrarily putting binmode() at the begining of the attachment files, there should be logic to determine if binmode() is needed or not.
If you are using IIS or Personal Web Server, you must add cgi
+>
If you are using IIS or Personal Web Server, you must add cgi
relationships to Properties -> Home directory (tab) ->
Application Settings (section) -> Configuration (button),
such as:
.cgi to: <perl install directory>\perl.exe %s %s
.pl to: <perl install directory>\perl.exe %s %s
@@ -7426,19 +7487,19 @@ GET,HEAD,POST
>
From Andrew Pearson:
+>
From Andrew Pearson:
You can make Bugzilla work with Personal Web Server for
+>
You can make Bugzilla work with Personal Web Server for
Windows 98 and higher, as well as for IIS 4.0.
Microsoft has information available at
Basically you need to add two String Keys in the
+>
Basically you need to add two String Keys in the
registry at the following location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
+CLASS="programlisting"
+>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
The keys should be called ".pl" and ".cgi", and both
+>
The keys should be called ".pl" and ".cgi", and both
should have a value something like:
c:/perl/bin/perl.exe "%s" "%s"
The KB article only talks about .pl, but it goes into
+>
The KB article only talks about .pl, but it goes into
more detail and provides a perl test script.
If attempting to run Bugzilla 2.12 or older, you will need
+>
If attempting to run Bugzilla 2.12 or older, you will need
to remove encrypt() calls from the Perl source. This is
not necessary
Replace this:
+>
Replace this:
SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SQLQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn();
@@ -7580,7 +7641,7 @@ WIDTH="100%"
>
my $enteredcryptpwd = $enteredpwd
What follows is some late-breaking information on using the
+>
What follows is some late-breaking information on using the
LDAP authentication options with Bugzilla. The author has not
tested these (nor even formatted this section!) so please
contribute feedback to the newsgroup.
Mozilla::LDAP module
+CLASS="literallayout"
+>
+Mozilla::LDAP module
The Mozilla::LDAP module allows you to use LDAP for authentication to
the Bugzilla system. This module is not required if you are not using
@@ -7683,22 +7745,22 @@ address, query on users by email address, etc
> Or, I just got this cool thing installed. Now what the heck do I
+>
Or, I just got this cool thing installed. Now what the heck do I
do with it?
So you followed
So you followed "Bugzilla Installation" to the
@@ -7711,28 +7773,28 @@ HREF="#INSTALLATION"
getting data into your bug tracker.
After installation, follow the checklist below to help ensure
+>
After installation, follow the checklist below to help ensure
that you have a successful installation. If you do not see a
recommended setting for a parameter, consider leaving it at the
default while you perform your initial tests on your Bugzilla
setup.
Bring up
Bring up editparams.cgi in your web
browser. This should be available as the Set
Set "maintainer" to For example, if your bugzilla query page is
+>
For example, if your bugzilla query page is
http://www.foo.com/bugzilla/query.cgi, set your
Set "usebuggroups" to "on"
Set "usebuggroups" to "on"
|
|
|
|
|
|
| |
|
|
|