Xampp port 80 already use - apache

I have installed XAMPP on my pc and I change all port from '443' to '4433' and '80' to '8080' but when I start Apache it say me that port '80' is already use but Apache must use '8080' and when I go to 'http://localhost/' it display me a 404 error then I don't know what to do.
With netstat -ao on 'cmd' I see that port '80' is using by a program whit 'PID=4' and I see in the task manager that this PID is for "NT Kernel & System" so I can not kill it.

Please try with the port number http://localhost:8080
it seems like you have changed the port from here C:\xampp\apache\conf\httpd.conf
Listen 12.34.56.78:80 to 8080
Listen 80 to 8080
Alternative if want to use port 80 then
If the skype is open try to change the port from the select options(80/443).Sometimes this is the problem.IIS server if running it might use the same port
You can use some tools to kill the process for example, currports, TCPview etc.Hope it helps to solve your problem.

I had the same problem after upgrading to Windows 10. I had to stop the IIS service: "World Wide Web Publishing Service". After stopping/disabling it, it freed up port 80.
Press Ctrl+Shift+Esc (opens taskmanager), Services and stop W3SVC service - World Wide Web Publishing Service;

I had same problem.
You change your port 80 to 8080.
Therefore to log localhost, you have to use http://localhost:8080/xampp/ and not http://localhost/xampp/
Then when you use xampp control panel, sometime you have to face same problem as I was.
Can't go to admin page using admin button in mysql. To get rid of this problem you can do following changes.
Go to xampp control panel.
Using config button open configuration of control pannel. Then click service and port setting and under appache setting you can change your main port 80 to 8080.

Related

How to solve "Error: Apache shutdown unexpectedly"?

