<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>General Advice</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="The Bugzilla Guide - 2.20.1 
    Release"
HREF="index.html"><LINK
REL="UP"
TITLE="Troubleshooting"
HREF="troubleshooting.html"><LINK
REL="PREVIOUS"
TITLE="Troubleshooting"
HREF="troubleshooting.html"><LINK
REL="NEXT"
TITLE="The Apache webserver is not serving Bugzilla pages"
HREF="trbl-testserver.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 - 2.20.1 
    Release</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="troubleshooting.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix B. Troubleshooting</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="trbl-testserver.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="general-advice"
>B.1. General Advice</A
></H1
><P
>If you can't get <TT
CLASS="filename"
>checksetup.pl</TT
> to run to 
    completion, it normally explains what's wrong and how to fix it.
    If you can't work it out, or if it's being uncommunicative, post 
    the errors in the 
    <A
HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
TARGET="_top"
>netscape.public.mozilla.webtools</A
>
    newsgroup.
    </P
><P
>If you have made it all the way through
    <A
HREF="installation.html"
>Section 2.1</A
> (Installation) and
    <A
HREF="configuration.html"
>Section 2.2</A
> (Configuration) but accessing the Bugzilla
    URL doesn't work, the first thing to do is to check your webserver error
    log. For Apache, this is often located at
    <TT
CLASS="filename"
>/etc/logs/httpd/error_log</TT
>. The error messages
    you see may be self-explanatory enough to enable you to diagnose and
    fix the problem. If not, see below for some commonly-encountered 
    errors. If that doesn't help, post the errors to the newsgroup.
    </P
><P
>&#13;      Bugzilla can also log all user-based errors (and many code-based errors)
      that occur, without polluting the web server error log.  To enable
      Bugzilla error logging, create a file that Bugzilla can write to, named
      <TT
CLASS="filename"
>errorlog</TT
>, in the Bugzilla <TT
CLASS="filename"
>data</TT
>
      directory.  Errors will be logged as they occur, and will include the type
      of the error, the IP address and username (if available) of the user who
      triggered the error, and the values of all environment variables; if a
      form was being submitted, the data in the form will also be included.
      To disable error logging, delete or rename the
      <TT
CLASS="filename"
>errorlog</TT
> file.
    </P
></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="troubleshooting.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="trbl-testserver.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Troubleshooting</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="troubleshooting.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Apache webserver is not serving Bugzilla pages</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>