|The Bugzilla Guide - 2.18.6 Release|
Apache web server, and other NCSA-compliant web servers, observe the convention of using files in directories called .htaccess to restrict access to certain files. In Bugzilla, they are used to keep secret files which would otherwise compromise your installation - e.g. the localconfig file contains the password to your database. curious.
In this context, Apache is the web server most commonly used for serving up Bugzilla pages. Contrary to popular belief, the apache web server has nothing to do with the ancient and noble Native American tribe, but instead derived its name from the fact that it was "a patchy" version of the original NCSA world-wide-web server.
Useful Directives when configuring Bugzilla
Tell Apache that it's OK to run CGI scripts.
These directives are used to tell Apache many things about the directory they apply to. For Bugzilla's purposes, we need them to allow script execution and .htaccess overrides.
Used to tell Apache what files are indexes. If you can not add index.cgi to the list of valid files, you'll need to set $index_html to 1 in localconfig so ./checksetup.pl will create an index.html that redirects to index.cgi.
Used when running Apache on windows so the shebang line doesn't have to be changed in every Bugzilla script.
For more information about how to configure Apache for Bugzilla, see Section 220.127.116.11.
A "bug" in Bugzilla refers to an issue entered into the database which has an associated number, assignments, comments, etc. Some also refer to a "tickets" or "issues"; in the context of Bugzilla, they are synonymous.
Each Bugzilla bug is assigned a number that uniquely identifies that bug. The bug associated with a bug number can be pulled up via a query, or easily from the very front page by typing the number in the "Find" box.
Bugzilla is the world-leading free software bug tracking system.
CGI is an acronym for Common Gateway Interface. This is a standard for interfacing an external application with a web server. Bugzilla is an example of a CGI application.
A Component is a subsection of a Product. It should be a narrow category, tailored to your organization. All Products must contain at least one Component (and, as a matter of fact, creating a Product with no Components will create an error in Bugzilla).
CPAN stands for the "Comprehensive Perl Archive Network". CPAN maintains a large number of extremely useful Perl modules - encapsulated chunks of code for performing a particular task.
The contrib directory is a location to put scripts that have been contributed to Bugzilla but are not a part of the official distribution. These scripts are written by third parties and may be in languages other than perl. For those that are in perl, there may be additional modules or other requirements than those of the official distribution.
Scripts in the contrib directory are not officially supported by the Bugzilla team and may break in between versions.
A daemon is a computer program which runs in the background. In general, most daemons are started at boot time via System V init scripts, or through RC scripts on BSD-based systems. mysqld, the MySQL server, and apache, a web server, are generally run as daemons.
A DOS, or Denial of Service attack, is when a user attempts to deny access to a web server by repeatedly accessing a page or sending malformed requests to a webserver. This can be effectively prevented by using mod_throttle as described in Section 4.3.2. A D-DOS, or Distributed Denial of Service attack, is when these requests come from multiple sources at the same time. Unfortunately, these are much more difficult to defend against.
A Message Transport Agent is used to control the flow of email
on a system. Many unix based systems use
sendmail which is what
Bugzilla expects to find by default at /usr/sbin/sendmail.
Many other MTA's will work, but they all require that the
sendmailnow param be set to on.
MySQL is currently the required RDBMS for Bugzilla. MySQL can be downloaded from https://www.mysql.com. While you should familiarize yourself with all of the documentation, some high points are:
Methods for backing up your Bugzilla database.
Information about how to configure MySQL using my.cnf.
Much more detailed information about the suggestions in Section 4.2.
A Product is a broad category of types of bugs, normally representing a single piece of software or entity. In general, there are several Components to a Product. A Product may define a group (used for security) for all bugs entered into its Components.
First written by Larry Wall, Perl is a remarkable program language. It has the benefits of the flexibility of an interpreted scripting language (such as shell script), combined with the speed and power of a compiled language, such as C. Bugzilla is maintained in Perl.
"QA", "Q/A", and "Q.A." are short for "Quality Assurance". In most large software development organizations, there is a team devoted to ensuring the product meets minimum standards before shipping. This team will also generally want to track the progress of bugs over their life cycle, thus the need for the "QA Contact" field in a bug.
A relational database management system is a database system that stores information in tables that are related to each other.
A regular expression is an expression used for pattern matching. Documentation
In Windows NT environment, a boot-time background application is referred to as a service. These are generally managed through the control panel while logged in as an account with "Administrator" level capabilities. For more information, consult your Windows manual or the MSKB.
SGML stands for "Standard Generalized Markup Language". Created in the 1980's to provide an extensible means to maintain documentation based upon content instead of presentation, SGML has withstood the test of time as a robust, powerful language. XML is the "baby brother" of SGML; any valid XML document it, by definition, a valid SGML document. The document you are reading is written and maintained in SGML, and is also valid XML if you modify the Document Type Definition.
Target Milestones are Product goals. They are configurable on a per-Product basis. Most software development houses have a concept of "milestones" where the people funding a project expect certain functionality on certain dates. Bugzilla facilitates meeting these milestones by giving you the ability to declare by which milestone a bug will be fixed, or an enhancement will be implemented.
TCL is an open source scripting language available for Windows, Macintosh, and Unix based systems. Bugzilla 1.0 was written in TCL but never released. The first release of Bugzilla was 2.0, which was when it was ported to perl.
This is just a goofy way of saying that there were no bugs found matching your query. When asked to explain this message, Terry had the following to say:
I've been asked to explain this ... way back when, when Netscape released version 4.0 of its browser, we had a release party. Naturally, there had been a big push to try and fix every known bug before the release. Naturally, that hadn't actually happened. (This is not unique to Netscape or to 4.0; the same thing has happened with every software project I've ever seen.) Anyway, at the release party, T-shirts were handed out that said something like "Netscape 4.0: Zarro Boogs". Just like the software, the T-shirt had no known bugs. Uh-huh.
So, when you query for a list of bugs, and it gets no results, you can think of this as a friendly reminder. Of *course* there are bugs matching your query, they just aren't in the bugsystem yet...