I've just re-installed XAMPP, and when I try to start my Apache server in the XAMPP Control Panel, I now get the following errors:
16:50:25 [Apache] Status change detected: running
16:50:26 [Apache] Status change detected: stopped
16:50:26 [Apache] Error: Apache shutdown unexpectedly.
16:50:26 [Apache] This may be due to a blocked port, missing dependencies,
16:50:26 [Apache] improper privileges, a crash, or a shutdown by another method.
16:50:26 [Apache] Press the Logs button to view error logs and check
16:50:26 [Apache] the Windows Event Viewer for more clues
16:50:26 [Apache] If you need more help, copy and post this
16:50:26 [Apache] entire log window on the forums
How do I solve this?
As I am working in a corporate environment where developers faces firewall issues, none of the other answers resolved my issue.
As the port is not used by Skype, but by some other internal applications,
I followed the below steps to resolve the issue:
Step 1 - From the XAMPP Control Panel, under Apache, click the Config button, and select the Apache (httpd.conf).
Inside the httpd.conf file, somehow I found a line that says:
Listen 80
And change the 80 into any number / port you want. In my scenario I’m using port 8080.
Listen 8080
Still from the httpd.conf file, I found another line that says:
ServerName localhost:80
Change 80 to 8080.
ServerName localhost:8080
Step 2 - From the XAMPP Control Panel, under Apache, click the Config button again, but this time select the Apache (httpd-ssl.conf). Inside the httpd-ssl.conf file, find line that says
Listen 443
And change the 443 into any number / port you want. I’ll using 4433 as the new port number.
Listen 4433
Still from the httpd-ssl.conf file, find another line that says
<VirtualHost _default_:443>
ServerName localhost:443
And change 443 to 4433.
<VirtualHost _default_:4433>
ServerName localhost:4433
Remember to save the httpd.conf and httpd-ssl.conf files after performing some changes. Then restart the Apache service.
Open Skype.
Tools -> Options -> Advanced -> Connection.
Uncheck the "Use port 80 and 443 for alternatives for incoming connections" checkbox
Sign Out and Close all Skype windows. Try restarting your Apache.
In XAMPP Control Panel V3.2.1, click on "NetStat" button on top right. Make sure port 80 is not used by any other program. Then click on "Shell" Right below it. Issue this command in the shell prompt;
Apache_Start.bat
or type "ap" then tab the TAB key two times which will similarly generate the above command.
You will actually see the exact error why Apache failed. It will be mostly likely virtual host configuration issue or may be something else. It will display the line number on which the error is occurring. Just fix that error. Note that in RootDocument a trailing \ can be a source of error as well. Remove any trailing "".
One thing you can do is to stop the services on port 80 by issuing
net stop http
in a cmd. You'll be asked if you're sure you want to stop those services. I found out that I had a few services I wasn't using and disabled them.
To see who else is using port 80 type in a cmd
netstat -abno
I'm assuming you want to run Apache on port 80. If this is the case and you want to keep the conflicting services you will need to associate them to a new port.
If the problem is not a busy port you can also try the following: select "show debug information" in the XAMPP config panel. When starting Apache you'll be shown something like "Executing "c:\xampp\apache\bin\httpd.exe". If you run that
c:\xampp\apache\bin\httpd.exe
in a cmd you will get some more information (I once for instance had some issue with my httpd.conf file).
Related: How do I free my port 80 on localhost Windows? and Apache won't run in xampp
Follow these steps:
Open your XAMPP control panel then click its "Config"
Choose the "Apache (httpd.conf)" and find this code below and change it into this one:
#Change this to Listen on specific IP addresses as shown below
#to prevent Apache from glomming onto all bound IP addresses.
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
# Dynamic Shared Object (DSO) Support
Save it (Ctrl + S)
After that, go back to the XAMPP control panel and click its config again.
Choose "Apache (httpd-ssl.conf)", find this code below, and change it again:
# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
#
#Listen 0.0.0.0:443
#Listen [::]:443
Listen 443
Save it (Ctrl + S)
Then, click the "config" (note: above the netstat) and click the "service and port settings".
Change "Main Port" to 8080 and "SSL Port" to 4433, then save it.
Finally, go to the "control panel" -> "Programs & Features" -> "Turn Windows On or Off".
Uncheck your "Internet Information Services", and then click OK.
Just wait for it and your computer/laptop will be automatically restart and try to open your XAMPP control panel again, and then start your Apache.
My problem was that in httpd.conf the DocumentRoot and <Directory> entries were pointing to non-existing folders.
For example, the 'original' httpd.conf had the following entries:
DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
If you've installed in C:\xampp then you need to change those entries to match, i.e.
DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">
This worked for me...
If you are using windows...
Search 'cmd' in the windows search bar.
Enter this:C:\xampp\apache\bin\httpd.exe
Find which file and which line the error occurred.
For example, mine was in the file below
on line 37.
httpd-multilang-errordoc.conf
Open the code and fix the error by either removing the line or fixing it.
Done! I should work now.
:)
If you're using Windows 7 . Search for IIS in Windows search (Click the Window icon in left bottom and type in where it says 'Search program and files') .
Open IIS (Internet Information Service) .
In the right side in actions panel. Click Stop.
Note: The stop link is faded in screen shot. As I've stopped it.
Problem Solved!
I had the same issue, and it turns out I forgot to run setup_xampp.bat (portable version).
It seems that no one has answered about executing xampp_start.exe.
I did all the previous answers but it did not fixed my issue. I found out that running xampp_start.exe will give you a detailed info about the issue.
This is what I see on my end:
As you can see I was having a path issue or xampp is pointing to non-existing folder.
When I found that there was no process using port 80 by using commands
netstat -abno | find ":80"
there was not a problem of any process using port 80.
Then I ran command (in cmd)
C:\xampp\apache\bin\httpd.exe
it showed some error in the virtual hosts configuration in httpd-vhosts.conf file which was recently edited by me for installation in a WordPress PHP environment in the Eclipse IDE. So I deleted those lines and Apache started perfectly.
The simple thing that you can do is to check if Skype or VMware is installed in your machine or not.
Skype uses port 80 and 443 as an additional port for incoming connections. To change the port number in Skype, go to
Tools > Connection Options > Connection
in the Skype window. Now change the default 80 port number to something other.
VMware Workstation uses port 443 for sharing. To change this, open VMware Workstation and goto
Edit > Preferences > Shared Vms
Click "Change Settings" buton
Then Click "Disable Sharing"
Then change the https port number being used (443)
Then you can click "Enable Sharing" button
That's all you have to do. Restart XAMPP and run the Apache server.
I had the same problem sometime back. I had a old laptop, on which almost all the ports were either blocked or were malfunctioning. This is how I did it.
Open the XAMPP control panel.
Click on Config
Then, go into Apache httpd.conf file. Open it with a text editor.
Search for "80" (Do Ctrl + F and find all of them. Replace it with 8080 or 4040 or 4000).
Save the file. And restart XAMPP.
It worked well for me, and I hope it helps you too.
For me, world wide web publishing-service was using port 80. I killed this by running the following command on cmd:
net stop http
After that, XAMPP ran Apache without any problems.
One of the causes could be that you are not running the XAMPP Control Panel as an administrator.
This error occurs because the port, which is allocated for Apache, is used by another program. To check the application which uses the port, which we allocated for Apache, it can be had by clicking,
Netstat button.
This is the Netstat file,
At first, I have allocated port 8080 for Apache, and I recently installed Oracle DB.TNSLSNR.exe has used 8080 port now.
So, by looking at this file we can choose a port which is not clashing with other applications. In my case, port 8060 is not clashing with any application. By selecting that we can change the httpd.conf file (XAMPP control panel -> Config) as mentioned above.
download new xampp apachefriends
install it
remove all VPN app
open folder XAMPP run setup_xampp.bat
run xampp-control.exe
Sometimes the issue is not a port issue but may be due to a misconfiguration that you did and Apache is not logging the error on the Event Viewer in Windows. To go around this, simply
cd C:\xampp\apache\bin
and then run
httpd.exe
Apache will then spit out the error for you e.g. as below
AH00526: Syntax error on line 2 of C:/xampp/apache/conf/httpd.conf: Invalid command 'This', perhaps misspelled or defined by a module not included in the server configuration
I hope that helps some poor soul :)
In my case, this issue was caused by an attempt to download other product of bitnami, like WordPress. That's common when we install WordPress via XAMPP. It is placed in the xampp/app directory that can be accessed from the XAMPP application homepage.
As a solution, I removed the default installed WordPress from the xampp directory and manually installed WordPress in the htdocs folder of WordPress by downloading it and extracting zip files into the htdoc folder. You also need to restart XAMPP or may system after uninstalling/removing the default WordPress. All is OK for me now.
Make at first sure your \xampp folder is in the root! This is important as the path is relative.
Then make sure you run the xampp_control.exe with admin rights.
Then change the files below to avoid issues with blocked port 80.
In \xampp\xampp-control.ini it should be set:
[ServicePorts]
Apache=8080
ApacheSSL=4433
Find \xampp\apache\conf\httpd.conf and set:
Listen 8080
ServerName localhost:8080
Find \xampp\apache\conf\extra\httpd-ssl.conf and set:
Listen 4433
<VirtualHost _default_:4433>
ServerName www.example.com:4433
Then end all services and restart xampp-control.exe with admin rights. It should run!
I have just encountered this error on my xampp v3.2.2 [win 10 pro x64],
I first tried to run the "net stop http" command in an admin cmd, but it didnt solve the issue, so I went ahead to try the "netstat -abno" command and i found out that the ssl port(443) was in use by vmware.
so my advice, don't just look for what's blocking port 80, also look for potential programs using port 443. because I really don't like changing my default port numbers to 8081 and 4433.
So this is how you can solve this issue...
firstly type the following command
net stop http
then try to start apache, if it still doesn't work. type out the following command
netstat -abno
and you'll definitely get that troublesome app that's using up your precious port.
copy the pid and then use the following command
taskkill /f /pid PID
where PID is the pid you copied.
Hopefully this helps someone.
In my case port was already used by windows IIS service.
You can check if port is being already used from cmd. Open cmd and run this command:
netstat -ano
If it is being used by IIS you can stop it by following command. Open cmd as administrator, then:
iisreset /stop
Now try running XAMPP, it should work.
You can run apache_start.bat file from XAMPP directory for see details about your error details.
Try the following, none of the above solved it for me
Select "Run as administrator"
Then click on the big left box next to Apache
And Choose to uninstall Apache
I have no idea why this worked but it solved my problem directly!
Step 1: In Apache go to Config then select Apache(httpd.conf)
In the notepad, find Listen 80 and add another 80 to change the port to become Listen 8080
Make sure to save before closing the notepad.
Step 2: In Apache go to Config the select Apache(httpd-ssl.conf)
In the notepad, find Listen 443 and add another 3 after 443 to change the port to become Listen 4433
Then search for VirtualHost default:443 and add another 3 to change the port to become VirtualHost default:4433
Make sure to save before closing the notepad.
(Note: There is a similar answer here but it did not work for me until I fond a video on YT)
I solved the problem with stopping the service "Web Deployment Agent Service". Open: System -> Computer Management -> Services -> Web Deployment Agent Service. Stop this service and starting XAMPP works.
I think this is a service by MS Webmatrix.
(German: Systemsteuerung -> System und Sicherheit -> Verwaltung -> Dienste -> Webbereitstellungs-Agent-Dienst)
Best solution
open XAMPP control panel,click on config for Apache, then click on Apache(httpd.config).now in the text editor . ctrl+f --> find "Listen 80" and replace it with "Listen 8079" wtihout the quotations :)
but now you have to use it like this http://localhost:8079/
P.S, I tried to change port settings for skype , stopping the Web Deployment Agent Service which I could not find in windows 10,cmd--> net stop http, and other methods but nothing worked except this .
I had the exact same error message as the OP, but my problem was not addressed by any of the existing answers. Many of the answers deal with conflicts on port 80, which I knew I did not have, since I had had localhost responding on port 80 very recently.
Turns out I had inadvertently changed ServerRoot when I intended to change DocumentRoot (stupid, I know), and though the new ServerRoot directory existed, it did not contain the configuration files and other stuff apache needed, which caused it to fail on startup. The error message probably addresses this scenario by the wording 'missing dependencies'.
On my Windows system, setting ServerRoot back to C:/XAMPP/apache solved the problem.
The Apache server by default runs on ports 80, 443. Your problem is one or both of the two ports are busy. Usually Skype or VMware Workstation use these two ports. So, make sure that they're not running. The best way to make sure the ports are free on windows is :
Click windows button.
In the search bar type resmon, to open the resource monitor resmon.exe.
Open Listening Ports, this will show you the opened used ports.
Now you can see which process is using ports 80 and 443.
Then you can kill the process either from CMD using its PID (which is shown in the resource monitor), or directly from Task Manager.
To kill a process from CMD using PID type Taskkill /PID 26356 /F, where 26356 is the PID.
Best Solution for windows user is :
Open netstat (from XAMPP CONTROL PANEL)
Find PID of process which uses port 80.
Open CMD with Administrative.
Run taskkill /pid PID (instead PID use pid u found from netstat)
Heyy enjoy u Done.....

