Apache Startup and Running Issues

Apache Startup Issues

When Apache does not start after installation, or on a system reboot, most of the time this is an issue with something else on your system taking up ports 80 (the HTTP port) and 443 (the HTTPS / SSL port).

This can be -
a) Other web-server application such as Apache, IIS, Tomcat running.
b) Applications like Skype.
c) Windows Services such as BranchCache running.

Only one application is allowed to bind-to/take-up a specific port.

Execute this from the command line…

httpd -t
httpd -k start

(*run from an admin level command-line; right-click cmd.exe, select ‘run as admin’)

The first command will test Apache’s configuration, the second command will attempt to start Apache. Helpful error messages will be reported to you.

If the error message is similar to:

“An attempt was made to access a socket in a way forbidden by its access permissions. make_sock: could not bind to address no listening sockets available, shutting down.”

…then we know that another application has binded to (taken) port 80 and/or 443.

Stop and disable IIS if it’s running. Stop Skype. Stop the BranchCache Service.

See this guide for a larger list of port 80 listeners: Opening Up Port 80 For Apache to Use On Windows

Apache Configuration Issues

Otherwise, the issue is most likely a configuration problem (syntax issue), and running a syntax check will let us know which configuration files and lines are incorrect.

httpd -t

Note that only the first encountered issue is reported, and once corrected, there could be more issues shown.

Apache Running Issues

If Apache starts, but after some time stops responding to requests (does not properly load websites and serve pages), there is most likely an issue with the OS’s networking layer.

Disable Use Of Advanced Networking Functions

On some systems the networking layer is slightly broken due to 3rd-party software that manipulates it and/or attaches filters to it.

[Tue Oct 01 19:22:29 2013] [warn] (OS 995)The I/O operation has been aborted because of either a thread exit or an application request. winnt_accept: Asynchronous AcceptEx failed.

Edit file -

Disable Apache’s use of Windows’ more advanced (faster) networking functions -

EnableMMAP off
EnableSendfile off


If you are using Apache 2.4, instead of Win32DisableAcceptEx (which is only for Apache 2.0/2.2), use this -

AcceptFilter http none
AcceptFilter https none

Save file. Attempt to start Apache.

If this does not help, remove the changes made – as the above directives can cause their own problems later on.

Reset Networking Layer to Default State

Attempt to fix Winsock and the TCP/IP stack by reseting them. This will remove all the 3rd-party filters registered with it (from network, firewall, proxy, and anti-virus software installs).

From the command line run this and then reboot.

netsh winsock reset
netsh int ip reset c:\resetlog.txt

(*run from an admin level command-line; right-click cmd.exe, select ‘run as admin’)

You can see a current list of attached filters (LSPs) with this command -

netsh winsock show catalog

Required Microsoft VC++ Redistributable Packages

If Apache is not able to install or start, and there are no displayed or logged errors, or a Messagebox about a missing MSVCR90.dll or MSVCR110.dll file pops-up, your OS is missing the required Microsoft VC++ runtime DLLs.

For Apache 2.4 compiled under VS.NET 2012 (VC11) download and install Visual C++ Redistributable for Visual Studio 2012 Update 4.

For Apache 2.2 compiled under VS.NET 2008 (VC9) download and install Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package.

One thought on “Apache Startup and Running Issues

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>