1301
You should be familiar with, and cross-reference, the rest of the
1302
Bugzilla Installation section while performing your Win32
1326
You should be familiar with, and cross-reference, the rest of the
1327
Bugzilla Installation section while performing your Win32
1305
Making Bugzilla work on Microsoft Windows is no picnic. Support for
1306
Win32 has improved dramatically in the last few releases, but, if you
1307
choose to proceed, you should be a very skilled Windows Systems
1308
Administrator with strong troubleshooting abilities, a high tolerance
1309
for pain, and moderate perl skills. Bugzilla on NT requires hacking
1310
source code and implementing some advanced utilities. What follows is
1311
the recommended installation procedure for Win32; additional
1312
suggestions are provided in Appendix A .
1330
Making Bugzilla work on Microsoft Windows is no picnic. Support for
1331
Win32 has improved dramatically in the last few releases, but, if you
1332
choose to proceed, you should be a very skilled Windows Systems
1333
Administrator with strong troubleshooting abilities, a high tolerance
1334
for pain, and moderate perl skills. Bugzilla on NT requires hacking
1335
source code and implementing some advanced utilities. What follows is
1336
the recommended installation procedure for Win32; additional
1337
suggestions are provided in Appendix A .
1313
1338
1. Install Apache Web Server for Windows, and copy the Bugzilla files
1314
1339
somewhere Apache can serve them. Please follow all the
1315
1340
instructions referenced in Bugzilla Installation regarding your
1316
1341
Apache configuration, particularly instructions regarding the
1317
1342
"AddHandler" parameter and "ExecCGI" .
1321
You may also use Internet Information Server or Personal Web Server
1322
for this purpose. However, setup is quite different. If ActivePerl
1323
doesn't seem to handle your file associations correctly (for .cgi and
1324
.pl files), please consult Appendix A .
1325
If you are going to use IIS, if on Windows NT you must be updated to
1326
at least Service Pack 4. Windows 2000 ships with a sufficient version
1346
You may also use Internet Information Server or Personal Web Server
1347
for this purpose. However, setup is quite different. If ActivePerl
1348
doesn't seem to handle your file associations correctly (for .cgi and
1349
.pl files), please consult Appendix A .
1350
If you are going to use IIS, if on Windows NT you must be updated to
1351
at least Service Pack 4. Windows 2000 ships with a sufficient version
1328
1353
2. Install ActivePerl for Windows. Check
1329
1354
http://aspn.activestate.com/ASPN/Downloads/ActivePerl for a
1330
1355
current compiled binary.
1387
1418
h. C:> C:\mysql\bin\mysqladmin -u root -p reload
1388
1419
6. Edit checksetup.pl in your Bugzilla directory. Change this line:
1391
getgrnam($my_webservergroup);
1422
getgrnam($my_webservergroup);
1398
1429
or the name of the group you wish to own the files explicitly:
1403
1434
7. Run checksetup.pl from the Bugzilla directory.
1404
1435
8. Edit localconfig to suit your requirements. Set $db_pass to your
1405
1436
"bugs_password" from step 5.d , and $webservergroup to "8" .
1409
Not sure on the "8" for $webservergroup above. If it's wrong, please
1440
Not sure on the "8" for $webservergroup above. If it's wrong, please
1411
1442
9. Edit defparams.pl to suit your requirements. Particularly, set
1412
1443
DefParam("maintainer") and DefParam("urlbase") to match your
1417
This is yet another step I'm not sure of, since the maintainer of this
1418
documentation does not maintain Bugzilla on NT. If you can confirm or
1419
deny that this step is required, please let me know.
1448
This is yet another step I'm not sure of, since the maintainer of this
1449
documentation does not maintain Bugzilla on NT. If you can confirm or
1450
deny that this step is required, please let me know.
1424
There are several alternatives to Sendmail that will work on Win32.
1425
The one mentioned here is a suggestion , not a requirement. Some other
1426
mail packages that can work include BLAT , Windmail , Mercury Sendmail
1427
, and the CPAN Net::SMTP Perl module (available in .ppm). Every option
1428
requires some hacking of the Perl scripts for Bugzilla to make it
1429
work. The option here simply requires the least.
1455
There are several alternatives to Sendmail that will work on Win32.
1456
The one mentioned here is a suggestion , not a requirement. Some other
1457
mail packages that can work include BLAT , Windmail , Mercury Sendmail
1458
, and the CPAN Net::SMTP Perl module (available in .ppm). Every option
1459
requires some hacking of the Perl scripts for Bugzilla to make it
1460
work. The option here simply requires the least.
1430
1461
1. Download NTsendmail, available from www.ntsendmail.com . You
1431
1462
must have a "real" mail server which allows you to relay off
1432
1463
it in your $ENV{"NTsendmail"} (which you should probably
1434
1465
2. Put ntsendmail.pm into your .\perl\lib directory.
1435
1466
3. Add to globals.pl:
1437
# these settings configure the NTsendmail
1438
process use NTsendmail;
1439
$ENV{"NTsendmail"}="your.smtpserver.box";
1440
$ENV{"NTsendmail_debug"}=1;
1441
$ENV{"NTsendmail_max_tries"}=5;
1445
Some mention to also edit $db_pass in globals.pl to be your
1446
"bugs_password" . Although this may get you around some problem
1447
authenticating to your database, since globals.pl is not normally
1448
restricted by .htaccess , your database password is exposed to whoever
1449
uses your web server.
1468
# these settings configure the NTsendmail
1469
process use NTsendmail;
1470
$ENV{"NTsendmail"}="your.smtpserver.box";
1471
$ENV{"NTsendmail_debug"}=1;
1472
$ENV{"NTsendmail_max_tries"}=5;
1476
Some mention to also edit $db_pass in globals.pl to be your
1477
"bugs_password" . Although this may get you around some problem
1478
authenticating to your database, since globals.pl is not normally
1479
restricted by .htaccess , your database password is exposed to whoever
1480
uses your web server.
1450
1481
4. Find and comment out all occurences of " open(SENDMAIL " in
1451
1482
your Bugzilla directory. Then replace them with:
1453
# new sendmail functionality my $mail=new
1454
NTsendmail; my $from="bugzilla\@your.machine.name.tld"; my
1455
$to=$login; my $subject=$urlbase;
1456
$mail->send($from,$to,$subject,$msg);
1460
Some have found success using the commercial product, Windmail . You
1461
could try replacing your sendmail calls with:
1464
"|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t >
1467
or something to that effect.
1484
# new sendmail functionality my $mail=new
1485
NTsendmail; my $from="bugzilla\@your.machine.name.tld"; my
1486
$to=$login; my $subject=$urlbase;
1487
$mail->send($from,$to,$subject,$msg);
1491
Some have found success using the commercial product, Windmail . You
1492
could try replacing your sendmail calls with:
1494
"|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t >
1497
or something to that effect.
1468
1498
11. Change all references in all files from processmail to
1469
1499
processmail.pl , and rename processmail to processmail.pl .
1473
Many think this may be a change we want to make for main-tree
1474
Bugzilla. It's painless for the UNIX folks, and will make the Win32
1503
Many think this may be a change we want to make for main-tree
1504
Bugzilla. It's painless for the UNIX folks, and will make the Win32
1664
1690
And don't forget to run exit to get back to CPAN.
1665
1691
_________________________________________________________________
1667
4.5. Troubleshooting
1693
4.5. UNIX (non-root) Installation Notes
1697
If you are running a *NIX OS as non-root, either due to lack of access
1698
(web hosts, for example) or for security reasons, this will detail how
1699
to install Bugzilla on such a setup. It is recommended that you read
1700
through the Bugzilla Installation first to get an idea on the
1701
installation steps required. (These notes will reference to steps in
1703
_________________________________________________________________
1707
You may have MySQL installed as root. If you're setting up an account
1708
with a web host, a MySQL account needs to be set up for you. From
1709
there, you can create the bugs account, or use the account given to
1714
You may have problems trying to set up GRANT permissions to the
1715
database. If you're using a web host, chances are that you have a
1716
separate database which is already locked down (or one big database
1717
with limited/no access to the other areas), but you may want to ask
1718
your system adminstrator what the security settings are set to, and/or
1719
run the GRANT command for you.
1721
Also, you will probably not be able to change the MySQL root user
1722
password (for obvious reasons), so skip that step.
1723
_________________________________________________________________
1725
4.5.2.1. Running MySQL as Non-Root
1727
4.5.2.1.1. The Custom Configuration Method
1729
Create a file .my.cnf in your home directory (using /home/foo in this
1730
example) as follows....
1732
datadir=/home/foo/mymysql
1733
socket=/home/foo/mymysql/thesock
1737
socket=/home/foo/mymysql/thesock
1745
err-log=/home/foo/mymysql/the.log
1746
pid-file=/home/foo/mymysql/the.pid
1747
_________________________________________________________________
1749
4.5.2.1.2. The Custom Built Method
1751
You can install MySQL as a not-root, if you really need to. Build it
1752
with PREFIX set to /home/foo/mysql, or use pre-installed executables,
1753
specifying that you want to put all of the data files in
1754
/home/foo/mysql/data. If there is another MySQL server running on the
1755
system that you do not own, use the -P option to specify a TCP port
1757
_________________________________________________________________
1759
4.5.2.1.3. Starting the Server
1761
After your mysqld program is built and any .my.cnf file is in place,
1762
you must initialize the databases (ONCE).
1766
Then start the daemon with
1770
After you start mysqld the first time, you then connect to it as
1771
"root" and GRANT permissions to other users. (Again, the MySQL root
1772
account has nothing to do with the *NIX root account.)
1776
You will need to start the daemons yourself. You can either ask your
1777
system administrator to add them to system startup files, or add a
1778
crontab entry that runs a script to check on these daemons and restart
1783
Do NOT run daemons or other services on a server without first
1784
consulting your system administrator! Daemons use up system resources
1785
and running one may be in violation of your terms of service for any
1786
machine on which you are a user!
1787
_________________________________________________________________
1791
On the extremely rare chance that you don't have Perl on the machine,
1792
you will have to build the sources yourself. The following commands
1793
should get your system installed with your own personal version of
1796
wget http://perl.com/CPAN/src/stable.tar.gz
1798
tar zvxf stable.tar.gz
1800
cd perl-5.8.1 (or whatever the version of Perl is called)
1802
sh Configure -de -Dprefix=/home/foo/perl
1804
make && make test && make install
1806
Once you have Perl installed into a directory (probably in
1807
~/perl/bin), you'll have to change the locations on the scripts, which
1808
is detailed later on this page.
1809
_________________________________________________________________
1813
Installing the Perl modules as a non-root user is probably the hardest
1814
part of the process. There are two different methods: a completely
1815
independant Perl with its own modules, or personal modules using the
1816
current (root installed) version of Perl. The independant method takes
1817
up quite a bit of disk space, but is less complex, while the mixed
1818
method only uses as much space as the modules themselves, but takes
1820
_________________________________________________________________
1822
4.5.4.1. The Independant Method
1824
The independant method requires that you install your own personal
1825
version of Perl, as detailed in the previous section. Once installed,
1826
you can start the CPAN shell with the following command:
1829
/home/foo/perl/bin/perl -MCPAN -e 'shell'
1834
install Bundle::Bugzilla
1836
With this method, module installation will usually go a lot smoother,
1837
but if you have any hang-ups, you can consult the next section.
1838
_________________________________________________________________
1840
4.5.4.2. The Mixed Method
1842
First, you'll need to configure CPAN to install modules in your home
1843
directory. The CPAN FAQ says the following on this issue:
1845
5) I am not root, how can I install a module in a personal directory?
1847
You will most probably like something like this:
1849
o conf makepl_arg "LIB=~/myperl/lib \
1850
INSTALLMAN1DIR=~/myperl/man/man1 \
1851
INSTALLMAN3DIR=~/myperl/man/man3"
1852
install Sybase::Sybperl
1854
You can make this setting permanent like all "o conf" settings with "o conf
1857
You will have to add ~/myperl/man to the MANPATH environment variable and a
1858
lso tell your Perl programs to
1859
look into ~/myperl/lib, e.g. by including
1861
use lib "$ENV{HOME}/myperl/lib";
1863
or setting the PERL5LIB environment variable.
1865
Another thing you should bear in mind is that the UNINST parameter should n
1866
ever be set if you are not root.
1868
So, you will need to create a Perl directory in your home directory,
1869
as well as the lib, man, man/man1, and man/man3 directories in that
1870
Perl directory. Set the MANPATH variable and PERL5LIB variable, so
1871
that the installation of the modules goes smoother. (Setting UNINST=0
1872
in your "make install" options, on the CPAN first-time configuration,
1873
is also a good idea.)
1875
After that, go into the CPAN shell:
1878
perl -MCPAN -e 'shell'
1880
From there, you will need to type in the above "o conf" command and
1881
commit the changes. Then you can run through the installation:
1884
install Bundle::Bugzilla
1886
Most of the module installation process should go smoothly. However,
1887
you may have some problems with Template. When you first start, you
1888
will want to try to install Template with the XS Stash options on. If
1889
this doesn't work, it may spit out C compiler error messages and croak
1890
back to the CPAN shell prompt. So, redo the install, and turn it off.
1891
(In fact, say no to all of the Template questions.) It may also start
1892
failing on a few of the tests. If the total tests passed is a
1893
reasonable figure (90+%), force the install with the following
1897
force install Template
1899
You may also want to install the other optional modules:
1905
install MIME::Parser
1906
_________________________________________________________________
1910
Ideally, this also needs to be installed as root and run under a
1911
special webserver account. As long as the web server will allow the
1912
running of *.cgi files outside of a cgi-bin, and a way of denying web
1913
access to certain files (such as a .htaccess file), you should be good
1915
_________________________________________________________________
1917
4.5.5.1. Running Apache as Non-Root
1919
You can run Apache as a non-root user, but the port will need to be
1920
set to one above 1024. If you type httpd -V, you will get a list of
1921
the variables that your system copy of httpd uses. One of those,
1922
namely HTTPD_ROOT, tells you where that installation looks for its
1925
From there, you can copy the config files to your own home directory
1926
to start editing. When you edit those and then use the -d option to
1927
override the HTTPD_ROOT compiled into the web server, you get control
1928
of your own customized web server.
1932
You will need to start the daemons yourself. You can either ask your
1933
system administrator to add them to system startup files, or add a
1934
crontab entry that runs a script to check on these daemons and restart
1939
Do NOT run daemons or other services on a server without first
1940
consulting your system administrator! Daemons use up system resources
1941
and running one may be in violation of your terms of service for any
1942
machine on which you are a user!
1943
_________________________________________________________________
1947
Since you probably can't set up a symbolic link to
1948
/usr/bonsaitools/bin/perl as a non-root user, you will need to hack
1949
the scripts to point to the right Perl:
1952
's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm
1953
processmail syncshadowdb
1955
Change /usr/bin/perl to match the location of Perl on your machine. If
1956
you had to install Perl as non-root, this would be the location in
1957
your home directory.
1961
Version 2.17+ of Bugzilla now already has the scripts pointing to
1964
Of course, the scripts will not work if they don't know the location
1965
of your newly install Perl modules, so you will have to hack the
1966
scripts to look for those, too:
1969
's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@'
1970
*cgi *pl Bug.pm processmail syncshadowdb
1972
Change /home/foo/perl/lib to your personal Perl library directory. You
1973
can probably skip this step if you are using the independant method of
1974
Perl module installation.
1976
When you run ./checksetup.pl to create the localconfig file, it will
1977
list the Perl modules it finds. If one is missing, go back and
1978
double-check the module installation from the CPAN shell, then delete
1979
the localconfig file and try again.
1983
The one option in localconfig you might have problems with is the web
1984
server group. If you can't successfully browse to the index.cgi (like
1985
a Forbidden error), you may have to relax your permissions, and blank
1986
out the web server group. Of course, this may pose as a security risk.
1987
Having a properly jailed shell and/or limited access to shell accounts
1988
may lessen the security risk, but use at your own risk.
1989
_________________________________________________________________
1991
4.6. Troubleshooting
1669
1993
This section gives solutions to common Bugzilla installation problems.
1670
1994
_________________________________________________________________
1672
4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
1996
4.6.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
1674
1998
Try executing perl -MCPAN -e 'install CPAN' and then continuing.
1723
2047
_________________________________________________________________
1725
4.5.4. Your vendor has not defined Fcntl macro O_NOINHERIT
2049
4.6.4. Your vendor has not defined Fcntl macro O_NOINHERIT
1727
2051
This is caused by a bug in the version of File::Temp that is
1728
2052
distributed with perl 5.6.0. Many minor variations of this error have
1729
2053
been reported. Examples can be found in Figure 4-1.
1731
2055
Figure 4-1. Other File::Temp error messages
1732
Your vendor has not defined Fcntl macro O_NOINHERIT, used
1733
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
1735
Your vendor has not defined Fcntl macro O_EXLOCK, used
1736
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
1738
Your vendor has not defined Fcntl macro O_TEMPORARY, used
1739
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
2056
Your vendor has not defined Fcntl macro O_NOINHERIT, used
2057
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
2059
Your vendor has not defined Fcntl macro O_EXLOCK, used
2060
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
2062
Your vendor has not defined Fcntl macro O_TEMPORARY, used
2063
at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
1741
2065
Numerous people have reported that upgrading to version 5.6.1 or
1742
2066
higher solved the problem for them. A less involved fix is to apply
1743
2067
the patch in Figure 4-2. The patch is also available as a patch file.
1745
2069
Figure 4-2. Patch for File::Temp in Perl 5.6.0
1746
--- File/Temp.pm.orig Thu Feb 6 16:26:00 2003
1747
+++ File/Temp.pm Thu Feb 6 16:26:23 2003
1750
local $SIG{__DIE__} = sub {};
1751
local $SIG{__WARN__} = sub {};
1752
+ local *CORE::GLOBAL::die = sub {};
1758
local $SIG{__DIE__} = sub {};
1759
local $SIG{__WARN__} = sub {};
1760
+ local *CORE::GLOBAL::die = sub {};
2070
--- File/Temp.pm.orig Thu Feb 6 16:26:00 2003
2071
+++ File/Temp.pm Thu Feb 6 16:26:23 2003
2074
local $SIG{__DIE__} = sub {};
2075
local $SIG{__WARN__} = sub {};
2076
+ local *CORE::GLOBAL::die = sub {};
2082
local $SIG{__DIE__} = sub {};
2083
local $SIG{__WARN__} = sub {};
2084
+ local *CORE::GLOBAL::die = sub {};
1764
2088
_________________________________________________________________
1766
2090
Chapter 5. Administering Bugzilla
2159
2483
1. Turn on "usebuggroups" and "usebuggroupsentry" in the "Edit
2160
2484
Parameters" screen.
2164
XXX is this still true? "usebuggroupsentry" has the capacity to
2165
prevent the administrative user from directly altering bugs because of
2166
conflicting group permissions. If you plan on using
2167
"usebuggroupsentry", you should plan on restricting administrative
2168
account usage to administrative duties only. In other words, manage
2169
bugs with an unpriveleged user account, and manage users, groups,
2170
Products, etc. with the administrative account.
2488
XXX is this still true? "usebuggroupsentry" has the capacity to
2489
prevent the administrative user from directly altering bugs because of
2490
conflicting group permissions. If you plan on using
2491
"usebuggroupsentry", you should plan on restricting administrative
2492
account usage to administrative duties only. In other words, manage
2493
bugs with an unpriveleged user account, and manage users, groups,
2494
Products, etc. with the administrative account.
2171
2495
2. In future, when you create a Product, a matching group will be
2172
2496
automatically created. If you need to add a Product Group to a
2173
2497
Product which was created before you turned on usebuggroups, then
2174
2498
simply create a new group, as outlined above, with the same name
2175
2499
as the Product.
2179
Bugzilla currently has a limit of 64 groups per installation. If you
2180
have more than about 50 products, you should consider running multiple
2181
Bugzillas. Ask in the newsgroup for other suggestions for working
2182
around this restriction.
2503
Bugzilla currently has a limit of 64 groups per installation. If you
2504
have more than about 50 products, you should consider running multiple
2505
Bugzillas. Ask in the newsgroup for other suggestions for working
2506
around this restriction.
2184
2508
Note that group permissions are such that you need to be a member of
2185
2509
all the groups a bug is in, for whatever reason, to see that bug.
2576
If you can do this, updating using CVS is probably the most painless
2577
method, especially if you have a lot of local changes.
2578
bash$ cd /var/www/html/bugzilla
2580
Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
2581
CVS password: anonymous
2582
bash$ cvs -q update -r BUGZILLA-2_16_2 -dP
2586
P docs/rel_notes.txt
2587
P template/en/default/list/quips.html.tmpl
2900
If you can do this, updating using CVS is probably the most painless
2901
method, especially if you have a lot of local changes.
2902
bash$ cd /var/www/html/bugzilla
2904
Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
2905
CVS password: anonymous
2906
bash$ cvs -q update -r BUGZILLA-2_16_6 -dP
2910
P docs/rel_notes.txt
2911
P template/en/default/list/quips.html.tmpl
2591
If a line in the output from cvs update begins with a C that
2592
represents a file with local changes that CVS was unable to properly
2593
merge. You need to resolve these conflicts manually before Bugzilla
2594
(or at least the portion using that file) will be usable.
2915
If a line in the output from cvs update begins with a C that
2916
represents a file with local changes that CVS was unable to properly
2917
merge. You need to resolve these conflicts manually before Bugzilla
2918
(or at least the portion using that file) will be usable.
2598
You also need to run ./checksetup.pl before your Bugzilla upgrade will
2922
You also need to run ./checksetup.pl before your Bugzilla upgrade will
2601
2925
Example 5-2. Upgrading using the tarball
2603
2927
If you are unable or unwilling to use CVS, another option that's
2604
2928
always available is to download the latest tarball. This is the most
2605
2929
difficult option to use, especially if you have local changes.
2606
bash$ cd /var/www/html
2607
bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz
2609
bash$ tar xzvf bugzilla-2.16.2.tar.gz
2611
bugzilla-2.16.2/.cvsignore
2612
bugzilla-2.16.2/1x1.gif
2614
bash$ cd bugzilla-2.16.2
2615
bash$ cp ../bugzilla/localconfig* .
2616
bash$ cp -r ../bugzilla/data .
2618
bash$ mv bugzilla bugzilla.old
2619
bash$ mv bugzilla-2.16.2 bugzilla
2621
bash$ ./checksetup.pl
2930
bash$ cd /var/www/html
2931
bash$ wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.16.6.tar.g
2934
bash$ tar xzvf bugzilla-2.16.6.tar.gz
2936
bugzilla-2.16.6/.cvsignore
2937
bugzilla-2.16.6/1x1.gif
2939
bash$ cd bugzilla-2.16.6
2940
bash$ cp ../bugzilla/localconfig* .
2941
bash$ cp -r ../bugzilla/data .
2943
bash$ mv bugzilla bugzilla.old
2944
bash$ mv bugzilla-2.16.6 bugzilla
2946
bash$ ./checksetup.pl
2626
The cp commands both end with periods which is a very important
2627
detail, it tells the shell that the destination directory is the
2628
current working directory. Also, the period at the beginning of the
2629
./checksetup.pl is important and can not be omitted.
2951
The cp commands both end with periods which is a very important
2952
detail, it tells the shell that the destination directory is the
2953
current working directory. Also, the period at the beginning of the
2954
./checksetup.pl is important and can not be omitted.
2633
You will now have to reapply any changes you have made to your local
2634
installation manually.
2958
You will now have to reapply any changes you have made to your local
2959
installation manually.
2636
2961
Example 5-3. Upgrading using patches
2719
3059
1. General Questions
2721
3061
A.1.1. Where can I find information about Bugzilla?
2722
A.1.2. What license is Bugzilla distributed under?
2723
A.1.3. How do I get commercial support for Bugzilla?
3062
A.1.2. What license is Bugzilla distributed under?
3063
A.1.3. How do I get commercial support for Bugzilla?
2724
3064
A.1.4. What major companies or projects are currently using
2725
Bugzilla for bug-tracking?
3065
Bugzilla for bug-tracking?
2727
A.1.5. Who maintains Bugzilla?
3067
A.1.5. Who maintains Bugzilla?
2728
3068
A.1.6. How does Bugzilla stack up against other bug-tracking
2731
3071
A.1.7. Why doesn't Bugzilla offer this or that feature or
2732
compatibility with this other tracking software?
3072
compatibility with this other tracking software?
2734
3074
A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on
2735
Oracle/Sybase/Msql/PostgreSQL/MSSQL.
3075
Oracle/Sybase/Msql/PostgreSQL/MSSQL.
2737
3077
A.1.9. Why do the scripts say /usr/bonsaitools/bin/perl instead
2738
of /usr/bin/perl or something else?
3078
of /usr/bin/perl or something else?
2740
A.1.10. Is there an easy way to change the Bugzilla cookie name?
3080
A.1.10. Is there an easy way to change the Bugzilla cookie name?
2742
3082
2. Managerial Questions
2744
3084
A.2.1. Is Bugzilla web-based, or do you have to have specific
2745
software or a specific operating system on your machine?
3085
software or a specific operating system on your machine?
2747
A.2.2. Can Bugzilla integrate with Perforce (SCM software)?
2748
A.2.3. Does Bugzilla allow the user to track multiple projects?
3087
A.2.2. Can Bugzilla integrate with Perforce (SCM software)?
3088
A.2.3. Does Bugzilla allow the user to track multiple projects?
2749
3089
A.2.4. If I am on many projects, and search for all bugs assigned
2750
3090
to me, will Bugzilla list them for me and allow me to
2751
sort by project, severity etc?
3091
sort by project, severity etc?
2753
3093
A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs
2754
etc)? If yes, are there any that are NOT allowed?
3094
etc)? If yes, are there any that are NOT allowed?
2756
3096
A.2.6. Does Bugzilla allow us to define our own priorities and
2757
3097
levels? Do we have complete freedom to change the labels
2758
3098
of fields and format of them, and the choice of
2761
3101
A.2.7. Does Bugzilla provide any reporting features, metrics,
2762
3102
graphs, etc? You know, the type of stuff that management
2765
3105
A.2.8. Is there email notification and if so, what do you see
2766
when you get an email?
3106
when you get an email?
2768
3108
A.2.9. Can email notification be set up to send to multiple
2769
people, some on the To List, CC List, BCC List etc?
3109
people, some on the To List, CC List, BCC List etc?
2771
3111
A.2.10. Do users have to have any particular type of email
2774
3114
A.2.11. Does Bugzilla allow data to be imported and exported? If
2775
3115
I had outsiders write up a bug report using a MS Word bug
2776
3116
template, could that template be imported into "matching"
2777
3117
fields? If I wanted to take the results of a query and
2778
export that data to MS Excel, could I do that?
3118
export that data to MS Excel, could I do that?
2780
3120
A.2.12. Has anyone converted Bugzilla to another language to be
2781
used in other countries? Is it localizable?
3121
used in other countries? Is it localizable?
2783
3123
A.2.13. Can a user create and save reports? Can they do this in
2784
Word format? Excel format?
3124
Word format? Excel format?
2786
3126
A.2.14. Does Bugzilla have the ability to search by word, phrase,
2789
3129
A.2.15. Does Bugzilla provide record locking when there is
2790
3130
simultaneous access to the same bug? Does the second
2791
3131
person get a notice that the bug is in use or how are
2794
A.2.16. Are there any backup features provided?
3134
A.2.16. Are there any backup features provided?
2795
3135
A.2.17. Can users be on the system while a backup is in progress?
2797
A.2.18. What type of human resources are needed to be on staff to
3137
A.2.18. How can I update the code and the database using CVS?
3138
A.2.19. What type of human resources are needed to be on staff to
2798
3139
install and maintain Bugzilla? Specifically, what type of
2799
3140
skills does the person need to have? I need to find out
2800
3141
if we were to go with Bugzilla, what types of individuals
2801
3142
would we need to hire and how much would that cost vs
2802
buying an "Out-of-the-Box" solution.
3143
buying an "Out-of-the-Box" solution.
2804
A.2.19. What time frame are we looking at if we decide to hire
3145
A.2.20. What time frame are we looking at if we decide to hire
2805
3146
people to install and maintain the Bugzilla? Is this
2806
3147
something that takes hours or weeks to install and a
2807
3148
couple of hours per week to maintain and customize or is
2808
3149
this a multi-week install process, plus a full time job
2809
for 1 person, 2 people, etc?
3150
for 1 person, 2 people, etc?
2811
A.2.20. Is there any licensing fee or other fees for using
3152
A.2.21. Is there any licensing fee or other fees for using
2812
3153
Bugzilla? Any out-of-pocket cost other than the bodies
2813
needed as identified above?
3154
needed as identified above?
3156
A.2.22. Why do users have to log in every time they access a
3157
page? This affects everyone who accesses my Bugzilla. (If
3158
this only affects some of your users, see the next FAQ
3161
A.2.23. Why do users have to log in every time they access a
3162
page? This only seems to affect some of my Bugzilla's
3163
users, others stay logged in.
2815
3165
3. Bugzilla Security
2817
3167
A.3.1. How do I completely disable MySQL security if it's giving
2818
3168
me problems (I've followed the instructions in the
2819
installation section of this guide)?
3169
installation section of this guide)?
2821
A.3.2. Are there any security problems with Bugzilla?
3171
A.3.2. Are there any security problems with Bugzilla?
2822
3172
A.3.3. I've implemented the security fixes mentioned in Chris
2823
3173
Yeh's security advisory of 5/10/2000 advising not to run
2824
3174
MySQL as root, and am running into problems with MySQL no
2825
longer working correctly.
3175
longer working correctly.
2827
3177
4. Bugzilla Email
2829
3179
A.4.1. I have a user who doesn't want to receive any more email
2830
from Bugzilla. How do I stop it entirely for this user?
3180
from Bugzilla. How do I stop it entirely for this user?
2832
3182
A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send
2833
email to anyone but me. How do I do it?
3183
email to anyone but me. How do I do it?
2835
3185
A.4.3. I want whineatnews.pl to whine at something more, or other
2836
than, only new bugs. How do I do it?
3186
than, only new bugs. How do I do it?
2838
3188
A.4.4. I don't like/want to use Procmail to hand mail off to
2839
bug_email.pl. What alternatives do I have?
3189
bug_email.pl. What alternatives do I have?
2841
3191
A.4.5. How do I set up the email interface to submit/change bugs
2844
3194
A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's
2845
extremely slow. What gives?
3195
extremely slow. What gives?
2847
A.4.7. How come email from Bugzilla changes never reaches me?
3197
A.4.7. How come email from Bugzilla changes never reaches me?
2849
3199
5. Bugzilla Database
2851
A.5.1. I've heard Bugzilla can be used with Oracle?
3201
A.5.1. I've heard Bugzilla can be used with Oracle?
2852
3202
A.5.2. I think my database might be corrupted, or contain invalid
2853
entries. What do I do?
3203
entries. What do I do?
2855
A.5.3. I want to manually edit some entries in my database. How?
3205
A.5.3. I want to manually edit some entries in my database. How?
2856
3206
A.5.4. I think I've set up MySQL permissions correctly, but
2857
Bugzilla still can't connect.
3207
Bugzilla still can't connect.
2859
3209
A.5.5. How do I synchronize bug information among multiple
2860
different Bugzilla databases?
3210
different Bugzilla databases?
2862
3212
6. Bugzilla and Win32
2864
3214
A.6.1. What is the easiest way to run Bugzilla on Win32
2867
A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
3217
A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
2868
3218
A.6.3. CGI's are failing with a "something.cgi is not a valid
2869
Windows NT application" error. Why?
3219
Windows NT application" error. Why?
2871
3221
A.6.4. I'm having trouble with the perl modules for NT not being
2872
able to talk to to the database.
3222
able to talk to to the database.
2874
3224
7. Bugzilla Usage
2876
A.7.1. How do I change my user name (email address) in Bugzilla?
3226
A.7.1. How do I change my user name (email address) in Bugzilla?
2877
3227
A.7.2. The query page is very confusing. Isn't there a simpler
2880
3230
A.7.3. I'm confused by the behavior of the "accept" button in the
2881
3231
Show Bug form. Why doesn't it assign the bug to me when I
2884
3234
A.7.4. I can't upload anything into the database via the "Create
2885
Attachment" link. What am I doing wrong?
3235
Attachment" link. What am I doing wrong?
2887
3237
A.7.5. How do I change a keyword in Bugzilla, once some bugs are
2890
3240
A.7.6. Why can't I close bugs from the "Change Several Bugs at
2893
3243
8. Bugzilla Hacking
2895
A.8.1. What bugs are in Bugzilla right now?
3245
A.8.1. What bugs are in Bugzilla right now?
2896
3246
A.8.2. How can I change the default priority to a null value? For
2897
3247
instance, have the default priority be "---" instead of
2900
3250
A.8.3. What's the best way to submit patches? What guidelines
2903
3253
1. General Questions
3207
3587
UNIX or Perl skills to handle your process management and bug-tracking
3208
3588
maintenance & customization.
3210
A.2.20. Is there any licensing fee or other fees for using Bugzilla?
3590
A.2.21. Is there any licensing fee or other fees for using Bugzilla?
3211
3591
Any out-of-pocket cost other than the bodies needed as identified
3214
3594
No. MySQL asks, if you find their product valuable, that you purchase
3215
3595
a support contract from them that suits your needs.
3597
A.2.22. Why do users have to log in every time they access a page?
3598
This affects everyone who accesses my Bugzilla. (If this only affects
3599
some of your users, see the next FAQ item.)
3601
The most-likely cause is that the "cookiepath" parameter is not set
3602
correctly in the Bugzilla configuration. You can change this (if
3603
you're a Bugzilla administrator) from the editparams.cgi page via the
3606
The value of the cookiepath parameter should be the actual directory
3607
containing your Bugzilla installation, as seen by the end-user's web
3608
browser. Leading and trailing slashes are mandatory. You can also set
3609
the cookiepath to any directory which is a parent of the Bugzilla
3610
directory (such as '/', the root directory). But you can't put
3611
something that isn't at least a partial match or it won't work. What
3612
you're actually doing is restricting the end-user's browser to sending
3613
the cookies back only to that directory.
3615
How do you know if you want your specific Bugzilla directory or the
3618
If you have only one Bugzilla running on the server, and you don't
3619
mind having other applications on the same server with it being able
3620
to see the cookies (you might be doing this on purpose if you have
3621
other things on your site that share authentication with Bugzilla),
3622
then you'll want to have the cookiepath set to "/", or to a
3623
sufficiently-high enough directory that all of the involved apps can
3628
urlbase is http://bugzilla.mozilla.org/
3630
urlbase is http://tools.mysite.tld/bugzilla/
3631
but you have http://tools.mysite.tld/someotherapp/
3633
authentication with your Bugzilla
3636
On the other hand, if you have more than one Bugzilla running on the
3637
server (some people do - we do on landfill) then you need to have the
3638
cookiepath restricted enough so that the different Bugzillas don't
3639
confuse their cookies with one another.
3643
urlbase is http://landfill.bugzilla.org/bugzilla-tip/
3644
cookiepath is /bugzilla-tip/
3645
urlbase is http://landfill.bugzilla.org/bugzilla-2.16-branc
3647
cookiepath is /bugzilla-2.16-branch/
3649
If you had cookiepath set to / at any point in the past and need to
3650
set it to something more restrictive (i.e. /bugzilla/), you can safely
3651
do this without requiring users to delete their Bugzilla-related
3652
cookies in their browser (this is true starting with Bugzilla 2.17.7
3653
and Bugzilla 2.16.5).
3655
A.2.23. Why do users have to log in every time they access a page?
3656
This only seems to affect some of my Bugzilla's users, others stay
3659
First, make sure cookies are enabled in the user's browser.
3661
If that doesn't fix the problem, it may be that the user's ISP
3662
implements a rotating proxy server. This causes the user's effective
3663
IP address (the address which the Bugzilla server perceives him coming
3664
from) to change periodically. Since Bugzilla cookies are tied to a
3665
specific IP address, each time the effective address changes, the user
3666
will have to log in again.
3668
In newer versions of Bugzilla (2.17.1 and later) there is a parameter
3669
called "loginnetmask", which you can use to set the number of bits of
3670
the user's IP address to require to be matched when authenticating the
3671
cookies. If you set this to something less than 32, then the user will
3672
be given a checkbox for "Restrict this login to my IP address" on the
3673
login screen, which defaults to checked. If they leave the box
3674
checked, Bugzilla will behave the same as it did before, requiring an
3675
exact match on their IP address to remain logged in. If they uncheck
3676
the box, then only the left side of their IP address (up to the number
3677
of bits you specified in the parameter) has to match to remain logged
3217
3680
3. Bugzilla Security
3219
3682
A.3.1. How do I completely disable MySQL security if it's giving me