<HTML
><HEAD
><TITLE
>Installation General Notes</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Installation"
HREF="installation.html"><LINK
REL="PREVIOUS"
TITLE="BSD Installation Notes"
HREF="bsdinstall.html"><LINK
REL="NEXT"
TITLE="Win32 Installation Notes"
HREF="win32.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bsdinstall.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Installation</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="win32.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="geninstall">3.5. Installation General Notes</H1
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN874">3.5.1. Modifying Your Running System</H2
><P
>&#13;	Bugzilla optimizes database lookups by storing all relatively static
	information in the versioncache file, located in the data/ subdirectory
	under your installation directory.
      </P
><P
>&#13;	If you make a change to the structural data in your database
	(the versions table for example), or to the
	<SPAN
CLASS="QUOTE"
>"constants"</SPAN
> encoded in defparams.pl, you will
	need to remove the cached content from the data directory
	(by doing a <SPAN
CLASS="QUOTE"
>"rm data/versioncache"</SPAN
>), or your
	changes won't show up.
      </P
><P
>&#13;	That file gets automatically regenerated whenever it's more than an
	hour old, so Bugzilla will eventually notice your changes by itself, but
	generally you want it to notice right away, so that you can test things.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN881">3.5.2. Upgrading From Previous Versions</H2
><P
>&#13;  A plain Bugzilla is fairly easy to upgrade from one version to a newer one.
  However, things get a bit more complicated if you've made changes to 
  Bugzilla's code. In this case, you may have to re-make or reapply those
  changes.
  It is recommended that you take a backup of your database and your entire
  Bugzilla installation before attempting an upgrade. You can upgrade a 'clean'
  installation by untarring a new tarball over the old installation. If you
  are upgrading from 2.12 or later, you can type <TT
CLASS="filename"
>cvs -z3 
  update</TT
>, and resolve conflicts if there are any.   
      </P
><P
>&#13;	Because the developers of Bugzilla are constantly adding new tables, columns
  and fields, you'll probably get SQL errors if you just update the code and
  attempt to use Bugzilla. Always run the checksetup.pl script whenever
	you upgrade your installation. 
      </P
><P
>&#13;	If you are running Bugzilla version 2.8 or lower, and wish to upgrade to
	the latest version, please consult the file, "UPGRADING-pre-2.8" in the
	Bugzilla root directory after untarring the archive.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="htaccess">3.5.3. <TT
CLASS="filename"
>.htaccess</TT
> files and security</H2
><P
>&#13;	To enhance the security of your Bugzilla installation,
	Bugzilla  will generate
	<I
CLASS="glossterm"
><TT
CLASS="filename"
>.htaccess</TT
></I
> files
	which the Apache webserver can use to restrict  access to
	the bugzilla data files. The checksetup script  will
	generate the <TT
CLASS="filename"
>.htaccess</TT
> files. These .htaccess files
  will not work with Apache 1.2.x - but this has security holes, so you
  shouldn't be using it anyway.
	
	<DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;	    If you are using an alternate provider of
	    <SPAN
CLASS="productname"
>webdot</SPAN
> services for graphing
	    (as described when viewing
	    <TT
CLASS="filename"
>editparams.cgi</TT
> in your web
	    browser), you will need to change  the ip address in
	    <TT
CLASS="filename"
>data/webdot/.htaccess</TT
> to the ip
	    address of the webdot server that  you are using. 
	  </P
></TD
></TR
></TABLE
></DIV
>
	
      </P
><P
>&#13;	The default .htaccess file may not provide adequate access
	restrictions, depending on your web server configuration.
	Be sure to check the &#60;Directory&#62; entries for your
	Bugzilla directory so that the <TT
CLASS="filename"
>.htaccess</TT
>
	file is allowed to override web server defaults.  For instance,
	let's assume your installation of Bugzilla is installed to 
	<TT
CLASS="filename"
>/usr/local/bugzilla</TT
>.  You should have
	this &#60;Directory&#62; entry in your <TT
CLASS="filename"
>httpd.conf</TT
>
	file:
      </P
><P
>&#13;	<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;
&#60;Directory /usr/local/bugzilla/&#62;
  Options +FollowSymLinks +Indexes +Includes +ExecCGI
  AllowOverride All
&#60;/Directory&#62;

	</PRE
></FONT
></TD
></TR
></TABLE
>
      </P