Apache won't run in xampp

I have just installed XAMPP and everything works fine except that I can't get apache to run. It seems that port 80 is the problem, I have disabled Skype to use port 80 but it doesn't seem to fix it. I read somewhere that the SSL port can be the problem and should be changed. But I cant figure out were the port is or how to change it.
"Check the "/xampp/apache/logs/error.log" file"
I have tried to check this file but inside "logs" there isn't anything. From apache I can go to error but there is not any recently changed documents.
The error:
20:34:24 [Apache] Problem detected!
20:34:24 [Apache] Port 80 in use by "system"!
20:34:24 [Apache] Apache WILL NOT start without the configured ports free!
20:34:24 [Apache] You need to uninstall/disable/reconfigure the blocking application
20:34:24 [Apache] or reconfigure Apache to listen on a different port
20:40:50 [Apache] Attempting to start Apache app...
20:40:50 [Apache] Status change detected: running
20:40:51 [Apache] Status change detected: stopped
20:40:51 [Apache] Error: Apache shutdown unexpectedly.
20:40:51 [Apache] This may be due to a blocked port, missing dependencies,
20:40:51 [Apache] improper privileges, a crash, or a shutdown by another method.
20:40:51 [Apache] Check the "/xampp/apache/logs/error.log" file
20:40:51 [Apache] and the Windows Event Viewer for more clues
How to I fix these errors?
If you just want to make Apache run an don't mind which port it is running on, do the following:
In the XAMPP Control Panel, click on the Apache - 'Config' button which is located next to the 'Logs' button.
Select 'Apache (httpd.conf)' from the drop down. (notepad should open)
Do Ctrl + F to find '80'. Click 'find next' three times and change line Listen 80 to Listen 8080
Click 'find next' again a couple times until you see line ServerName localhost:80 change this to ServerName localhost:8080
Do Ctrl + S to save and then exit notepad.
Start up Apache again in the XAMPP Control Panel, Apache should successfully run.
Use http://localhost:8080/ in your browser address bar to check everything is working.
EDIT
Also you may have problems running XAMPP while running IIS. If you are running IIS it might be worth stopping the service then starting XAMPP.
Find out which other service uses port 80.
I have heard skype uses port 80. Check it there isn't another server or database running in the background on port 80.
Two good alternatives to xampp are wamp and easyphp. Out of that, wamp is the most user friendly and it also has a built in tool for checking if port 80 is in use and which service is currently using it.
Or disable iis. It has been known to use port 80 by default.
There are 2 ways to solving this problem.
If you want to run Apache in another port then:Replace in xampp/apache/conf/httpd.conf "ServerName localhost:80" by "ServerName localhost:81" At line 184. After that even it may not work.Then replace
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
by
#Listen 0.0.0.0:81
#Listen [::]:81
Listen 81
at line 45
If you want to use port 80. Then follow this. In Windows 8 “World Wide Publishing Service is using this port and stopping this service will free the port 80 and you can connect Apache using this port. To stop the service go to the “Task manager –> Services tab”, right click the “World Wide Publishing Service” and stop. If you don't find there then Then go to "Run > services.msc" and again find there and right click the “World Wide Publishing Service” and stop.
If you didn't find “World Wide Publishing Service” there then go to "Run>>resmon.exe>> Network Tab>>Listening Ports" and see which process is using port 80
And from "Overview>>CPU" just Right click on that process and click "End Process Tree". If that process is system that might be a critical issue.
Skype, try closing it and then running xampp, if it works then change the skype port to stop using port 80
Take a look at this site:
http://www.lukebrowning.com/blog/nt-kernel-system-using-port-80/
In my case, it was the SQL Server Reporting Service, but others have seen IIS or the Web Deployment Agent Service.
Open a cmd window and run services.msc, find the service, and stop it. Then try to start Apache. If it works, disable the other service.
Note that this problem usually occure for two reasons:
1-Port 80 is busy.
2-Port 443 is busy.
For number one as the others said, you can kill Skype and SQL Serever Reporter from
Windows Task Manager>"Services" Tab>"Services..." Button.
But if it dosen't worked, it's probably because of port 443, so try this one:
If you use VMware, go to
Windows Task Manager>"Services" Tab>"Services..." Button, and find "VMware Workstation Server" service, double click on it and press "Stop" button.
There is no need to stop other VMware's services.
Then again try to run Apache
logout your account in skype.. then in xampp control panel click start from the line of Apache..
In my case, it was something else. One day earlier I tried to install wordpress using bitnam of xampp, but I was not successfull.
When I saw the error log, there was an error :
httpd.exe: Syntax error on line 560 of C:/xampp/apache/conf/httpd.conf: Could not open configuration file C:/xampp/apps/wordpress/conf/httpd-prefix.conf: The system cannot find the path specified.
I opened the httpd.conf and found this line:
Include "C:/xampp/apps/wordpress/conf/httpd-prefix.conf"
I just commented it with #,
Now it's running fine. :)
In my case the problem was that the logs folder did not exist resp. the error.log file in this folder.
Like Ianshark points out, a common reason for this error in Windows 7 is the Web Deployment Agent service.
The Web Deploy Tool enables administrators to use IIS Manager to deploy ASP.NET and PHP applications to an IIS server.
You can disable it from XAMPP Control Panel by clicking the "Services" button. If you have changed the port in the Apache config file, change it back to 80. Then uninstall Microsoft Web Deploy, if you prefer a more permanent solution.
Do you have Bitnami installed? If so it is most likely one of those installations check by opening command prompt as admin or terminal in linux, enter this...
netstat -b
This will give an application name to those processes and ports in use. Look for :80 or :443
I had the same kind of problems. I finally made it to work.
I successfully changed the apache ports to listen to ports not used by other programs
Port 443 is used by SSL and Skype
I believe that the XAMPP Control Panel has a bug and I have screen shots in my posts to. I do not have enough credibility on this web site to upload pictures.
I have the whole thing written down with screen shots in the following blog posts:
http://hodentek.blogspot.com/2014/02/one-way-to-handle-port-80-in-use-by.html
http://hodentekhelp.blogspot.com/2014/02/on-installing-apache-on-windows-7-64bit.html
http://hodentekhelp.blogspot.com/2014/02/do-you-want-to-change-ports-that-skype.html
None of the above worked for me. This is what finally worked for me:
1) Start Services (Type services in your start > search)
2) Look for Apache services.It was disabled in my case. Enabling it worked for me.
Some people have also reported duplicate listing of Apache services which has prevented it from starting. If that is the case, delete/disable one of the Apache services which corresponds to the wrong path.
A restart of XAMPP might be required.
In my case I simply had to run the control panel as administrator
just disable "world wide web publishing service" , it solve my problem.
In my case, it was something else. One day earlier I tried to install Magento using bitnami of xampp. And I deleted That Module
I opened the httpd.conf and found this line:
Include "C:/xampp/apps/magento/conf/httpd-prefix.conf"
I just commented it with #,
Now it's running fine. :)
Try stopping Apache and MySql and starting them again in the following order.
Apache
MySql
Etc...
Wait for both services to stop properly before restarting. Turning them on and off too quickly gives the same problem.
Inspired by lansharks answer.

