- Apache on Windows
- *****************
- Bugzilla supports all versions of Apache 2.2.x and 2.4.x.
- Installing
- ==========
- Download the Apache HTTP Server as a ".zip" archive either from the
- Apache Lounge website or from the Apache Haus website.
- Unzip the archive into "C:\Apache24". If you move it elsewhere, then
- you must edit several variables in "httpd.conf", including
- "ServerRoot" and "DocumentRoot".
- You must now edit the Apache configuration file
- "C:\Apache24\conf\httpd.conf" and do the following steps:
- 1. Uncomment "LoadModule cgi_module modules/mod_cgi.so" at the
- beginning of the file to enable CGI support.
- 2. Uncomment "AddHandler cgi-script .cgi" to register ".cgi" files
- as CGI scripts. For this handler to work, you must create a key in
- the Windows registry named
- "HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command" with the default
- value pointing to the full path of "perl.exe" with a "-T"
- parameter. For example "C:\Perl\bin\perl.exe -T" if you use
- ActivePerl, or "C:\Strawberry\perl\bin\perl.exe -T" if you use
- Strawberry Perl.
- 3. Add an Alias and a Directory for Bugzilla:
- Alias "/bugzilla/" "C:/bugzilla/"
- <Directory "C:/bugzilla">
- ScriptInterpreterSource Registry-Strict
- Options +ExecCGI +FollowSymLinks
- DirectoryIndex index.cgi index.html
- AllowOverride All
- Require all granted
- </Directory>
- Warning: The above block takes a simple approach to access control
- and is correct for Apache 2.4. For Apache 2.2, replace "Require all
- granted" with "Allow from all". If you have other access control
- requirements, you may need to make further modifications.
- You now save your changes and start Apache as a service. From the
- Windows command line ("cmd.exe"):
- **C:\Apache24\bin>httpd.exe -k install**
- That's it! Bugzilla is now accessible from http://localhost/bugzilla.
- Apache Account Permissions
- ==========================
- 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 new Windows user that is a member of **no**
- groups, and reconfigure the Apache2 service to run as that account.
- Whichever account you are running Apache as, SYSTEM or otherwise,
- needs write and modify access to the following directories and all
- their subdirectories. Depending on your version of Windows, this
- access may already be granted.
- * "C:\Bugzilla\data"
- * "C:\Apache24\logs"
- * "C:\Windows\Temp"
- Note that "C:\Bugzilla\data" is created the first time you run
- "checksetup.pl".
- 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 in the Apache config file.
- If you don't disable logging, you should at least disable logging of
- "query strings". When external systems interact with Bugzilla via
- webservices (REST/XMLRPC/JSONRPC) they include the user's credentials
- as part of the URL (in the query string). Therefore, to avoid storing
- passwords in clear text on the server we recommend configuring Apache
- to not include the query string in its log files.
- 1. Find the following line in the Apache config file, which defines
- the logging format for "vhost_combined":
- LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
- 2. Replace "%r" with "%m %U".
- (If you have configured Apache differently, a different log line might
- apply. Adjust these instructions accordingly.)
- Using Apache with SSL
- =====================
- If you want to enable SSL with Apache, i.e. access Bugzilla from
- https://localhost/bugzilla, you need to do some extra steps:
- 1. Edit "C:\Apache24\conf\httpd.conf" and uncomment these lines:
- * "LoadModule ssl_module modules/mod_ssl.so"
- * "LoadModule socache_shmcb_module modules/mod_socache_shmcb.so"
- * "Include conf/extra/httpd-ssl.conf"
- 2. Create your ".key" and ".crt" files using "openssl.exe" provided
- with Apache:
- **C:\Apache24\bin>openssl.exe req -x509 -nodes -days 730 -newkey
- rsa:2048 -keyout server.key -out server.crt**
- "openssl.exe" will ask you a few questions about your location and
- your company name to populate fields of the certificate.
- 3. Once the key and the certificate for your server are generated,
- move them into "C:\Apache24\conf" so that their location matches
- the "SSLCertificateFile" and "SSLCertificateKeyFile" variables
- defined in "C:\Apache24\conf\extra\httpd-ssl.conf" (which you don't
- need to edit).
- Note: This process leads to a self-signed certificate which will
- generate browser warnings on first visit. If your Bugzilla has a
- public DNS name, you can get a cert from a CA which will not have
- this problem.
- Restart Apache
- ==============
- Finally, restart Apache to pick up the changes, either from the
- Services console or from the command line:
- **C:\Apache24\bin>httpd.exe -k restart**
- ======================================================================
- This documentation undoubtedly has bugs; if you find some, please file
- them here.
Raw Paste