Installing Bugzilla on Microsoft Windows

本文详细介绍了在Windows操作系统上安装Bugzilla的过程,包括下载、配置环境、安装所需组件及最后的验证步骤。

Installing Bugzilla on Microsoft Windows

Bugzilla version 2.18 is the first release that runs unmodified on Windows. This document guides you step by step through the installation process.

Note that there are a few things that don't work on Windows. The most important one of these would be the inbound email interface (contrib/README.Mailif ).

Change Log

  • 1st Aug - Added CVS downloading instructions
  • 31st Aug - Added note about ensuring SYSTEM can write to Bugzilla/data
  • 31st Aug - Fixed typo in case of DBD-mysql
  • 31st Aug - Added note about Bugzilla requiring ActiveState Perl 5.8.1 or higher
  • 23rd Sep - Added more detail about what directories the Apache account needs to write to
  • 6th Oct - Added note regarding MySql 4.1.5 issues

Bugzilla

There's two main methods to getting the Bugzilla source - from CVS or in a tarball. The best method for fetching Bugzilla is to grab it directly from CVS, as this will allow for simple upgrades, even if you have customised Bugzilla.

Read the Release Notes before you do anything.

Changes since 2.18rc1
Known issues still blocking 2.18

Installing Bugzilla From CVS

Download the CVSNT client from:
http://www.cvsnt.org/ (2.15 Meg).

Run the installation, you'll only need to install the Command line client and the Password Server (:pserver:) Protocol . Once the intsall has completed, log out and log in again to pick up the changes to the PATH.

Note: this document assumes you want to install Bugzilla into C:/Bugzilla .

Open the command line, and cd to the parent of the directory you want to install Bugzilla into. As we'll be installing Bugzilla into C:/Bugzilla , the current directory must be C:/ .

C:/>set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot


C:/>cvs login
Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401:/cvsroot
CVS password: anonymous

C:/>cvs checkout -d Bugzilla -rBUGZILLA-2_18rc2 Bugzilla
cvs checkout: cwd=C:/ ,current=C:/
cvs checkout: Updating Bugzilla
U Bugzilla/.cvsignore
U Bugzilla/1x1.gif
U Bugzilla/Bugzilla.pm
U Bugzilla/CGI.pl
...
U Bugzilla/template/en/default/search/search-specific.html.tmpl
U Bugzilla/template/en/default/search/tabs.html.tmpl
cvs checkout: Updating Bugzilla/template/en/default/whine
cvs checkout: Updating Bugzilla/template/en/extension
cvs checkout: Updating Bugzilla/template/en/extension/hook

C:/>

Installing Bugzilla From the TarBall

Download the Bugzilla 2.18 Release Candidate 2 (2.18rc2) from:
http://bugzilla.org/download.html (1.2 Meg).

Bugzilla ships as a Tarball, which has the extension .tar.gz. Any decent Windows archive tool should be able to extract tarballs. I use WinRar .

Extract the archive to the directory of your choice. For the remainder of this document I will assume that you have extracted Bugzilla into C:/Bugzilla .

MySQL

Download MySQL 4.0.x and MySQLcc

Download the MySQL Standard binaries for Windows from:
http://dev.mysql.com/downloads/mysql/4.0.html (20.4 Meg).

I've experienced a few issues with MySQL 4.1.5 gamma, so i recommend you install 4.0.x.

Download MySQL Control Center (GUI Administration tool) from:
http://dev.mysql.com/downloads/mysqlcc.html (3.4 Meg).

Install

Both MySQL and MySQLcc have a standard Windows installer. It's ok to select a Typical MySQL install (the default). For the remainder of this document I will assume you have installed MySQL into C:/mysql .

Once MySQL is installed, you'll need to install the MySQL service manually.

C:/>cd /mysql/bin


C:/mysql/bin>mysqld --install
Service successfully installed.

C:/mysql/bin>net start mysql
The MySQL service is starting.
The MySQL service was started successfully.