><P
>&#13;	The important part above is <SPAN
CLASS="QUOTE"
>"AllowOverride All"</SPAN
>.
	Without that, the <TT
CLASS="filename"
>.htaccess</TT
> file created by 
	<TT
CLASS="filename"
>checksetup.pl</TT
> will not have sufficient
	permissions to protect your Bugzilla installation.
      </P
><P
>&#13;	If you are using Internet Information Server or other web
	server which does not observe <TT
CLASS="filename"
>.htaccess</TT
>
	conventions, you can disable their creation by editing
	<TT
CLASS="filename"
>localconfig</TT
> and setting the
	<TT
CLASS="varname"
>$create_htaccess</TT
> variable to
	<TT
CLASS="parameter"
><I
>0</I
></TT
>.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="mod-throttle">3.5.4. <TT
CLASS="filename"
>mod_throttle</TT
> and Security</H2
><P
>&#13;	It is possible for a user, by mistake or on purpose, to access
	the database many times in a row which can result in very slow
	access speeds for other users.  If your Bugzilla installation
	is experiencing this problem , you may install  the Apache
	module <TT
CLASS="filename"
>mod_throttle</TT
> which can limit
	connections by ip-address. You may download this module at
	<A
HREF="http://www.snert.com/Software/Throttle/"
TARGET="_top"
>http://www.snert.com/Software/Throttle/</A
>. Follow the instructions to install into your Apache install.  <EM
>This module only functions with the Apache web server!</EM
>. You may use the <B
CLASS="command"
>ThrottleClientIP</B
> command provided by this module  to accomplish this goal. See the <A
HREF="http://www.snert.com/Software/Throttle/"
TARGET="_top"
>Module Instructions</A
> for more  information. </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="content-type">3.5.5. Preventing untrusted Bugzilla content from executing malicious Javascript code</H2
><P
>It is possible for a Bugzilla to execute malicious
	Javascript code.  Due to internationalization concerns, we are
	unable to incorporate the code changes necessary to fulfill
	the CERT advisory requirements mentioned in <A
HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3"
TARGET="_top"
>http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>.  Executing the following code snippet from a UNIX command shell will rectify the problem if your Bugzilla installation is intended for an English-speaking audience.  As always, be sure your Bugzilla installation has a good backup before making changes, and I recommend you understand what the script is doing before executing it. </P
><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
	  do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html\; charset=ISO-8859-1/' &#62;$i.tmp; \
	  mv $i.tmp $i; done
	</PRE
></FONT
></TD
></TR
></TABLE
></P
><P
>&#13;	All this one-liner command does is search for all instances of
	<SPAN
CLASS="QUOTE"
>"Content-type: text/html"</SPAN
> and replaces it with
	<SPAN
CLASS="QUOTE"
>"Content-Type: text/html; charset=ISO-8859-1"</SPAN
>.
	This specification prevents possible Javascript attacks on the
	browser, and is suggested for all English-speaking sites.  For
	non-english-speaking Bugzilla sites, I suggest changing
	<SPAN
CLASS="QUOTE"
>"ISO-8859-1"</SPAN
>, above, to <SPAN
CLASS="QUOTE"
>"UTF-8"</SPAN
>.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="unixhistory">3.5.6. UNIX Installation Instructions History</H2
><P
>&#13;	This document was originally adapted from the Bonsai
	installation instructions by Terry Weissman
	&#60;terry@mozilla.org&#62;.
      </P
><P
>&#13;	The February 25, 1999 re-write of this page was done by Ry4an
	Brase &#60;ry4an@ry4an.org&#62;, with some edits by Terry
	Weissman, Bryce Nesbitt, Martin Pool, &#38; Dan Mosedale (But
	don't send bug reports to them; report them using bugzilla, at <A
HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
TARGET="_top"
>http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla</A
> ).
      </P
><P
>&#13;	This document was heavily modified again Wednesday, March 07
	2001 to reflect changes for Bugzilla 2.12 release by Matthew
	P. Barnson.  The securing MySQL section should be changed to
	become standard procedure for Bugzilla installations.
      </P
><P
>&#13;	Finally, the README in its entirety was marked up in SGML and
	included into the Guide on April 24, 2001 by Matt Barnson.
	Since that time, it's undergone extensive modification as
	Bugzilla grew.
      </P
><P
>&#13;	Comments from people using this Guide for the first time are
	particularly welcome.
      </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bsdinstall.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="win32.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>BSD Installation Notes</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Win32 Installation Notes</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>