From 27c43ebfb22c6a6cff0f8e74706d52bae71d57ad Mon Sep 17 00:00:00 2001 From: "mozilla%colinogilvie.co.uk" <> Date: Mon, 9 Oct 2006 01:41:45 +0000 Subject: Bug 343336: Document how to set up Apache for mod_perl Patch by Colin Ogilvie ; r=mkanat --- docs/xml/installation.xml | 308 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 216 insertions(+), 92 deletions(-) (limited to 'docs') diff --git a/docs/xml/installation.xml b/docs/xml/installation.xml index 8deeeb24d..4461140d8 100644 --- a/docs/xml/installation.xml +++ b/docs/xml/installation.xml @@ -1,5 +1,5 @@ - + Installing Bugzilla @@ -287,7 +287,7 @@ - CGI (&min-cgi-ver;) + CGI &min-cgi-ver; or CGI &min-mp-cgi-ver; if using mod_perl @@ -567,7 +567,23 @@ - +
+ Installing Bugzilla on mod_perl + It is now possible to run the Bugzilla software under mod_perl on + Apache. mod_perl has some additional requirements to that of running + Bugzilla under mod_cgi (the standard and previous way). + + Bugzilla requires mod_perl to be installed, which can be + obtained from - Bugzilla requires + version &min-mp-mod_perl2-ver; (AKA 2.0.0-RC5) to be installed. + + Bugzilla also requires a more up-to-date version of the CGI + perl module to be installed, version &min-mp-cgi-ver; as opposed to &min-cgi-ver; + + + Finally, Bugzilla also requires Apache::DBI + (&min-mp-apache-dbi-ver;) to be installed as well. +
@@ -638,7 +654,7 @@
Database Server This section deals with configuring your database server for use - with Bugzilla. Currently and + with Bugzilla. Currently and are available.
@@ -874,100 +890,208 @@
- Apache <productname>httpd</productname> - - - To configure your Apache web server to work with Bugzilla, - do the following: + Bugzilla using Apache + You have two options for running Bugzilla under Apache - + mod_cgi (the default) and + mod_perl (new in Bugzilla + 2.23) - - - - - Load httpd.conf in your editor. - In Fedora and Red Hat Linux, this file is found in - /etc/httpd/conf. - - - - - - Apache uses <Directory> - directives to permit fine-grained permission setting. Add the - following lines to a directive that applies to the location - of your Bugzilla installation. (If such a section does not - exist, you'll want to add one.) In this example, Bugzilla has - been installed at - /var/www/html/bugzilla. - - - -<Directory /var/www/html/bugzilla> - AddHandler cgi-script .cgi - Options +Indexes +ExecCGI - DirectoryIndex index.cgi - AllowOverride Limit -</Directory> - - +
+ Apache <productname>httpd</productname> with mod_cgi + - These instructions: allow apache to run .cgi files found - within the bugzilla directory; instructs the server to look - for a file called index.cgi if someone - only types the directory name into the browser; and allows - Bugzilla's .htaccess files to override - global permissions. + To configure your Apache web server to work with Bugzilla while using + mod_cgi, do the following: - + + + + + Load httpd.conf in your editor. + In Fedora and Red Hat Linux, this file is found in + /etc/httpd/conf. + + + + + + Apache uses <Directory> + directives to permit fine-grained permission setting. Add the + following lines to a directive that applies to the location + of your Bugzilla installation. (If such a section does not + exist, you'll want to add one.) In this example, Bugzilla has + been installed at + /var/www/html/bugzilla. + + + + <Directory /var/www/html/bugzilla> + AddHandler cgi-script .cgi + Options +Indexes +ExecCGI + DirectoryIndex index.cgi + AllowOverride Limit + </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 if someone + only types the directory name into the browser; and allows + Bugzilla's .htaccess files to override + global permissions. + + + + + It is possible to make these changes globally, or to the + directive controlling Bugzilla's parent directory (e.g. + <Directory /var/www/html/>). + Such changes would also apply to the Bugzilla directory... + but they would also apply to many other places where they + may or may not be appropriate. In most cases, including + this one, it is better to be as restrictive as possible + when granting extra access. + + + + + + + checksetup.pl can set tighter permissions + on Bugzilla's files and directories if it knows what group the + webserver runs as. Find the Group + line in httpd.conf, place the value found + there in the $webservergroup variable + in localconfig, then rerun + checksetup.pl. + + + + + + Optional: If Bugzilla does not actually reside in the webspace + directory, but instead has been symbolically linked there, you + will need to add the following to the + Options line of the Bugzilla + <Directory> directive + (the same one as in the step above): + + + + +FollowSymLinks + + + + Without this directive, Apache will not follow symbolic links + to places outside its own directory structure, and you will be + unable to run Bugzilla. + + + +
+
+ Apache <productname>httpd</productname> with mod_perl + + Some configuration is required to make Bugzilla work with Apache + and mod_perl + + + + + Load httpd.conf in your editor. + In Fedora and Red Hat Linux, this file is found in + /etc/httpd/conf. + + + + + Add the following information to your httpd.conf file, substituting + where appropriate with your own local paths. + + + 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 must be specified + in the order as below. + + + You should also ensure that you have disabled KeepAlive + support in your Apache install when utilizing Bugzilla under mod_perl + + + + PerlSwitches -I/var/www/html/bugzilla -w -T + PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl + + + + + + checksetup.pl can set tighter permissions + on Bugzilla's files and directories if it knows what group the + webserver runs as. Find the Group + line in httpd.conf, place the value found + there in the $webservergroup variable + in localconfig, then rerun + checksetup.pl. + + + + + On restarting Apache, Bugzilla should now be running within the + mod_perl environment. Please ensure you have run checksetup.pl to set + permissions before you restart Apache. + - - It is possible to make these changes globally, or to the - directive controlling Bugzilla's parent directory (e.g. - <Directory /var/www/html/>). - Such changes would also apply to the Bugzilla directory... - but they would also apply to many other places where they - may or may not be appropriate. In most cases, including - this one, it is better to be as restrictive as possible - when granting extra access. - - - - - - - checksetup.pl can set tighter permissions - on Bugzilla's files and directories if it knows what group the - webserver runs as. Find the Group - line in httpd.conf, place the value found - there in the $webservergroup variable - in localconfig, then rerun - checksetup.pl. + Please bear the following points in mind when looking at using + Bugzilla under mod_perl: + + + + mod_perl support in Bugzilla can take up a HUGE amount of RAM. You could be + lookng at 30MB per httpd child, easily. Basically, you just need a lot of RAM. + The more RAM you can get, the better. mod_perl is basically trading RAM for + speed. At least 2GB total system RAM is recommended for running Bugzilla under + mod_perl. + + + + + Under mod_perl, you have to restart Apache if you make any manual change to + any Bugzilla file. You can't just reload--you have to actually + restart the server (as in make sure it stops and starts + again). You can change localconfig and the params file + manually, if you want, because those are re-read every time you load a page. + + + + + You must run in Apache's Prefork MPM (this is the default). The Worker MPM + may not work--we haven't tested Bugzilla's mod_perl support under threads. + (And, in fact, we're fairly sure it won't work.) + + + + + Bugzilla generally expects to be the only mod_perl application running on + your entire server. It may or may not work if there are other applications also + running under mod_perl. It does try its best to play nice with other mod_perl + applications, but it still may have conflicts. + + + + + It is recommended that you have one Bugzilla instance running under mod_perl + on your server. Bugzilla has not been tested with more than one instance running. + + + - - - - - Optional: If Bugzilla does not actually reside in the webspace - directory, but instead has been symbolically linked there, you - will need to add the following to the - Options line of the Bugzilla - <Directory> directive - (the same one as in the step above): - - - - +FollowSymLinks - - - - Without this directive, Apache will not follow symbolic links - to places outside its own directory structure, and you will be - unable to run Bugzilla. - - - + +
- +
Microsoft <productname>Internet Information Services</productname> -- cgit v1.2.3-24-g4f1b