C:/mysql/bin>

Create Bugs Database and User

Use MySQLcc to create the Bugzilla database, and the database user. For the remainder of this document I will assume that both the database and user are named bugs .

Launch MySQLcc and set the host name to localhost . The default MySQL username is root with an empty password. (This default account is accessible only from localhost).

Connect to the server (Action --> Connect), select "Databases" in the left panel, then create a new database (Action --> New Database) called bugs .

Select User Administration and create a new user (Action --> New User). Username should be bugs , host should be localhost , set the password to whatever you want, and ensure you check the bugs database in the "Allow access to" section, and check With GRANT option .

mysqlcc screenshot

You can also create the database and user manually with mysql.exe ('sockmonkey' is my password for the bugs account):

C:/mysql/bin>mysql --user=root mysql

Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 15 to server version: 4.0.20a-debug

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql> create database bugs;
Query OK, 1 row affected (0.11 sec)

mysql> grant all privileges on bugs.* to 'bugs'@'localhost' identified by 'sockmonkey';
Query OK, 0 rows affected (0.03 sec)

mysql> quit
Bye

C:/mysql/bin>

ActiveState Perl

Download ActiveState Perl 5.8.1 or Higher

Download the ActiveState Perl 5.8.1 or Higher MSI from:
http://activestate.com/Products/Download/Download.plex?id=ActivePerl (12.5 Meg).

Note that Bugzilla requires ActiveState Perl 5.8.1 as it needs CGI.pm version 2.93 or higher. 5.8.0 ships with CGI.pm version 2.81, 5.8.1 ships with CGI.pm version 3.00.

Install

ActiveState Perl uses a standard Windows Installer. Install, sticking with the defaults, which will install Perl into C:/Perl .

Upgrading Existing Installs

If you already have ActiveState Perl installed, now's a good time to ensure you're running the latest version of ActiveState Perl, along with the latest versions of the modules.

To upgrade ActiveState Perl, follow the directions at:
http://aspn.activestate.com/ASPN/docs/ActivePerl/install.html

To upgrade your modules, simply run ppm upgrade

Create Temp Directory

On Windows, Perl has a hard time of locating the correct directory to write its temporary files (CGI.pm, File::Spec). Basically it has a list of paths hard coded to use, instead of querying Windows for the correct path.

To avoid problems, create the C:/Temp directory (it has to be on drive C) and ensure SYSTEM has write access.

Install Modules

Bugzilla requires a number of perl modules to be installed, all of which I've made available at http://glob.com.au/ppm/ .

If you use a proxy server or a firewall you may have trouble running PPM. This is covered in the ActivePerl FAQ .

C:/>ppm

PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.

