diff options
Diffstat (limited to 'docs/html/stepbystep.html')
-rw-r--r-- | docs/html/stepbystep.html | 984 |
1 files changed, 674 insertions, 310 deletions
diff --git a/docs/html/stepbystep.html b/docs/html/stepbystep.html index 4cbac778a..60e0ec84e 100644 --- a/docs/html/stepbystep.html +++ b/docs/html/stepbystep.html @@ -78,7 +78,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN478" +NAME="AEN486" >3.2.1. Introduction</A ></H2 ><P @@ -109,7 +109,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN484" +NAME="AEN492" >3.2.2. Installing the Prerequisites</A ></H2 ><DIV @@ -248,6 +248,111 @@ VALIGN="TOP" ></TABLE ></DIV > + <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 +>Linux-Mandrake 8.0, the author's test system, includes + every required and optional library for Bugzilla. The + easiest way to install them is by using the + <TT +CLASS="FILENAME" +>urpmi</TT +> utility. If you follow these + commands, you should have everything you need for + Bugzilla, and <TT +CLASS="FILENAME" +>checksetup.pl</TT +> should + not complain about any missing libraries. You may already + have some of these installed.</P +><P +></P +><TABLE +BORDER="0" +><TBODY +><TR +><TD +><TT +CLASS="PROMPT" +>bash#</TT +><B +CLASS="COMMAND" +> urpmi + perl-mysql</B +></TD +></TR +><TR +><TD +><TT +CLASS="PROMPT" +>bash#</TT +><B +CLASS="COMMAND" +> urpmi + perl-chart</B +></TD +></TR +><TR +><TD +><TT +CLASS="PROMPT" +>bash#</TT +><B +CLASS="COMMAND" +> urpmi + perl-gd</B +></TD +></TR +><TR +><TD +><TT +CLASS="PROMPT" +>bash#</TT +><B +CLASS="COMMAND" +> urpmi + perl-MailTools</B +> (for Bugzilla email + integration)</TD +></TR +><TR +><TD +><TT +CLASS="PROMPT" +>bash#</TT +><B +CLASS="COMMAND" +> urpmi + apache-modules</B +></TD +></TR +></TBODY +></TABLE +><P +></P +></TD +></TR +></TABLE +></DIV +> </P ></DIV @@ -260,26 +365,79 @@ NAME="INSTALL-MYSQL" >3.2.3. Installing MySQL Database</A ></H2 ><P -> Visit MySQL homepage at http://www.mysql.com/ and grab the - latest stable release of the server. Both binaries and source - are available and which you get shouldn't matter. Be aware - that many of the binary versions of MySQL store their data - files in /var which on many installations (particularly common - with linux installations) is part of a smaller root partition. - If you decide to build from sources you can easily set the - dataDir as an option to configure. +> Visit MySQL homepage at <A +HREF="http://www.mysql.com" +TARGET="_top" +>www.mysql.com</A +> and grab the latest stable release of the server. Many of the binary versions of MySQL store their data files in <TT +CLASS="FILENAME" +>/var</TT +> which is often part of a smaller root partition. If you decide to build from sources you can easily set the dataDir as an option to <TT +CLASS="FILENAME" +>configure</TT +>. </P ><P -> If you've installed from source or non-package (RPM, deb, - etc.) binaries you'll want to make sure to add mysqld to your +> If you install from source or non-package (RPM, deb, etc.) + binaries you need to add + <I +CLASS="FIRSTTERM" +>mysqld</I +> to your init scripts so the server daemon will come back up whenever - your machine reboots. You also may want to edit those init - scripts, to make sure that mysqld will accept large packets. - By default, mysqld is set up to only accept packets up to 64K - long. This limits the size of attachments you may put on - bugs. If you add something like "-O max_allowed_packet=1M" to - the command that starts mysqld (or safe_mysqld), then you will - be able to have attachments up to about 1 megabyte. + your machine reboots. Further discussion of UNIX init + sequences are beyond the scope of this guide. + <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 +>You should have your init script start + <I +CLASS="GLOSSTERM" +>mysqld</I +> with the ability to accept + large packets. By default, <TT +CLASS="FILENAME" +>mysqld</TT +> + only accepts packets up to 64K long. This limits the size + of attachments you may put on bugs. If you add <TT +CLASS="OPTION" +>-O + max_allowed_packet=1M</TT +> to the command that starts + <TT +CLASS="FILENAME" +>mysqld</TT +> (or + <TT +CLASS="FILENAME" +>safe_mysqld</TT +>), then you will be able + to have attachments up to about 1 megabyte.</P +></TD +></TR +></TABLE +></DIV +> + </P ><DIV CLASS="NOTE" @@ -303,9 +461,12 @@ ALIGN="LEFT" VALIGN="TOP" ><P > If you plan on running Bugzilla and MySQL on the same - machine, consider using the "--skip-networking" option in - the init script. This enhances security by preventing - network access to MySQL. + machine, consider using the <TT +CLASS="OPTION" +>--skip-networking</TT +> + option in the init script. This enhances security by + preventing network access to MySQL. </P ></TD ></TR @@ -406,9 +567,19 @@ ALIGN="LEFT" VALIGN="TOP" ><P > You can skip the following Perl module installation steps by - installing "Bundle::Bugzilla" from CPAN, which includes - them. All Perl module installation steps require you have an - active Internet connection. If you wish to use + installing <SPAN +CLASS="PRODUCTNAME" +>Bundle::Bugzilla</SPAN +> from + <A +HREF="glossary.html#GLOSS_CPAN" +><I +CLASS="GLOSSTERM" +>CPAN</I +></A +>, which + includes them. All Perl module installation steps require + you have an active Internet connection. If you wish to use Bundle::Bugzilla, however, you must be using the latest version of Perl (at this writing, version 5.6.1) </P @@ -442,7 +613,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN537" +NAME="AEN579" >3.2.5. DBI Perl Module</A ></H2 ><P @@ -456,7 +627,10 @@ NAME="AEN537" > Like almost all Perl modules DBI can be found on the Comprehensive Perl Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a real tendency to bog down, so please use mirrors. The current location - at the time of this writing (02/17/99) can be found in Appendix A. + at the time of this writing can be found in <A +HREF="downloadlinks.html" +>Appendix B</A +>. </P ><P > Quality, general Perl module installation instructions can be found on @@ -468,7 +642,7 @@ NAME="AEN537" <DIV CLASS="INFORMALEXAMPLE" ><A -NAME="AEN543" +NAME="AEN586" ></A ><P ></P @@ -522,7 +696,7 @@ VALIGN="TOP" <DIV CLASS="INFORMALEXAMPLE" ><A -NAME="AEN550" +NAME="AEN593" ></A ><P ></P @@ -615,7 +789,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN574" +NAME="AEN617" >3.2.6. Data::Dumper Perl Module</A ></H2 ><P @@ -625,9 +799,14 @@ NAME="AEN574" hurt anything. </P ><P -> Data::Dumper is used by the MySQL-related Perl modules. It can be - found on CPAN (link in Appendix A) and can be installed by following - the same four step make sequence used for the DBI module. +> Data::Dumper is used by the MySQL-related Perl modules. It + can be found on CPAN (see <A +HREF="downloadlinks.html" +>Appendix B</A +>) and + can be + installed by following the same four step make sequence used + for the DBI module. </P ></DIV ><DIV @@ -635,7 +814,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN578" +NAME="AEN622" >3.2.7. MySQL related Perl Module Collection</A ></H2 ><P @@ -681,18 +860,21 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN587" +NAME="AEN631" >3.2.8. TimeDate Perl Module Collection</A ></H2 ><P -> Many of the more common date/time/calendar related Perl modules have - been grouped into a bundle similar to the MySQL modules bundle. This - bundle is stored on the CPAN under the name TimeDate. A link - link may be found in Appendix B, Software Download Links. - The component module we're - most interested in is the Date::Format module, but installing all of them - is probably a good idea anyway. The standard Perl module installation - instructions should work perfectly for this simple package. +> Many of the more common date/time/calendar related Perl + modules have been grouped into a bundle similar to the MySQL + modules bundle. This bundle is stored on the CPAN under the + name TimeDate (see link: <A +HREF="downloadlinks.html" +>Appendix B</A +>). The + component module we're most interested in is the Date::Format + module, but installing all of them is probably a good idea + anyway. The standard Perl module installation instructions + should work perfectly for this simple package. </P ></DIV ><DIV @@ -700,21 +882,26 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN590" +NAME="AEN635" >3.2.9. GD Perl Module (1.8.3)</A ></H2 ><P -> The GD library was written by Thomas Boutell a long while ago to - programatically generate images in C. Since then it's become almost a - defacto standard for programatic image construction. The Perl bindings - to it found in the GD library are used on a million web pages to generate - graphs on the fly. That's what bugzilla will be using it for so you'd - better install it if you want any of the graphing to work. +> The GD library was written by Thomas Boutell a long while + ago to programatically generate images in C. Since then it's + become the defacto standard for programatic image + construction. The Perl bindings to it found in the GD library + are used on millions of web pages to generate graphs on the + fly. That's what bugzilla will be using it for so you must + install it if you want any of the graphing to work. </P ><P -> Actually bugzilla uses the Graph module which relies on GD itself, - but isn't that always the way with OOP. At any rate, you can find the - GD library on CPAN (link in Appendix B, Software Download Links). +> Actually bugzilla uses the Graph module which relies on GD + itself. Isn't that always the way with object-oriented + programming? At any rate, you can find the GD library on CPAN + in <A +HREF="downloadlinks.html" +>Appendix B</A +>. </P ><DIV CLASS="NOTE" @@ -737,10 +924,19 @@ ALT="Note"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> The Perl GD library requires some other libraries that may or may not be - installed on your system, including "libpng" and "libgd". The full requirements - are listed in the Perl GD library README. Just realize that if compiling GD fails, - it's probably because you're missing a required library. +> The Perl GD library requires some other libraries that may + or may not be installed on your system, including + <TT +CLASS="CLASSNAME" +>libpng</TT +> and + <TT +CLASS="CLASSNAME" +>libgd</TT +>. The full requirements are + listed in the Perl GD library README. Just realize that if + compiling GD fails, it's probably because you're missing a + required library. </P ></TD ></TR @@ -752,19 +948,20 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN596" +NAME="AEN644" >3.2.10. Chart::Base Perl Module (0.99c)</A ></H2 ><P > The Chart module provides bugzilla with on-the-fly charting - abilities. It can be installed in the usual fashion after it has been - fetched from CPAN where it is found as the Chart-x.x... tarball in a - directory to be listed in Appendix B, "Software Download Links". - Note that as with the GD perl - module, only the version listed above, or newer, will work. - Earlier - versions used GIF's, which are no longer supported by the latest - versions of GD. + abilities. It can be installed in the usual fashion after it + has been fetched from CPAN where it is found as the + Chart-x.x... tarball, linked in <A +HREF="downloadlinks.html" +>Appendix B</A +>. Note that + as with the GD perl module, only the version listed above, or + newer, will work. Earlier versions used GIF's, which are no + longer supported by the latest versions of GD. </P ></DIV ><DIV @@ -772,13 +969,15 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN599" +NAME="AEN648" >3.2.11. DB_File Perl Module</A ></H2 ><P -> DB_File is a module which allows Perl programs to make use of the facilities provided by - Berkeley DB version 1.x. This module is required by collectstats.pl which is used for - bug charting. If you plan to make use of bug charting, you must install this module. +> DB_File is a module which allows Perl programs to make use + of the facilities provided by Berkeley DB version 1.x. This + module is required by collectstats.pl which is used for bug + charting. If you plan to make use of bug charting, you must + install this module. </P ></DIV ><DIV @@ -786,40 +985,124 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN602" +NAME="AEN651" >3.2.12. HTTP Server</A ></H2 ><P -> You have a freedom of choice here - Apache, Netscape or any other - server on UNIX would do. You can easily run the web server on a different - machine than MySQL, but need to adjust the MySQL "bugs" user permissions - accordingly. +> You have a freedom of choice here - Apache, Netscape or any + other server on UNIX would do. You can easily run the web + server on a different machine than MySQL, but need to adjust + the MySQL <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> user permissions accordingly. + <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 +>I strongly recommend Apache as the web server to use. + The Bugzilla Guide installation instructions, in general, + assume you are using Apache. As more users use different + webservers and send me information on the peculiarities of + installing using their favorite webserver, I will provide + notes for them.</P +></TD +></TR +></TABLE +></DIV +> </P ><P -> You'll want to make sure that your web server will run any file - with the .cgi extension as a cgi and not just display it. If you're using - apache that means uncommenting the following line in the srm.conf file: - <TT -CLASS="COMPUTEROUTPUT" ->AddHandler cgi-script .cgi</TT +> You'll want to make sure that your web server will run any + file with the .cgi extension as a cgi and not just display it. + If you're using apache that means uncommenting the following + line in the srm.conf file: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><FONT +COLOR="#000000" +><PRE +CLASS="PROGRAMLISTING" +>AddHandler cgi-script .cgi + </PRE +></FONT +></TD +></TR +></TABLE > </P ><P -> With apache you'll also want to make sure that within the access.conf - file the line: - <TT -CLASS="COMPUTEROUTPUT" -> Options ExecCGI - </TT +> With apache you'll also want to make sure that within the + access.conf file the line: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><FONT +COLOR="#000000" +><PRE +CLASS="PROGRAMLISTING" +>Options ExecCGI</PRE +></FONT +></TD +></TR +></TABLE > - is in the stanza that covers the directories you intend to put the bugzilla - .html and .cgi files into. + is in the stanza that covers the directories into which + you intend to put the bugzilla .html and .cgi files. </P +><DIV +CLASS="NOTE" ><P -> If you are using a newer version of Apache, both of the above lines will be - (or will need to be) in the httpd.conf file, rather than srm.conf or - access.conf. +></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 +> Users of newer versions of Apache will generally find both + of the above lines will be in the httpd.conf file, rather + than srm.conf or access.conf. </P +></TD +></TR +></TABLE +></DIV ><DIV CLASS="WARNING" ><P @@ -841,24 +1124,27 @@ ALT="Warning"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> There are two critical directories and a file that should not be a served by - the HTTP server. These are the <SPAN +> There are important files and directories that should not + be a served by the HTTP server. These are most files in the + <SPAN CLASS="QUOTE" >"data"</SPAN > and <SPAN CLASS="QUOTE" >"shadow"</SPAN -> - directories and the - <SPAN +> directories + and the <SPAN CLASS="QUOTE" >"localconfig"</SPAN -> file. You should configure your HTTP server to not serve - content from these files. Failure to do so will expose critical passwords - and other data. Please see <A +> file. You should + configure your HTTP server to not serve content from these + files. Failure to do so will expose critical passwords and + other data. Please see <A HREF="geninstall.html#HTACCESS" >.htaccess files and security</A -> for details. +> for details + on how to do this for Apache. I appreciate notes on how to + get this same functionality using other webservers. </P ></TD ></TR @@ -870,22 +1156,25 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN616" +NAME="AEN669" >3.2.13. Installing the Bugzilla Files</A ></H2 ><P -> You should untar the Bugzilla files into a directory that you're - willing to make writable by the default web server user (probably - <SPAN +> You should untar the Bugzilla files into a directory that + you're willing to make writable by the default web server user + (probably <SPAN CLASS="QUOTE" >"nobody"</SPAN ->). You may decide to put the files off of the main web space - for your web server or perhaps off of /usr/local with a symbolic link - in the web space that points to the bugzilla directory. At any rate, - just dump all the files in the same place (optionally omitting the CVS - directories if they were accidentally tarred up with the rest of Bugzilla) - and make sure you can access the files in that directory through your - web server. +>). You may decide to put the + files off of the main web space for your web server or perhaps + off of <TT +CLASS="FILENAME" +>/usr/local</TT +> with a symbolic link in + the web space that points to the Bugzilla directory. At any + rate, just dump all the files in the same place, and make sure + you can access the files in that directory through your web + server. </P ><DIV CLASS="TIP" @@ -909,55 +1198,79 @@ ALIGN="LEFT" VALIGN="TOP" ><P > If you symlink the bugzilla directory into your Apache's - HTML heirarchy, you may receive "Forbidden" errors unless you - add the "FollowSymLinks" directive to the <Directory> entry - for the HTML root. + HTML heirarchy, you may receive + <SPAN +CLASS="ERRORNAME" +>Forbidden</SPAN +> errors unless you add the + <SPAN +CLASS="QUOTE" +>"FollowSymLinks"</SPAN +> directive to the + <Directory> entry for the HTML root. </P ></TD ></TR ></TABLE ></DIV ><P -> Once all the files are in a web accessible directory, make that - directory writable by your webserver's user (which may require just - making it world writable). This is a temporary step until you run - the post-install <SPAN -CLASS="QUOTE" ->"checksetup.pl"</SPAN +> Once all the files are in a web accessible directory, make + that directory writable by your webserver's user. This is a + temporary step until you run the post-install + <TT +CLASS="FILENAME" +>checksetup.pl</TT > script, which locks down your - installation. - </P + installation. + </P ><P -> Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl - for the correct location of your perl executable (probably /usr/bin/perl). - Otherwise you must hack all the .cgi files to change where they look - for perl. To make future upgrades easier, you should use the symlink - approach. - <DIV +> Lastly, you'll need to set up a symbolic link to + <TT +CLASS="FILENAME" +>/usr/bonsaitools/bin/perl</TT +> for the correct + location of your perl executable (probably + <TT +CLASS="FILENAME" +>/usr/bin/perl</TT +>). Otherwise you must hack + all the .cgi files to change where they look for perl, or use + <A +HREF="setperl.html" +>The setperl.csh Utility</A +>, found in + <A +HREF="patches.html" +>Useful Patches and Utilities for Bugzilla</A +>. I suggest using the symlink + approach for future release compatability. + <DIV CLASS="EXAMPLE" ><A -NAME="AEN625" +NAME="AEN685" ></A ><P ><B >Example 3-1. Setting up bonsaitools symlink</B ></P ><P -> Here's how you set up the Perl symlink on Linux to make Bugzilla work. - Your mileage may vary; if you are running on Solaris, you probably need to subsitute - <SPAN +> Here's how you set up the Perl symlink on Linux to make + Bugzilla work. Your mileage may vary. For some UNIX + operating systems, you probably need to subsitute + <SPAN CLASS="QUOTE" >"/usr/local/bin/perl"</SPAN -> for <SPAN +> for + <SPAN CLASS="QUOTE" >"/usr/bin/perl"</SPAN -> - below; if on certain other UNIX systems, - Perl may live in weird places like <SPAN +> below; if on certain other + UNIX systems, Perl may live in weird places like + <SPAN CLASS="QUOTE" >"/opt/perl"</SPAN >. As root, run these commands: - <TABLE + <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" @@ -967,19 +1280,19 @@ WIDTH="100%" COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" ->bash# mkdir /usr/bonsaitools -bash# mkdir /usr/bonsaitools/bin +>bash# mkdir /usr/bonsaitools +bash# mkdir /usr/bonsaitools/bin bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl - </PRE + </PRE ></FONT ></TD ></TR ></TABLE > - </P + </P ></DIV > - <DIV + <DIV CLASS="TIP" ><P ></P @@ -1000,7 +1313,7 @@ ALT="Tip"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> If you don't have root access to set this symlink up, +> If you don't have root access to set this symlink up, check out the <A HREF="setperl.html" @@ -1008,9 +1321,8 @@ HREF="setperl.html" >, listed in <A HREF="patches.html" >Useful Patches and Utilities for Bugzilla</A ->. - It will change the path to perl in all your Bugzilla files for you. - </P +>. It will change the path to perl in all your Bugzilla files for you. + </P ></TD ></TR ></TABLE @@ -1023,7 +1335,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN636" +NAME="AEN696" >3.2.14. Setting Up the MySQL Database</A ></H2 ><P @@ -1032,10 +1344,14 @@ NAME="AEN636" quality bug tracker. </P ><P -> First, you'll want to fix MySQL permissions to allow access from - Bugzilla. For the purpose of this Installation section, the Bugzilla username - will be "bugs", and will have minimal permissions. - +> First, you'll want to fix MySQL permissions to allow access + from Bugzilla. For the purpose of this Installation section, + the Bugzilla username will be <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +>, and will + have minimal permissions. + <DIV CLASS="WARNING" ><P @@ -1072,242 +1388,281 @@ CLASS="COMMAND" ></TABLE ></DIV > - </P + </P ><P -> Give the MySQL root user a password. MySQL passwords are - limited to 16 characters. - <P +> Give the MySQL root user a password. MySQL passwords are + limited to 16 characters. + <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" >bash#</TT -> - <B +> <B CLASS="COMMAND" ->mysql -u root mysql</B -> - </TT +>mysql + -u root mysql</B +> </TT > - </TD + </TD ></TR ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" >mysql></TT -> - <B +> <B CLASS="COMMAND" -> UPDATE user SET Password=PASSWORD ('new_password') - WHERE user='root'; - </B -> - </TT +> UPDATE user SET Password=PASSWORD ('new_password') + WHERE user='root'; </B +> </TT > - </TD + </TD ></TR ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" >mysql></TT -> - <B +> <B CLASS="COMMAND" ->FLUSH PRIVILEGES;</B -> - </TT +>FLUSH + PRIVILEGES;</B +> </TT > - </TD + </TD ></TR ></TBODY ></TABLE ><P ></P -> - From this point on, if you need to access MySQL as the - MySQL root user, you will need to use "mysql -u root -p" and - enter your new_password. Remember that MySQL user names have - nothing to do with Unix user names (login names). - </P +> From this point on, if you need to access + MySQL as the MySQL root user, you will need to use + <B +CLASS="COMMAND" +>mysql -u root -p</B +> and enter your + new_password. Remember that MySQL user names have nothing to + do with Unix user names (login names). + </P ><P -> Next, we create the "bugs" user, and grant sufficient - permissions for checksetup.pl, which we'll use later, to work - its magic. This also restricts the "bugs" user to operations - within a database called "bugs", and only allows the account - to connect from "localhost". Modify it to reflect your setup - if you will be connecting from another machine or as a different - user. - </P +> Next, we create the <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> user, and grant + sufficient permissions for checksetup.pl, which we'll use + later, to work its magic. This also restricts the + <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> user to operations within a database + called <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +>, and only allows the account to + connect from <SPAN +CLASS="QUOTE" +>"localhost"</SPAN +>. Modify it to reflect + your setup if you will be connecting from another machine or + as a different user. + </P ><P -> Remember to set bugs_password to some unique password. - <P +> Remember to set bugs_password to some unique password. + <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" >mysql></TT > - <B + <B CLASS="COMMAND" >GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, - ALTER,CREATE,DROP,REFERENCES - ON bugs.* TO bugs@localhost - IDENTIFIED BY 'bugs_password';</B + ALTER,CREATE,DROP,REFERENCES + ON bugs.* TO bugs@localhost + IDENTIFIED BY 'bugs_password';</B > - </TT + </TT > - </TD + </TD ></TR ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" -> mysql> - </TT +> mysql> + </TT > - <B + <B CLASS="COMMAND" -> FLUSH PRIVILEGES; - </B +> FLUSH PRIVILEGES; + </B > - </TT + </TT > - </TD + </TD ></TR ></TBODY ></TABLE ><P ></P > - </P + </P ><P -> Next, run the magic checksetup.pl script. (Many thanks to Holger - Schurig <holgerschurig@nikocity.de> for writing this script!) - It will make sure Bugzilla files and directories have reasonable - permissions, set up the "data" directory, and create all the MySQL - tables. - <P +> Next, run the magic checksetup.pl script. (Many thanks to + Holger Schurig <holgerschurig@nikocity.de> for writing + this script!) It will make sure Bugzilla files and directories + have reasonable permissions, set up the + <TT +CLASS="FILENAME" +>data</TT +> directory, and create all the MySQL + tables. + <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD -> <TT +> <TT CLASS="COMPUTEROUTPUT" -> <TT +> <TT CLASS="PROMPT" >bash#</TT > - <B + <B CLASS="COMMAND" >./checksetup.pl</B +> </TT > - </TT -> - </TD + </TD ></TR ></TBODY ></TABLE ><P ></P -> - The first time you run it, it will create a file called "localconfig". - </P +> The first time you run it, it will create a + file called <TT +CLASS="FILENAME" +>localconfig</TT +>. + </P ></DIV ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN675" ->3.2.15. Tweaking "localconfig"</A +NAME="AEN743" +>3.2.15. Tweaking <TT +CLASS="FILENAME" +>localconfig</TT +></A ></H2 ><P -> This file contains a variety of settings you may need to tweak including - how Bugzilla should connect to the MySQL database. - </P +> This file contains a variety of settings you may need to tweak including + how Bugzilla should connect to the MySQL database. + </P ><P -> The connection settings include: - <P +> The connection settings include: + <P ></P ><OL TYPE="1" ><LI ><P -> server's host: just use "localhost" if the MySQL server is - local - </P +> server's host: just use <SPAN +CLASS="QUOTE" +>"localhost"</SPAN +> if the + MySQL server is local + </P ></LI ><LI ><P -> database name: "bugs" if you're following these directions - </P +> database name: <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> if you're following + these directions + </P ></LI ><LI ><P -> MySQL username: "bugs" if you're following these directions - </P +> MySQL username: <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> if you're following + these directions + </P ></LI ><LI ><P -> Password for the "bugs" MySQL account above - </P +> Password for the <SPAN +CLASS="QUOTE" +>"bugs"</SPAN +> MySQL account above + </P ></LI ></OL > - </P + </P ><P -> You may also install .htaccess files that the Apache webserver will use - to restrict access to Bugzilla data files. See <A +> You should also install .htaccess files that the Apache + webserver will use to restrict access to Bugzilla data files. + See <A HREF="geninstall.html#HTACCESS" >.htaccess files and security</A >. - </P -><P -> Once you are happy with the settings, re-run checksetup.pl. On this - second run, it will create the database and an administrator account - for which you will be prompted to provide information. - </P + </P ><P -> When logged into an administrator account once Bugzilla is running, - if you go to the query page (off of the bugzilla main menu), you'll - find an 'edit parameters' option that is filled with editable treats. - </P +> Once you are happy with the settings, re-run + <TT +CLASS="FILENAME" +>checksetup.pl</TT +>. On this second run, it will + create the database and an administrator account for which + you will be prompted to provide information. + </P ><P -> Should everything work, you should have a nearly empty copy of the bug - tracking setup. - </P +> When logged into an administrator account once Bugzilla is + running, if you go to the query page (off of the Bugzilla main + menu), you'll find an <SPAN +CLASS="QUOTE" +>"edit parameters"</SPAN +> option + that is filled with editable treats. + </P ><P -> The second time around, checksetup.pl will stall if it is on a - filesystem that does not fully support file locking via flock(), such as - NFS mounts. This support is required for Bugzilla to operate safely with - multiple instances. If flock() is not fully supported, it will stall at: - <SPAN -CLASS="ERRORCODE" ->Now regenerating the shadow database for all bugs.</SPAN +> Should everything work, you will have a nearly empty Bugzilla + database and a newly-created <TT +CLASS="FILENAME" +>localconfig</TT > - <DIV + file in your Bugzilla root directory. + </P +><P +> <DIV CLASS="NOTE" ><P ></P @@ -1328,34 +1683,37 @@ ALT="Note"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> The second time you run checksetup.pl, you should become the - user your web server runs as, and that you ensure that you set the - "webservergroup" parameter in localconfig to match the web - server's group - name, if any. I believe, for the next release of Bugzilla, - this will - be fixed so that Bugzilla supports a "webserveruser" parameter - in localconfig - as well. - <DIV +> The second time you run checksetup.pl, you should become + the user your web server runs as, and that you ensure that + you set the <SPAN +CLASS="QUOTE" +>"webservergroup"</SPAN +> parameter in localconfig to + match the web server's group name, if any. I believe, + for the next release of Bugzilla, this will be fixed so + that Bugzilla supports a <SPAN +CLASS="QUOTE" +>"webserveruser"</SPAN +> parameter in + localconfig as well. + <DIV CLASS="EXAMPLE" ><A -NAME="AEN697" +NAME="AEN774" ></A ><P ><B >Example 3-2. Running checksetup.pl as the web user</B ></P ><P -> Assuming your web server runs as user "apache", - and Bugzilla is installed in - "/usr/local/bugzilla", here's one way to run checksetup.pl - as the web server user. - As root, for the <EM +> Assuming your web server runs as user "apache", and + Bugzilla is installed in "/usr/local/bugzilla", here's + one way to run checksetup.pl as the web server user. + As root, for the <EM >second run</EM -> - of checksetup.pl, do this: - <TABLE +> of + checksetup.pl, do this: + <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" @@ -1365,26 +1723,27 @@ WIDTH="100%" COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" ->bash# chown -R apache:apache /usr/local/bugzilla -bash# su - apache -bash# cd /usr/local/bugzilla -bash# ./checksetup.pl - </PRE +> +bash# chown -R apache:apache /usr/local/bugzilla +bash# su - apache +bash# cd /usr/local/bugzilla +bash# ./checksetup.pl + </PRE ></FONT ></TD ></TR ></TABLE > - </P + </P ></DIV > - </P + </P ></TD ></TR ></TABLE ></DIV > - </P + </P ><DIV CLASS="NOTE" ><P @@ -1406,10 +1765,10 @@ ALT="Note"></TD ALIGN="LEFT" VALIGN="TOP" ><P -> The checksetup.pl script is designed so that you can run +> The checksetup.pl script is designed so that you can run it at any time without causing harm. You should run it after any upgrade to Bugzilla. - </P + </P ></TD ></TR ></TABLE @@ -1420,16 +1779,16 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN704" +NAME="AEN781" >3.2.16. Setting Up Maintainers Manually (Optional)</A ></H2 ><P -> If you want to add someone else to every group by hand, you +> If you want to add someone else to every group by hand, you can do it by typing the appropriate MySQL commands. Run - '<TT -CLASS="COMPUTEROUTPUT" -> mysql -u root -p bugs</TT ->' You + <B +CLASS="COMMAND" +> mysql -u root -p bugs</B +> You may need different parameters, depending on your security settings. Then: <P @@ -1450,7 +1809,12 @@ CLASS="COMMAND" profiles set groupset=0x7fffffffffffffff where login_name = 'XXX';</B > </TT -> +> (yes, that's <EM +>fifteen</EM +><SPAN +CLASS="QUOTE" +>"f"</SPAN +>'s. </TD ></TR ></TBODY @@ -1465,7 +1829,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN713" +NAME="AEN792" >3.2.17. The Whining Cron (Optional)</A ></H2 ><P @@ -1551,7 +1915,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN723" +NAME="AEN802" >3.2.18. Bug Graphs (Optional)</A ></H2 ><P @@ -1608,7 +1972,7 @@ CLASS="SECTION" ><H2 CLASS="SECTION" ><A -NAME="AEN735" +NAME="AEN814" >3.2.19. Securing MySQL</A ></H2 ><P |