Follow the instructions below to install Bugzilla on Microsoft Windows. Bugzilla is an open-source project management and issue tracking program, commonly called a “bugtracker”.
UPDATE 2016/03/29: Someone asked a question on Stack Overflow that referenced these instructions, saying that it wasn’t possible to file a bug with an attachment after installation. Evidently this problem was fixed by creating a directory named “tmp” within the xampp directory.
1. Download XAMPP. XAMPP is a convenient bundle of software packages(sometimes known as a “solution stack”) that are frequently used to run web applications, including the Apache web server, the MySQL/MariaDB database, and the PHP programming language. As of this writing, the latest version is available for download at the URL “https://www.apachefriends.org/index.html“.
2. Install XAMPP. Follow the prompts, and accept the defaults. During the installation process, take note of the locations to which its various components are installed, as well as any other information specified during the install process, such as database names, users, and passwords.
3. Disable any web server programs other than Apache that might already be running. Specifically, you might need to stop the “World Wide Web Publishing Service” (IIS) via the Services control panel (which can be accessed by running “services.msc”).
4. Start the XAMPP Control Panel application. Start the Apache and MySQL applications by clicking the corresponding Start buttons.
5. Verify that Apache is running by opening a web browser and navigating to “http://localhost“. The XAMPP demo page should be displayed.
6. Locate the directory containing the executable program for the Perl programming language (perhaps at “C:\Perl64\bin\”) and add it to the PATH environment variable.
7. Download Bugzilla. As of this writing, the latest version is available for download as archive files at the URL “https://www.bugzilla.org/download/“. Extract the contents of the archive file to a convenient location. For Windows, it is recommended that Bugzilla be extracted to “C:\Bugzilla\”.
8. Navigate to Apache’s “httpd.conf” file (perhaps at “C:\xampp\apache\conf\”), locate the element starting with the line “IfModule alias_module”, add the following text within that element, and save the changes.
Alias "/bugzilla/" "C:/bugzilla/" <Directory "C:/bugzilla"> ScriptInterpreterSource Registry-Strict Options +ExecCGI +FollowSymLinks DirectoryIndex index.cgi index.html AllowOverride Limit FileInfo Indexes Options Require all granted </Directory>
9. Locate the three files named “.htaccess” for Bugzilla in its root directory (perhaps “C:\bugzilla”), in the “data” subdirectory of the root directory, and in the “assets” subdirectory of the “data” directory. Open each file in a text editor. Change any lines starting with “Require all denied” to “Deny from All”, and change any lines starting with “Require all granted” to “Allow from all”. Save the changes. (Presumably this nasty hack could be avoided by changing the configuration somehow, but as of this writing I don’t know how.)
10. Open the Windows Registry Editory (perhaps by running “regedit”) and create a new key at “HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command” whose value is the complete path of the Perl executable followed by the “-T” parameter (for example, “C:\Perl64\bin\perl.exe -T”).
11. Still on the XAMPP Control Panel, click the Admin button for MySQL. The PHPMyAdmin page for the database will be loaded in a web browser window.
12. On the PHPMyAdmin page for the MySQL server, click the “Users” tab, then click the Add User link. On the “Add user” page, in the “User name” field, enter the value “bugs”, select the value “Local” in the
“Host” select box, enter a password in the next two fields, and then activate the “Create database with same name and grant all privileges” checkbox. Click the Go button at the bottom of the page to create the new user and database named “bugs”.
13. Open a command prompt, navigate to the Bugzilla directory (perhaps at “C:\Bugzilla\”), and run the command “checksetup.pl”. The program will run, and eventually display a list of Perl modules that must be installed. Install the missing modules by entering each of the “ppm install” commands listed. You should also run “ppm install Chart” and “ppm install Template-GD”.
14. Once all the missing Perl modules have been installed, run “checksetup.pl” again.
This time, a message will be displayed saying that the file “./localconfig” should be edited. Open the localconfig file in a text editor, locate the line starting with “$db_pass”, substitute the password for the “bugs” user specified in the previous step between the quotes, and save the changes.
15. Run “checksetup.pl” once again. This time, the Bugzilla application and database will be initialized. Enter an email address, name, and password for the administrator user when prompted.
16. Back on the XAMPP Control Panel, restart Apache by clicking the Stop button, then the Start button.
17. Back at the command prompt, run “testserver.pl http://localhost/bugzilla/“. Several tests will be run. Verify that they all complete with a “TEST-OK” status.
18. Open a web browser and navigate to “http://localhost/bugzilla/“. Verify that the Bugzilla page appears as expected.
19. It might also be wise to better secure the installed MySQL service at this time, but that is left as an exercise for the reader.