ppm> rep add glob http://glob.com.au/ppm
Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Repository
[3] glob
ppm> install AppConfig
====================
Install 'AppConfig' version 1.52 in ActivePerl 5.8.4.810.
====================
Downloaded 50508 bytes.
...
Successfully installed AppConfig version 1.52 in ActivePerl 5.8.4.810.
ppm> install TimeDate
====================
Install 'TimeDate' version 1.16 in ActivePerl 5.8.4.810.
====================
Downloaded 19235 bytes.
...
Successfully installed TimeDate version 1.16 in ActivePerl 5.8.4.810.
ppm> install DBI
====================
Install 'DBI' version 1.43 in ActivePerl 5.8.4.810.
====================
Downloaded 508164 bytes.
...
Successfully installed DBI version 1.43 in ActivePerl 5.8.4.810.
ppm> install DBD-mysql
====================
Install 'DBD-mysql' version 2.9002 in ActivePerl 5.8.4.810.
====================
Downloaded 178803 bytes.
...
Successfully installed DBD-mysql version 2.9002 in ActivePerl 5.8.4.810.
ppm> install Template-Toolkit
====================
Install 'Template-Toolkit' version 2.13 in ActivePerl 5.8.4.810.
====================
Downloaded 530770 bytes.
...
Successfully installed Template-Toolkit version 2.13 in ActivePerl 5.8.4.810.
ppm> install GD
====================
Install 'GD' version 2.07 in ActivePerl 5.8.4.810.
====================
Downloaded 363039 bytes.
...
Successfully installed GD version 2.07 in ActivePerl 5.8.4.810.
ppm> install Chart
====================
Install 'Chart' version 2.3 in ActivePerl 5.8.4.810.
====================
Downloaded 58641 bytes.
...
Successfully installed Chart version 2.3 in ActivePerl 5.8.4.810.
ppm> install GDGraph
====================
Install 'GDTextUtil' version 0.86 in ActivePerl 5.8.4.810.
====================
Downloaded 19178 bytes.
...
Successfully installed GDTextUtil version 0.86 in ActivePerl 5.8.4.810.
====================
Install 'GDGraph' version 1.43 in ActivePerl 5.8.4.810.
====================
Downloaded 71764 bytes.
...
Successfully installed GDGraph version 1.43 in ActivePerl 5.8.4.810.
ppm> install PatchReader
====================
Install 'PatchReader' version 0.9.4 in ActivePerl 5.8.4.810.
====================
Downloaded 9558 bytes.
...
Successfully installed PatchReader version 0.9.4 in ActivePerl 5.8.4.810.
ppm>

PatchReader 0.9.4

Make sure the version of PatchReader that is installed is 0.9.4 or higher. If you end up with an older version, uninstall the ppm and install the ppm from http://www.glob.com.au/ppm/PatchReader.ppd.

ppm> uninstall PatchReader

====================
Remove 'PatchReader' version 0.9.2 from ActivePerl 5.8.4.810.
====================
...
Successfully removed PatchReader version 0.9.2 from ActivePerl 5.8.4.810.
ppm> install http://www.glob.com.au/ppm/PatchReader.ppd
====================
Install 'PatchReader' version 0.9.4 in ActivePerl 5.8.4.810.
====================
Downloaded 9558 bytes.
...
Successfully installed PatchReader version 0.9.4 in ActivePerl 5.8.4.810.
ppm>

Apache

Download Apache 2.x

Download the Apache HTTP Server version 2.x or high from:
http://httpd.apache.org/download.cgi (5.8 Meg).

Install

Yet another standard Windows Installer. Just follow the prompts, making sure you Install for All Users. Be aware the Apache will always install itself into an Apache2 directory under what ever path you specify. The default install path will be displayed as C:/Program Files/Apache Group which will result in Apache being installed to C:/Program Files/Apache Group/Apache2 . This gets me every time.

For the remainder of this document I will assume you installed Apache into the default location, C:/Program Files/Apache Group/Apache2 .

If you are already running IIS, you must configure apache to run on a port other than 80, however you aren't asked the port to listen on at install time. Choose All Users (which says port 80), and we'll change the port later.

By default Apache installs itself to run as the SYSTEM account. For security reasons it's better the reconfigure the service to run as an Apache user. Create a user that is a member of no groups, and reconfigure the Apache2 service to run as that account.

Grant write access for Apache account

By default Apache will run as the SYSTEM account. This account needs write access to the following directorys, and all their subdirectories. Depending on your version of Windows, this access may already be granted.

  • C:/Bugzilla/data
  • C:/Program Files/Apache Group/Apache2/logs
  • C:/Temp

Configure Port and DocumentRoot

Edit C:/Program Files/Apache Group/Apache2/conf/httpd.conf with your favourite text editor .

To change the port that Apache runs on (listens on, or binds to), edit the Listen option.

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80

Change the DocumentRoot setting to point to C:/Bugzilla . Note there are two locations in httpd.conf that needs to be updated. Note you need to use / instead of / as a path separator.

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/Bugzilla"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "C:/Bugzilla">

Configure CGI

