Installing Bugzilla
UNIX Installation
Please consult the README included with the Bugzilla distribution
as the current canonical source for UNIX installation instructions.
We do, however, have some installation notes for errata from the README.
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:
cannot chdir(/var/spool/mqueue): Permission denied
This is because your
/var/spool/mqueue directory has a mode of "drwx------". Type
chmod 755 /var/spool/mqueue as root to fix this problem.
Win32 (Win98+/NT/2K) Installation
These directions have not been extensively tested.
We need testers! Please try these out and post any changes to the
newsgroup.
Win32 Installation: Step-by-step
You should be familiar with, and cross-reference, the UNIX README
while performing your Win32 installation. Unfortunately, Win32
directions are not yet as detailed as those for UNIX.
The most critical difference for Win32 users is
the lack of support for a crypt() function in MySQL for Windows. It does not
have it! All ENCRYPT statements must be modified.
Install Apache Web Server
for Windows.
You may also use Internet Information Server or Personal Web
Server for this purpose. However, setup is slightly more
difficult. If ActivePerl doesn't seem to handle your file
associations correctly (for .cgi and .pl files), please
consult the FAQ, in the "Win32" section.
If you are going to use IIS, if on Windows NT you must be updated
to at least Service Pack 4.
Install ActivePerl
Please also check the following links to fully understand the status
of ActivePerl on Win32:
Perl Porting, and
Hixie Click Here
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:
C:> ppm install <module>.ppd
You can find ActiveState ppm modules at
http://www.activestate.com/PPMPackages/5.6plus
Download and install the Windows GNU tools from
www.cygwin.com.
Make sure the GNU utilities are in your $PATH.
Install MySQL for NT.
Your configuration file for MySQL must be named C:\MY.CNF.
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';
mysql>
GRANT SELECT, INSERT, UPDATE, DELETE,
INDEX, ALTER, CREATE, DROP, REFERENCES
ON bugs.* to bugs@localhost
IDENTIFIED BY 'bugs_password';
mysql>
FLUSH PRIVILEGES;
mysql>
create database bugs;
mysql>
exit
C:>
C:\mysql\bin\mysqladmin -u root -p reload
Configure Bugzilla. For Win32, this involves editing "defparams.pl"
and "localconfig" to taste. Running "checksetup.pl" should create
localconfig for you. Note that getgrnam() doesn't work, and should be
deleted. Change this line:
"my $webservergid = getgrnam($my_webservergroup); "
to
"my $webservergid = $my_webservergroup; "
There are several alternatives to Sendmail that will work on Win32.
The one mentioned here is a suggestion, not
a requirement. Some other mail packages that can work include
BLAT,
Windmail,
Mercury Sendmail,
and the CPAN Net::SMTP Perl module (available in .ppm).
Every option requires some hacking of the Perl scripts for Bugzilla
to make it work. The option here simply requires the least.
Download NTsendmail, available from
www.ntsendmail.com. In order for it to work, you must set up some
new environment variables (detailed on the ntsendmail home page). Figuring
out where to put those variables is left as an exercise for the reader.
You must have a "real" mail server which allows you to relay off it
in your $ENV{"NTsendmail"} (which you should probably place in globals.pl)
Once downloaded and installed, modify all open(SENDMAIL) calls to open
"| c:\ntsendmail\ntsendmail -t" instead of "|/usr/lib/sendmail -t".
We need someone to test this and make sure this works as advertised.
Modify globals.pl and CGI.pl to remove the word "encrypt".
I'm not sure this is all that is involved to remove crypt. Any
NT Bugzilla hackers want to pipe up?
Change all references to "processmail" to "processmail.pl" in
all files, and rename "processmail" to "processmail.pl"
I really 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.
Modify the path to perl on the first line (#!) of all files
to point to your Perl installation, and
add "perl" to the beginning of all Perl system calls that
use a perl script as an argument. This may take you a while.
There is a "setperl.pl" utility to speed part of this procedure,
available in the "Patches and Utilities" section of The Bugzilla Guide.
In processmail.pl, add "binmode(HANDLE)" before all read() calls.
This may not be necessary, but in some cases the read() under
Win32 doesn't count the EOL's without using a binary read().
Additional Windows Tips
From Andrew Pearson:
"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
http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP
Basically you need to add two String Keys in the
registry at the following location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
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
more detail and provides a perl test script.