Why does apache fail to start and only say “Configuration Failed” in error log?

Posted on

Why does apache fail to start and only say “Configuration Failed” in error log? – Problems with loading a website are often blamed on the Internet connection, but even the most perfectly set up network cannot help if there is no service to reply at your destination. One of the most popular HTTP servers used for this task is Apache2. Much of Apache’s popularity can be attributed to its easy installation and use, but never the less it is possible to run into problems with even the easiest of the software. If you’ve encountered an issue loading your web page, follow these simple troubleshooting methods outlined in this guide to attempt to get your web server back up and working again. Below are some tips in manage your apache2 server when you find problem about apache-2.2, , , , .

Apache 2.2.23 fails to start for me, and the only entries in the log file are:

[Fri Feb 22 02:54:24 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Feb 22 02:54:24 2013] [notice] Digest: generating secret for digest authentication ...
[Fri Feb 22 02:54:24 2013] [notice] Digest: done
Configuration Failed
[Fri Feb 22 02:54:57 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Feb 22 02:54:57 2013] [notice] Digest: generating secret for digest authentication ...
[Fri Feb 22 02:54:57 2013] [notice] Digest: done
Configuration Failed

This has been driving me crazy. The network is fine, the disks are fine, the config files pass syntax checks, nothing has been changed since it previously worked. It just refuses to start, usually after some load spike.

I’d also mention that the restart mechanism includes doing kill -9 if graceful shutdown doesn’t succeed.

I can’t find anything on google or here about this.

I finally found the solution to this, by removing all site configs, modules, and config directives.

Then, finally, the error log produced this gem:

[Fri Feb 22 03:04:22 2013] [emerg] (28)No space left on device: Couldn't create accept lock (/etc/httpd/logs/accept.lock.10752) (5)
[Fri Feb 22 03:04:24 2013] [warn] pid file /etc/httpd/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run?

Now this, there were answers for on google. As mentioned here and other places, this error was caused by too many open semaphores from apache, as the disk was empty and writeable.

I solved this by running:

ipcs -s | grep www-data | awk '{print $2;}' | while read -r line; do ipcrm sem "$line"; done

and adding that to the restart script. Now, everything is fine. I assume there’s a correlation between this and using kill -9, but without that I’m left with hung, unresponsive apache processes.

I would suggest you to run an strace to see what’s going on:

strace -f -o apache.trace /usr/sbin/httpd

Maybe the disk is full?

Check the permissions of the location your logs are being written to, including the files themselves. Apache needs to be able to write to the log when it drops permissions from root, and you’ll get little of use from the logs if Apache is bailing out because it can no longer write to them. It’s one of the most simple, yet most infuriatingly elusive problems you can run into.

If this is not the case, @quanta’s suggestion is probably the best way to identify what was happening when Apache bailed out.

Leave a Reply

Your email address will not be published. Required fields are marked *