To enable CGI support in Apache, you need to enable the CGI handler, by uncommenting the AddHandler cgi-script .cgi line.

#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi

And allow .cgi scripts in the Bugzilla directory by adding the ExecCGI option. We also need to allow Bugzilla's .htaccess file to restrict access to sensitive documents by allowing it to override the defaults. This involves changing AllowOverride None to AllowOverride All .

Apache also needs to know to use Perl to execute .cgi files, via the ScriptInterpreterSource directive.

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "C:/Bugzilla">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks ExecCGI

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

#
# Tell Apache to use Perl to execute .cgi
#
ScriptInterpreterSource Registry-Strict


</Directory>

You also should add index.cgi to the DirectoryIndex list.

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.cgi

In order for ScriptInterpreterSource Registry-Strict to work, you also need to add an entry to the Registry so Apache will use Perl to execute .cgi files.

Create a key HKEY_CLASSES_ROOT/.cgi/Shell/ExecCGI/Command with the default value of the full path of perl.exe with a -T parameter. For example C:/Perl/bin/perl.exe -T

regedit screenshot

Disable Logging

Unless you want to keep statistics on how many hits your Bugzilla install is getting, it's a good idea to disable logging by commenting out the CustomLog directive.

#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog logs/access.log common

Restart Apache

Finally, restart Apache to get it pick up the changes.

C:/>net stop apache2

The Apache2 service is stopping..
The Apache2 service was stopped successfully.

C:/>net start apache2
The Apache2 service is starting.
The Apache2 service was started successfully.

C:/>

Extras

Until Bug 49893 lands, Bugzilla requires SendMail to send emails. I've written a wrapper that acts as a fake sendmail to work around this issue.

Download Sendmail, Webdot, Diff and CVS

Download Fake Sendmail from:
http://www.glob.com.au/sendmail/sendmail.zip (98k).

There's a few optional utilities for Bugzilla, all of which you can download in one archive from: http://glob.com.au/bugzilla/win32-extras.zip (2.9 Meg).

Install

Extract Sendmail to the same drive as Bugzilla, but in the /usr/lib directory. If Bugzilla is installed in C:/Bugzilla , you need to extract Sendmail into C:/usr/lib .

Extract win32-extras.zip into a Win32 directory under your Bugzilla directory.

Configure Sendmail

Edit C:/usr/lib/sendmail.ini and put in your smtp server and default domain. The default domain will be added to email addresses where one isn't provided.

; configuration for fake sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server

smtp_server=mail.example.com

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

; default_domain=mydomain.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

;error_logfile=error.log

; if your smtp server requires authentication, uncomment and modify the
; following two lines

;auth_username=
;auth_password=

If you enable logging, you need to ensure that your Apache account has write access to C:/usr/lib .

Configure Bugzilla

checksetup.pl

Run checksetup.pl . This will check your Perl modules and create localconfig .

C:/>cd bugzilla


C:/bugzilla>perl checksetup.pl

Checking perl modules ...
Checking for AppConfig (v1.52) ok: found v1.52
Checking for CGI (v2.93) ok: found v3.04
Checking for Data::Dumper (any) ok: found v2.121
Checking for Date::Format (v2.21) ok: found v2.22
Checking for DBI (v1.32) ok: found v1.43
Checking for DBD::mysql (v2.1010) ok: found v2.9002
Checking for File::Spec (v0.82) ok: found v0.87
Checking for File::Temp (any) ok: found v0.14
Checking for Template (v2.08) ok: found v2.13
Checking for Text::Wrap (v2001.0131) ok: found v2001.09291

The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.07
Checking for Chart::Base (v0.99) ok: found v2.3
Checking for XML::Parser (any) ok: found v2.34
Checking for GD::Graph (any) ok: found v1.43
Checking for GD::Text::Align (any) ok: found v1.18
Checking for PatchReader (any) ok: found v0.9.4