XAMPP PORT 80 is Busy / EasyPHP error in Apache configuration file:

This problem has completely shot my entire day. I reformatted my old windows XP comp and tried installing XAMPP only to find that when i try to start Apache xampp claims port 80 is busy....WHAT DOES THAT EVEN MEAN?
So I tried just uninstalling and moving to EasyPHP instead and when I installed that I get the error "error in Apache configuration file: the system cannot execute the specified program"
No, I do not have Skype or any other programs really for that matter at this point, like I said I JUST REFORMATTED so idk whats going on.
I would love to get this fixed, but if you leave me a answer please be specific on directions bc I'm only programming, never been to big on IT and playing with command lines and what not for me isn't to much fun.
Things to be done to free port 80:
check if skype is running, exit from skype
check services.msc if web deployment agent service is running
check if IIS is running, stop it.
Once you start apache, you can sign into skype.
Only one process can use port 80 at a time. Port 80 is the default port for web servers, so when you navigate to websites over HTTP, you are actually navigating to that server's port 80 by default (when you use HTTPS, the port is 443).
You can try to hunt down all the programs that are running on port 80, but there's an easier way that will work for development. When running XAMPP, click "Config" under "Apache". Replace Listen 80 with Listen 8080 and ServerName localhost:80 to ServerName localhost:8080.
Then, when you want to look at your masterpiece, navigate to http://localhost:8080 in your browser.
SQL Server Reporting Services (SSRS) SSRS can remain active even if you uninstall SQL Server.
To stop the service:
Open SQL Server Configuration Manager.
Select “SQL Server Services” in the left-hand pane.
Double-click “SQL Server Reporting Services”.
Hit Stop.
Switch to the Service tab and set the Start Mode to “Manual”.
Skype
Irritatingly, Skype can switch to port 80. To disable it, select Tools > Options > Advanced > Connection then uncheck “Use port 80 and 443 as alternatives for incoming connections”.
IIS (Microsoft Internet Information Server)
For Windows 7 (or vista) its the most likely culprit. You can stop the service from the command line.
Open command line cmd.exe and type:
net stop was /y
For older versions of Windows type:
net stop iisadmin /y
Other
If this does not solve the problem further detective work is necessary if IIS, SSRS and Skype are not to blame. Enter the following on the command line:
netstat -ao
The active TCP addresses and ports will be listed. Locate the line with local address “0.0.0.0:80″ and note the PID value. Start Task Manager. Navigate to the Processes tab and, if necessary, click View > Select Columns to ensure “PID (Process Identifier)” is checked. You can now locate the PID you noted above. The description and properties should help you determine which application is using the port.
Run this in command prompt:
netstat -ano | find ":80"
It will show you what process (PID) is listening on port 80.
From there you can open task manager, make sure you have PID selected in columns view option, and find the matching PID to find what process it is.
If its svchost.exe you'll have to dig more (see tasklist /svc).
I had this happen to me recently and it wasn't any of the popular answers like Skype either, could be Adobe, Java, anything really.
Port 80 might be busy with other application like IIS. If you don't want to stop it, you can change the apache port. Here is the way..
go to the C:\xampp\apache\conf (directory where you installed xampp). Now, locate the httpd.conf.
Open it with any text editor (like notepad) and go the line that says Listen 80
Change this with any other port (like Listen 1234)
Save the file. Restart the server and go ahead.
xampp port 80 is busy when some other application is using the same port at that time. This can be solved by using one of the following methods:
Detect the application which is using the port 80 and close it.
This one is more efficient. xampp installs apache server with default port 80. So, you can change this port manually to any number.
Just find the httpd.conf file in xampp installation and replace the following line of code.
#Listen 12.34.56.78:1234
Listen 80
to any port number of your choice. Here, i have taken 8000.
#Listen 12.34.56.78:1234
Listen 8000
Find the following code in the same file httpd.conf
ServerName localhost
Replace with the following, take the same number you have used in upper code.
ServerName localhost:8000
For detailed answer, check http://webolute.com/blog/programming/this-may-be-due-to-a-blocked-port-missing-dependencies
Just do one thing
open skype > tools > advance or advance settings Change port 80 to something else 7395
Restart your system then start Apache
I've found that the biggest culprit for taking up port 80 on newer Windows installs is the BranchCache Service (#3) in this list...
SQL Server Reporting Services
Web Deployment Agent Service
BranchCache
World Wide Web Publishing Service
These 4 service probably cover 90% of the native Windows Services that take up port 80.
The other 10% is the hidden HTTP.sys service/driver which takes port 80 when another service requests it. Run this to disable it, and reboot.
sc config http start= disabled
Aside from Skype, TeamViewer is also very commonly installed software, and will take port 80 if not configured otherwise.
List taken from: Opening Up Port 80 For Apache to Use On Windows
If you are running VMWare Workstation , you need to stop the VmWare Workstation server - port 443 as well
So I have faced the same problem when trying to start apache service and I would like to share my solutions with you.
Here is some notes about services or programs that may use port 80:
Skype: skype uses port 80/443 by default. You can change this from tools->options->
advanced->connections and uncheck the checkbox "use port 80 and 443 for addtional incoming connections".
IIS: IIS uses port 80 be default so you need to shut down it. You can use the following two commands
net stop w3svc
net stop iisadmin
SQL Server Reporting Service: You need to stop this service because it may take port 80 if IIS is not running. Go to local services and stop it.
These options work great with me and I can start apache service without errors.
The other option is to change apache listen port from httpd.conf and set another port number.
Hope this solution helps anyone who face the same problem again.
This happens because some other programs running in your system is using the default port 80 used for http service by apache server in xampp/easy php.
Some programs like skype usually use port 80.
so find such program and remove it ...
For finding programs listening port 80 refer Port 80 listening programs
Try finding the Service running on the PID that is blocking the service from Task manager->Services
In case this isn't of help go to Task Manager->Services
Go to the Services button on bottom right of window and stop the Web Deployment Agent Service. Retry starting Apache . That might solve the problem.
This problem is because port 80 is used by some other application. Try to reconfigure port.

