XAMPP: Couldn't start Apache (Windows 10)

I'm using XAMPP, and I can start Apache, but, MySQL (phpMyAdmin) start!

When I start, I get this error;

10:07:49 [Apache] Error: Apache shutdown unexpectedly.
10:07:49 [Apache] This may be due to a blocked port, missing dependencies,
10:07:49 [Apache] improper privileges, a crash, or a shutdown by another method.
10:07:49 [Apache] Press the Logs button to view error logs and check
10:07:49 [Apache] the Windows Event Viewer for more clues
10:07:49 [Apache] If you need more help, copy and post this
10:07:49 [Apache] entire log window on the forums

I search on it, and, change the port of Apache in Config -> Service and Port setting. I have;

Service name: Apache 2.4
Main port: 122
SSL port: 444

I also uninstall Skype (Windows 8/10/Metro version). Nothing is working. In the httpd.conf file I have;

Listen 122
ServerName localhost:122

I start it via apache_start.bat and get;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Please note that all the log files don’t exists! Skype is uninstalled.


Update: 15th May, 2018:

The latest Windows 10 update (re-)activated the World Wide Web Publishing Service (in German: WWW-Publishingdienst). This might depend on the options you select during the configuration of the update you can make afterwards.

Update: 4th August, 2015:

If you have done clean installation of Windows 10, you may not have the Word Wide Web Publishing Service. In that case, simple WAMP/XAMPP installation should work fine.

If it doesn't, try installing Visual C++ Redistributable and then re-install WAMP/XAMPP.


I was facing a similar problem with WAMP. In Windows 10 TP, the Word Wide Web Publishing Service comes pre-installed. This is related to IIS and you can remove it if you don't need it.

This blocks the port 80, making Apache act weirdly. You can do the following and try again.

  • Go to Start, type in services.msc
  • Scroll down in the Services window to find the World Wide Web Publishing Service.
  • Right click on it and select Stop.

This should make port 80 free and restarting WAMP/XAMPP should get you up and running!

There are other ways to do fix this. See Make WAMP Work On Windows 10.


Solving this problem is easy:

  1. Open a command prompt with administrator privileges
    • Find "cmd", right-click on it, then select "Administrator".
  2. In the prompt, type net stop W3SVC and Enter.

You can now click in WAMPP and restart all services. Open your browser and navigate to "localhost".

If you need to start W3SVC again,

  1. Open a command prompt with administrator privileges
  2. In the prompt, type net start W3SVC and Enter.

I found a way to solve this problem:

  1. If you are using Skype as well, uncheck the field stating to use ports 80 and 443 (Extra -> Settings -> Advanced -> Connections -> Uncheck Port 80 and 443)
  2. Restart Skype and XAMPP.

If this does not work,

  1. Go to Start and type "services.msc"
  2. Locate "World Wide Web Publishing Service"
  3. Right-click on that entry, select "Stop", then restart XAMPP.

If that did not work and "World Wide Web Publishing Service" was not available,

  1. Go to the Control Panel, navigate to "Uninstall Programs", then "Turn on/off Windows features"
  2. Locate "Internet Information Services"
  3. Click the checkbox and hit "OK".
  4. Restart, then repeat the second approach (services.msc)

You can change the port of Apache:

  1. Go to C:\xampp\apache\conf\httpd.
  2. Find by combination Ctrl+F line #Listen 12.34.56.78:80 and change the 80 to any you like for example 81
  3. The same with Listen 80 change to 81
  4. The same with ServerName localhost:80 change to 81.
  5. Go to C:\xampp\apache\conf\extra\httpd-vhosts and change 80 to 81

NameVirtualHost *:80 here

VirtualHost *:80 and here (two times)

  1. Restart Apache

To enter your web page, type: http://localhost:81/index.html