Most ActivePerl modules are available at Apache's ppm repository.
A list of mirrors is available at
http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/
You can add the repository with the following command:
ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/

Checking user setup ...

This version of Bugzilla contains some variables that you may want
to change and adapt to your local settings. Please edit the file
'./localconfig' and rerun checksetup.pl

The following variables are new to localconfig since you last ran
checksetup.pl: index_html cvsbin interdiffbin diffpath create_htaccess webserv
ergroup db_host db_pass db_sock db_check severities priorities opsys platforms


C:/bugzilla>

Edit localconfig

Open C:/Bugzilla/localconfig in your favourite text editor to configure Bugzilla.

First up you need to point Bugzilla to the extra utilities. Note that when specifying paths, use / instead of /.

#
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the cvs binary to access files and revisions.
# Because it's possible that this program is not in your path, you can specify
# its location here. Please specify the full path to the executable.
$cvsbin = "c:/bugzilla/win32/cvs.exe";

#
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the interdiff binary to make diffs between two patches.
# Because it's possible that this program is not in your path, you can specify
# its location here. Please specify the full path to the executable.
$interdiffbin = "c:/bugzilla/win32/interdiff.exe";

#
# The interdiff feature needs diff, so we have to have that path.
# Please specify only the directory name, with no trailing slash.
$diffpath = "c:/bugzilla/win32";

Then you have to tell Bugzilla how to access your database. If you used bugs/bugs, you'll only have to set db_pass .

#
# How to access the SQL database:
#
$db_host = "localhost"; # where is the database?
$db_port = 3306; # which port to use
$db_name = "bugs"; # name of the MySQL database
$db_user = "bugs"; # user to attach to the MySQL database

#
# Enter your database password here. It's normally advisable to specify
# a password for your bugzilla database user.
# If you use apostrophe (') or a backslash (/) in your password, you'll
# need to escape it by preceding it with a / character. (/') or (//)
#
$db_pass = 'sockmonkey';

checksetup.pl

Run checksetup.pl again. This time it will build your database tables and initialise Bugzilla.

C:/bugzilla>perl checksetup.pl

Checking perl modules ...
Checking for AppConfig (v1.52) ok: found v1.52
Checking for CGI (v2.93) ok: found v3.04
Checking for Data::Dumper (any) ok: found v2.121
Checking for Date::Format (v2.21) ok: found v2.22
Checking for DBI (v1.32) ok: found v1.43
Checking for DBD::mysql (v2.1010) ok: found v2.9002
Checking for File::Spec (v0.82) ok: found v0.87
Checking for File::Temp (any) ok: found v0.14
Checking for Template (v2.08) ok: found v2.13
Checking for Text::Wrap (v2001.0131) ok: found v2001.09291

The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.07
Checking for Chart::Base (v0.99) ok: found v2.3
Checking for XML::Parser (any) ok: found v2.34
Checking for GD::Graph (any) ok: found v1.43
Checking for GD::Text::Align (any) ok: found v1.18
Checking for PatchReader (any) ok: found v0.9.4

Most ActivePerl modules are available at Apache's ppm repository.
A list of mirrors is available at
http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/
You can add the repository with the following command:
ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/

Checking user setup ...
Creating data directory (./data) ...
Creating graphs directory...
Creating .htaccess...
Creating Bugzilla/.htaccess...
Creating ./data/.htaccess...
Creating ./template/.htaccess...
Creating ./data/webdot/.htaccess...
Precompiling templates ...
Checking for MySQL Server (v3.23.41) ok: found v4.0.20a-debug

