<commit_before>.. _windows:

Windows
#######

Making Bugzilla work on Windows is more difficult than making it work on Unix,
fewer Bugzilla developers use it and so it's less well supported. We would
particularly recommend against doing it for a large site. However, if
you are still determined to go ahead, here's how.

.. windows-install-perl:

ActiveState Perl
================

ActiveState make a popular distribution of Perl for Windows.

Download the ActiveState Perl 5.12.4 or higher MSI installer from the
`ActiveState website <http://www.activestate.com/activeperl/downloads>`_.

ActiveState Perl uses a standard Windows Installer. Install, sticking with
the defaults, which will install Perl into :file:`C:\\Perl`. It is not
recommended to install Perl into a directory containing a space, such as
:file:`C:\\Program Files`.

Once the install has completed, log out and log in again to pick up the
changes to the ``PATH`` environment variable.

.. _windows-install-bzfiles:

Bugzilla
========

The best way to get Bugzilla is to check it out from git. Download and install
git from the `git website <http://git-scm.com/download>`_, and then run:

:command:`git clone --branch bugzilla-X.X-stable https://git.mozilla.org/bugzilla/bugzilla C:\\bugzilla`

where "X.X" is the 2-digit version number of the stable release of Bugzilla
that you want (e.g. 4.4).

The rest of this documentation assumes you have installed Bugzilla into
:file:`C:\\bugzilla`. Adjust paths appropriately if not.

If it's not possible to use git (e.g. because your Bugzilla machine has no
internet access), you can
`download a tarball of Bugzilla <http://www.bugzilla.org/download/>`_ and
copy it across. Bugzilla comes as a 'tarball' (:file:`.tar.gz` extension),
which any competent Windows archiving tool should be able to open.

.. windows-install-perl-modules:

Perl Modules
============

Bugzilla requires a number of perl modules to be installed. They are
available in the ActiveState repository, and are installed with the
:file:`ppm` tool. You can either use it on the command line, as below,
or just type :command:`ppm`, and you will get a GUI.

If you use a proxy server or a firewall you may have trouble running PPM.
This is covered in the
`ActivePerl FAQ <http://aspn.activestate.com/ASPN/docs/ActivePerl/faq/ActivePerl-faq2.html#ppm_and_proxies>`_.

Install the following modules with:

:command:`ppm install <modulename>`

* CGI.pm
* Digest-SHA
* TimeDate
* DateTime
* DateTime-TimeZone
* DBI
* Template-Toolkit
* Email-Sender
* Email-MIME
* URI
* List-MoreUtils
* Math-Random-ISAAC
* File-Slurp
* JSON-XS
* Win32
* Win32-API

The following modules enable various optional Bugzilla features; try and
install them, but don't worry too much to begin with if you can't get them
installed:

* GD
* Chart
* Template-GD
* GDTextUtil
* GDGraph
* MIME-tools
* libwww-perl
* XML-Twig
* PatchReader
* perl-ldap
* Authen-SASL
* Net-SMTP-SSL
* RadiusPerl
* SOAP-Lite
* XMLRPC-Lite
* JSON-RPC
* Test-Taint
* HTML-Parser
* HTML-Scrubber
* Encode
* Encode-Detect
* Email-Reply
* HTML-FormatText-WithLinks
* TheSchwartz
* Daemon-Generic
* mod_perl
* Apache-SizeLimit
* File-MimeInfo
* IO-stringy
* Cache-Memcached
* Text-Markdown
* File-Copy-Recursive<commit_msg>Remove references to Markdown<commit_after>.. _windows:

Windows
#######

Making Bugzilla work on Windows is more difficult than making it work on Unix,
fewer Bugzilla developers use it and so it's less well supported. We would
particularly recommend against doing it for a large site. However, if
you are still determined to go ahead, here's how.

.. windows-install-perl:

ActiveState Perl
================

ActiveState make a popular distribution of Perl for Windows.

Download the ActiveState Perl 5.12.4 or higher MSI installer from the
`ActiveState website <http://www.activestate.com/activeperl/downloads>`_.

ActiveState Perl uses a standard Windows Installer. Install, sticking with
the defaults, which will install Perl into :file:`C:\\Perl`. It is not
recommended to install Perl into a directory containing a space, such as
:file:`C:\\Program Files`.

Once the install has completed, log out and log in again to pick up the
changes to the ``PATH`` environment variable.

.. _windows-install-bzfiles:

Bugzilla
========

The best way to get Bugzilla is to check it out from git. Download and install
git from the `git website <http://git-scm.com/download>`_, and then run:

:command:`git clone --branch bugzilla-X.X-stable https://git.mozilla.org/bugzilla/bugzilla C:\\bugzilla`

where "X.X" is the 2-digit version number of the stable release of Bugzilla
that you want (e.g. 4.4).

The rest of this documentation assumes you have installed Bugzilla into
:file:`C:\\bugzilla`. Adjust paths appropriately if not.

If it's not possible to use git (e.g. because your Bugzilla machine has no
internet access), you can
`download a tarball of Bugzilla <http://www.bugzilla.org/download/>`_ and
copy it across. Bugzilla comes as a 'tarball' (:file:`.tar.gz` extension),
which any competent Windows archiving tool should be able to open.

.. windows-install-perl-modules:

Perl Modules
============

Bugzilla requires a number of perl modules to be installed. They are
available in the ActiveState repository, and are installed with the
:file:`ppm` tool. You can either use it on the command line, as below,
or just type :command:`ppm`, and you will get a GUI.

If you use a proxy server or a firewall you may have trouble running PPM.
This is covered in the
`ActivePerl FAQ <http://aspn.activestate.com/ASPN/docs/ActivePerl/faq/ActivePerl-faq2.html#ppm_and_proxies>`_.

Install the following modules with:

:command:`ppm install <modulename>`

* CGI.pm
* Digest-SHA
* TimeDate
* DateTime
* DateTime-TimeZone
* DBI
* Template-Toolkit
* Email-Sender
* Email-MIME
* URI
* List-MoreUtils
* Math-Random-ISAAC
* File-Slurp
* JSON-XS
* Win32
* Win32-API

The following modules enable various optional Bugzilla features; try and
install them, but don't worry too much to begin with if you can't get them
installed:

* GD
* Chart
* Template-GD
* GDTextUtil
* GDGraph
* MIME-tools
* libwww-perl
* XML-Twig
* PatchReader
* perl-ldap
* Authen-SASL
* Net-SMTP-SSL
* RadiusPerl
* SOAP-Lite
* XMLRPC-Lite
* JSON-RPC
* Test-Taint
* HTML-Parser
* HTML-Scrubber
* Encode
* Encode-Detect
* Email-Reply
* HTML-FormatText-WithLinks
* TheSchwartz
* Daemon-Generic
* mod_perl
* Apache-SizeLimit
* File-MimeInfo
* IO-stringy
* Cache-Memcached
* File-Copy-Recursive
{'fraction_non_alphanumeric': 0.10049321824907521, 'fraction_numerical': 0.0036991368680641184, 'mean_word_length': 4.331963845521775, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4872308', 'n_tokens_mistral': 2111, 'n_tokens_neox': 1970, 'n_words': 799}