You have two options for running Bugzilla under Apache - mod_cgi (the default) and mod_perl. mod_perl is faster but takes more resources. You should probably only consider mod_perl if your Bugzilla is going to be heavily used.
These instructions require editing the Apache configuration file, which is:
Alternatively, on Debian or Ubuntu, you can instead put the below code into a separate file in the directory /etc/apache2/sites-enabled/.
In these instructions, when asked to restart Apache, the command is:
sudo apachectl start
(or run it as root if your OS installation does not use sudo).
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.
Edit the Apache configuration file (see above).
Find the following line in the above mentioned 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
Replace %r with %m %U.
Restart Apache.
To configure your Apache web server to work with Bugzilla while using mod_cgi, do the following:
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi index.html
AllowOverride Limit FileInfo Indexes Options
</Directory>
These instructions allow Apache to run .cgi files found within the Bugzilla directory; instructs the server to look for a file called index.cgi or, if not found, index.html if someone only types the directory name into the browser; and allows Bugzilla's .htaccess files to override some global permissions.
Some configuration is required to make Bugzilla work with Apache and mod_perl.
Note
It is not known whether anyone has even tried mod_perl on Mac OS X.
Edit the Apache configuration file (see above).
Add the following information, substituting where appropriate with your own local paths.
PerlSwitches -w -T
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Note
This should be used instead of the <Directory> block shown above. This should also be above any other mod_perl directives within the httpd.conf and the directives must be specified in the order above.
Warning
You should also ensure that you have disabled KeepAlive support in your Apache install when utilizing Bugzilla under mod_perl or you may suffer a performance penalty.
On restarting Apache, Bugzilla should now be running within the mod_perl environment.
Please bear the following points in mind when considering using Bugzilla under mod_perl:
This documentation undoubtedly has bugs; if you find some, please file them here.