Creating table user_group_map ...
Creating table series_data ...
Creating table longdescs ...
Creating table dependencies ...
Creating table components ...
Creating table keywords ...
Creating table cc ...
Creating table duplicates ...
Creating table groups ...
Creating table flagtypes ...
Creating table profiles ...
Creating table products ...
Creating table bugs_activity ...
Creating table series_categories ...
Creating table keyworddefs ...
Creating table fielddefs ...
Creating table group_control_map ...
Creating table profiles_activity ...
Creating table group_group_map ...
Creating table user_series_map ...
Creating table bugs ...
Creating table series ...
Creating table versions ...
Creating table flagexclusions ...
Creating table logincookies ...
Creating table watch ...
Creating table bug_group_map ...
Creating table votes ...
Creating table attachments ...
Creating table flags ...
Creating table milestones ...
Creating table tokens ...
Creating table flaginclusions ...
Creating table quips ...
Creating table namedqueries ...
Creating initial dummy product 'TestProduct' ...
Populating duplicates table...
Creating duplicates directory...
Migrating old chart data into database ...
Adding group tweakparams ...
Adding group editusers ...
Adding group creategroups ...
Adding group editcomponents ...
Adding group editkeywords ...
Adding group admin ...
Adding group editbugs ...
Adding group canconfirm ...

Looks like we don't have an administrator set up yet. Either this is your
first time using Bugzilla, or your administrator's privileges might have
accidently been deleted.
Enter the e-mail address of the administrator: byron@glob.com.au
You entered 'byron@glob.com.au'. Is this correct? [Y/n] y
Enter the real name of the administrator: Byron Jones
Enter a password for the administrator account: beef

Please retype the password to verify: beef

'byron@glob.com.au' is now set up as an administrator account.

C:/bugzilla>

Parameters

You should now be able to log into to Bugzilla using the account checksetup.pl just created. Point your web browser to http://localhost/ , choose Log in to an existing account , and login.

In the page footer, choose Parameters .

Put in your email address as the maintainer .

maintainer:
The email address of the person who maintains this installation of Bugzilla.
byron@glob.com.au

Put in the URL to Bugzilla in the urlbase field. This URL will be used in emails, so don't use localhost.

urlbase:
The URL that is the common initial leading part of all Bugzilla URLs.
http://bugzilla.glob.com.au/

Put the complete path to dot.exe in webdotbase .

webdotbase:
It is possible to show graphs of dependent bugs. You may set this parameter to any of the following:

  * A complete file path to 'dot' (part of GraphViz) will generate the graphs locally.
  * A URL prefix pointing to an installation of the webdot package will generate the graphs remotely.
  * A blank value will disable dependency graphing.

The default value is a publically-accessible webdot server. If you change this value, make certain that the webdot server can read files from your webdot directory. On Apache you do this by editing the .htaccess file, for other systems the needed measures may vary. You can run checksetup.pl to recreate the .htaccess file if it has been lost.
c:/bugzilla/win32/dot.exe

Scheduled Tasks

This section is incomplete.

whineatnews.pl

Add a Scheduled Task to run whineatnews.pl nightly.

collectstats.pl

Add a Scheduled Task to run collectstats.pl nightly.

There is a bug (tracked by bug 253696 ) that causes collectstats.pl to crash with a Free to wrong pool error message. This is a bug that affects ActiveState Perl 5.8.4 only. A fix has been checked into the tree, and will be available with the release of Bugzilla 2.18rc3. Read the details on the bug if you want to manually update an earlier release.

Backing up Bugzilla

You may want to backup the entire Bugzilla directory. It's small and you'll get all your settings and customisations on your backup media.

The most important component of Bugzilla to backup is the Bugzilla Database. It contains all your Bugs, Users, Attachments, pretty well everything. Like most databases, backups with MySql are performed by generating a dump of the database and backing up the dump.

Schedule the mysqldump utility to create the dump, and add the resulting file to your backup media. I'll write more detailed instructions when I have the time, however you'll find MySql's mysqldump documentation at http://dev.mysql.com/doc/mysql/en/mysqldump.html .

Resources

Congratulations, the Bugzilla installation process is complete!

Support

I don't provide Bugzilla support, so please don't email me. The best places for getting Bugzilla support are:

http://www.bugzilla.org/support
netscape.public.mozilla.webtools
#mozwebtools on irc.mozilla.org