IIS and Apache (WAMP) running

How can we run IIS 6 and Apache (wamp) in same machine at same time?
IIS and Apache should have different port.
To change the port of Apache(WAMP)
Click on WAMP icon that you can see on your tray or other shortcut icons for wamp.
Look for the Apache and open the httpd.conf or if you know where it is stored.
Find the "80" then change
Listen 80 to Listen 8080
ServerName localhost:80 to ServerName localhost:8080
Note: You can change the port which you desired as long as it will not conflict with your other port. It is more safe and common if the port is at this range.
Then click on Restart All Services.
See here for more info.
If you prefer to change your IIS rather Apache, check on this IIS
Another thing to watch out for is the port used for VirtualHosts (443). In your Apache folder, in conf/extra there should be a file called http-vhosts.conf
You should change all instances of 443 to a different port.
Change:
Listen 443
NameVirtualHost 127.0.0.1:443
<VirtualHost 127.0.0.1:443>
Then you should be good to run both services.
In the WAMPSERVER 3.0.6 and above right Click WAMPSERVER icon and navigate to tools option.(only if its green color- i.e all services are running). It will list all the options for Apache and MySQL. Test the available port or if not click on 'Use a port other than 8080, it will give you a pop up box and you can enter the value and text the port.Image attached
Or like in my case, I wanted wamp to run on port :80 on a secondary ip on the same network card.
This allows me to use my main ip to run IIS on :80 and the secondary ip :80 apache.
How to get multiple IP's on same networkcard? stackoverflow alias IP
Browse to 'C:\wamp64\bin\apache\apache2.4.23\conf'
open httpd.conf
Look for Line ~72 Listen 0.0.0.0:80 and change this to the secondary ip (in my case 192.168.210.41:80).
I had to restart pc because IIS did not want to restart. Start IIS first, then Wamp.
Works!
You can run both server simultenously by changing port number of Apache or IIS.
A) How you can change Apache port number:
1) Open “httpd.conf” file located in folder “C:\wamp64\bin\apache\apache2.4.23\conf”. You can also open file directly from system try if your wamp is running.
2) Search for “listen” text in file and update the default port 80 to 8080.
3) Now Restart the WAMP server to make new port number effective.
4) Open the browser with url “http://localhost:8080/” wamp will show home page.
Reff: http://sforsuresh.in/iis-and-wamp-servers-on-the-same-system/
B) How you can change IIS port:
1) Go start and type IIS.
2) IIS Manager will open. click on “Default Web Site” on left hand side.
3) click on “bindings…” from the right side action section.
4) Popup will open with 80 port listed. select it and click the edit button.
5) Update the port and restart the server.Now try to access using browser.
Reff: http://sforsuresh.in/change-iis-port-windows/

Sharing Apache Server with the Internet?

I installed Apache with WAMP. I want to make my computer as a server for my web page for make some experiment on my web site.But I can`t open my server in Internet. I can see it in http://localhost/mysite/index.html but when I try to reach it in another computer like http://myserverip/mysite/index.html it says server not responding. I am using wireless router and also forwarded to my LAN ip.
A few ideas:
check that apache is bound to your PC's internal IP rather than just localhost - run netstat -an and verify that you have local address 0.0.0.0:80 not 127.0.0.1:80
check that you're definitely forwarding port 80 from the router to your PC
check that you're not firewalling off the traffic, i.e. make sure there's an exception in the windows firewall for port 80 (and 443 if you're using HTTPS), or a program exception for httpd, or even try turning off the firewall temporarily whilst debugging this
find out if your ISP is blocking this - some won't let you run web servers from your home connection; you could try a different web port to see if that helps?
try connecting from some other machine - there could be some proxy configuration that's upsetting looping back into your PC