Determining why Apache will not load

  • 3008280
  • 14-Apr-2006
  • 27-Apr-2012

Environment


Novell NetWare 6.5 Support Pack 4
Novell NetWare 6.5 Support Pack 3
Novell NetWare 6.5 Support Pack 2
Novell Open Enterprise Server (NetWare based)
Novell Open Enterprise Server (Linux based)
Novell SUSE Linux Enterprise Server 9
Novell SUSE Linux Enterprise Server 8

Situation

Apache fails to load or run.  This could be a single instance of apache, or all instances of apache that are intended to be running on the server in question.

Resolution

When the Apache process starts, it logs any error messages to one of two locations : STDOUT (on NetWare, this is called the logger screen) or to a log file (if the startup redirected the output to a file).

On NetWare 6.5, the logging location is SYS:/Apache2/logs .  On Linux, this location is /var/log/apache2 .  In this location, either a startup.err or an rcapache2.out file.  There could be access and error logs, as well.  If required, make backup copies of the log files (the access logs are the ones that identify who has visited the web site, when they did it, and what they were looking at, so these are the most important ones to the security personnel.

The process for identifying why Apache is not starting is simple :
  1. Remove the apache log files (specifically the error logs and the startup.err or the rcapache2.out files)
  2. Attempt to start up Apache.  This will log to the appropriate file.
  3. Open the startup.err or the rcapache2.out file, and review it for errors.
  4. If no errors are located, open the error_log that was generated.  Review it for errors.
Typically, Apache will log the reason of why it is not starting up.  For example,
Syntax error on line 212 of /etc/apache2/httpd.conf: Invalid
command 'LineWithSyntaxError', perhaps mis-spelled or defined by a
module not included in the server configuration

Once the reason for Apache's failure has been identified, corrections can be applied.  Each time something is corrected, it is suggested to remove the log files again before attempting to start Apache.  Apache does not reset the log files, resulting in cluttered and "old" errors scattered through out the logs.

Additional Information

There are some errors that appear with a [crit], meaning the error was critical to the operation of Apache, usually causing Apache to stop trying to configure itself.  An example of these :
[Fri Apr 14 07:31:03 2006] [crit] (10022)Unknown error:
make_secure_socket: for port 443, WSAIoctl:
(SO_SSL_SET_SERVER)
Other symptoms include :
apache daemon exited with status 1
The above example indicates a problem with make_secure_socket, or SSL and Certificate issues are present.  There are various tools and documents that discuss these particular errors.