Note that sendmail.exe is not a Bugzilla product, so if you have any issues with sendmail.exe , feel free to contact me directly.

<think> 首先,用户的问题是关于在Windows上安装Ubuntu时出现错误代码0x80080005(Server execution failed)的解决方法。用户提供了几个引用,我需要参考这些引用,并基于我的知识生成回答。 回顾用户提供的引用: - 引用[1]:针对错误0x80080005,建议了两种解决方法:一种是命令行操作msiexec,另一种是重装Installer服务,包括删除文件、重命名文件和设置权限。 - 引用[2]:提到在Ubuntu环境中设置环境变量,但这似乎与Windows问题无关。 - 引用[3]:关于TensorFlow成功打开CUDA库的日志,似乎也与Windows安装Ubuntu的问题无关。用户特别提到这些引用仅供参考,不是真正的需求,所以我应该主要关注引用[1],因为它直接相关。 用户上一次的问题和我的回答:在之前的对话中,用户没有特定的上下文,因为这是新问题。第一条消息是系统指令,然后用户直接提出了这个问题。所以,我需要基于问题本身和提供的引用。 关键错误:0x80080005(Server execution failed)。这在Windows上下文中通常与Windows Installer服务相关。 用户的具体场景:在Windows上安装Ubuntu。这可能指的是使用Windows Subsystem for Linux(WSL)或虚拟机安装Ubuntu。常见的方式是WSL,因为错误代码0x80080005经常在安装程序如WSL时出现。 在WSL安装过程中,错误0x80080005通常表示Windows Installer服务有问题。引用[1]提供了解决方案,我应该采纳并结合我的知识。 结构化我的回答: 1. **确认问题**:解释错误代码,并关联到安装Ubuntu的场景(如WSL)。 2. **提供解决方案**:基于引用[1]和一般知识,列出步骤。 - 方案一:命令行操作(msiexec)。 - 方案二:重装Installer服务。 - 其他建议:如检查服务状态、更新Windows等。 3. **引用处理**:在回答中引用相关段落,末尾添加引用标识如[^1]。 4. **生成相关问题**:在回答结束时,添加相关的问题来扩展话题。 5. **格式要求**: - 使用中文回答。 - 行内数学表达式用$...$,但我这里可能不需要数学表达式,除非有方程。 - 独立公式用$$...$$,但在这种技术问题中可能不适用。 - LaTeX语法正确。 - 回答结构清晰,逐步解决问题。 潜在解决方案: - 错误0x80080005通常是由于Windows Installer服务损坏或权限问题。 - 常见修复:重新注册Windows Installer服务。 - 对于WSL安装,确保Windows功能如Hyper-V、Virtual Machine Platform启用;确保系统更新到最新。 基于引用[1]: - 方案一:运行命令`msiexec /unregister`然后`msiexec /regserver`。 - 方案二:在安全模式下删除和重命名特定文件,然后重装Installer。 - 检查DCOM权限(针对Windows 2000 Server,但可能适用于其他版本)。 针对Windows 10/11上的WSL安装: - 确保WSL功能启用:在PowerShell以管理员身份运行`wsl --install`。 - 如果遇到错误,尝试修复Windows Installer服务。 我的回答应包括: 1. 简要介绍错误。 2. 逐步解决方案。 3. 引用来源。 4. 相关问题。 相关问题生成(§§相关问题§§): 1. 如何启用Windows Subsystem for Linux? 2. 如果在安装过程中遇到其他Windows Installer错误怎么办? 3. WSL安装后的常见配置问题有哪些? 确保回答真实可靠:基于标准Windows故障排除知识。 </think> ### Windows上安装Ubuntu时错误0x80080005(Server execution failed)的解决方案 在Windows上安装Ubuntu(通常通过Windows Subsystem for Linux, WSL),出现错误代码0x80080005(Server execution failed),通常是由于Windows Installer服务损坏或权限问题导致的[^1]。Windows Installer是负责安装、修复和卸载应用程序的系统服务,其故障会影响WSL或虚拟机安装过程。下面我将基于可靠知识和参考引用,提供分步解决方案。请操作前确保您拥有管理员权限,并备份重要数据。 #### 步骤1: 重新注册Windows Installer服务(推荐首选方案) 这是最常见且简单的修复方法,基于引用[1]中的建议: 1. 以管理员身份打开命令提示符(搜索“cmd”,右键选择“以管理员身份运行”)。 2. 依次输入以下命令: ```cmd msiexec /unregister msiexec /regserver ``` 3. 尝试重新安装Ubuntu(例如,运行 `wsl --install -d Ubuntu`)。 - 如果成功,错误解决;如果不成功,继续步骤2。 #### 步骤2: 重装Windows Installer服务(如果步骤1无效) 如果重新注册无效,可能服务文件已损坏。参考引用[1],需在安全模式下操作: 1. **重启到安全模式**: - Windows 10/11:设置 > 更新和安全 > 恢复 > 高级启动 > 立即重新启动 > 疑难解答 > 高级选项 > 启动设置 > 重启 > 按F4或F5进入安全模式(带网络)。 2. **删除损坏的文件**: - 打开文件资源管理器,导航到 `C:\Windows\System32`。 - 删除以下文件:`msi.dll`, `msiexec.exe`, `msihnd.dll`(如果文件缺失,跳过)。 - 导航到 `C:\Windows\System32\dllcache`,删除相同文件。 3. **重命名相关文件**: - 在 `C:\Windows\System32` 目录下,重命名以下文件为 `.old` 扩展名: ```cmd cabinet.dll.old imagehlp.dll.old msimsg.dll.old msls31.dll.old mspatcha.dll.old riched20.dll.old shfolder.dll.old usp10.dll.old ``` 4. **下载并安装新版本的Windows Installer**: - 访问 [Microsoft官方下载页面](https://support.microsoft.com/en-us/topic/windows-installer-4-5-redistributable-for-windows-xp-windows-server-2003-windows-vista-and-windows-server-2008-is-available-7c1f6630-ef6c-2e2e-9e9f-9a6c11e0e4d6),下载适用于您Windows版本的Installer(例如,Windows Installer 4.5 for Windows 8/10/11)。 - 运行安装程序,完成后重启电脑。 5. **检查权限设置**(针对Windows Server或旧系统,引用[1]): - 运行 `dcomcnfg` 打开组件服务。 1. 导航到“组件服务” > “计算机” > “我的电脑” > “DCOM配置”。 2. 找到“Windows Installer”,右键属性 > “安全”选项卡,确保Administrator有完全控制权限。 - 设置“Windows Installer”服务属性: 1. 运行 `services.msc`,找到“Windows Installer”服务。 2. 右键属性 > “登录”选项卡 > 勾选“允许服务与桌面交互”。 - 确保Administrator对 `C:\Windows\Installer` 目录有完全控制权限(右键目录 > 属性 > 安全 > 编辑)。 #### 其他通用建议 - **启用Windows功能**:WSL安装需要依赖功能。打开“控制面板” > “程序和功能” > “启用或关闭Windows功能”,勾选“Windows Subsystem for Linux”和“Virtual Machine Platform”,确认后重启。 - **更新Windows**:运行Windows Update确保系统最新(错误有时由系统bug引起)。 - **尝试替代安装方法**:如果以上失败,使用Microsoft Store安装Ubuntu或手动下载WSL内核包。 - 如果问题持续,检查事件查看器(`eventvwr.msc`)中的应用程序日志,过滤错误0x80080005获取更多细节。 这些步骤基于Windows Installer故障的通用修复原则和引用[1]的方案[^1]。大多数情况下,步骤1即可解决。完成后,建议验证安装:在PowerShell运行 `wsl -l -v` 查看Ubuntu状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值