How To: Install Bugzilla on Windows

I won’t complain, because it is free… But (expletive here)…

My Particular Experience was with IIS on Windows Server 2008, but the experience should be about the same for XP, Vista, Server 2003, and 2008. The Apache configuration appears to be well documented in the Win32Install directions https://wiki.mozilla.org/Bugzilla:Win32Install#Install_Modules.

If you’ve installed any open-source software before some of the steps for bugzilla may already be done so I’ll outline the steps and you can skip any that you already have done.

Outline / Checklist

  1. Install MySQL (All you need is the Windows Essentials and I highly recommend the MySQL GUI Tools)
  2. Create a database named ‘bugzilla’(or whatever name you like)
  3. Create a MySQL User Account named ‘bugzilla’ (or whatever name you like)
  4. Grant ALL Privileges to the bugzilla database for the bugzilla user account.
  5. Download and Install ActivePerl using the Windows.msi installer from
  6. Run the commands to download all of the needed modules for BugZilla. (Commands are listed below under Perl Modules Install Commands) 
  7. Download the latest Stable Release (3.4.2 @ time of writing) of BugZilla from www.bugzilla.org
  8. Extract those files to C:\inetpub\wwwroot\BugZilla (or wherever you would like to store the web application)
  9. In IIS Manager, Create a Virtual Directory that points to the BugZilla files you extracted. (In IIS 7 you can Convert the folder into an application.)  (See Caveats)
  10. Add the perl cgi script mapping to the Virtual directory. ( Path = *.cgi, Executable = "C:\Perl\bin\perl.exe" -xC:\inetpub\wwwroot\bugzilla -wT "%s" %s ) NOTE: Yes everything following “Executable =” needs to be in the box, including the quotes.
  11. Grant Write permissions on the folder for the IIS worker process account. (typically “NT Authority\Network Service”) (See Caveats)
  12. From the command prompt, run “perl checksetup.pl”, which is in the BugZilla install directory. (See Caveats)
  13. If there are additional modules required to be installed,  run the ppm install commands for those modules. (They will be displayed in the command line output) You will be asked to prove a mail server hostname. If you do not have a mail server, I recommend hMailServer. You will also be asked for an administrator email and password. (This is your default admin login)
  14. Login to Bugzilla as the administrator and change the “urlbase” setting (Located under “Administration” –> “Parameters”) (See Caveats)
  15. Congrats you’ve installed Bugzilla!

Caveats:

  1. If BugZilla is installed on a server that is separate from you MySQL server, make sure you grant permissions for the user account from the remote server location.

  2. If you have trouble installing some perl modules such as “DateTime” and “DateTime-TimeZone” and you are getting the “Can’t determine best” error. (Which is overly explanatory:/ ), Open C:\Perl\lib\ActivePerl\PPM\Package.pm and comment out the following line: push(@dunno, $p);  ( Should look like #push(@dunno, $p); after you comment it out. The # sign indicates a comment.) Save the file and re-run your ppm install commands. (Remove the # sign after you have everything installed.)

  3. If you try to browse to http://localhost/Bugzilla or whatever you virtual directory is and you see nothing, try http://localhost/Bugzilla/index.cgi. If this works, then you need to add the index.cgi to the Default Document list.

  4. If you have problems saving settings on bugzilla, It is probably because the NT Authority\IUSR account is being used to write to your bugzilla directory. To fix this you need to go into IIS Manager and change the CGI settings for this virtual directory and change “Impersonate User” to False.

  5. If you are have browsed to http://localhost/BugZilla/index.cgi and upon logging in you see an big “Software Error:” page with the “Undef to trick_taint” error. Browse to bugzilla installation using the IP address of the server. http://xxx.xxx.xxx.xxx/BugZilla/index.cgi

  6. If you can login using the IP address, but remote users cannot logon, or you cannot logon with localhost, or you cannot logon with the server name, then you need to login as an administrator using the IP address on the local server. Go to Administration –> Parameters –> “User Authentication” and set the loginnetmask to 32. It will be 0 by default.

Perl Module Install Commands:

ppm version ppm repo add UWinnipeg ppm repo add Trouchelle http://trouchelle.com/ppm10/ ppm repo list ppm upgrade ppm install AppConfig ppm install TimeDate ppm install DBI ppm install DBD-mysql ppm install Template-Toolkit ppm install MailTools ppm install GD ppm install Chart ppm install GDGraph ppm install PatchReader ppm install Net-LDAP-Express  ppm install DateTime ppm install DateTime-TimeZone ppm install Email-Send ppm install Email-MIME ppm install Email-MIME-Encodings ppm install Email-MIME-Modifier

image image

This article is part of the GWB Archives. Original Author: Timothy Wright

New on Geeks with Blogs