WampSever is not running on windows 8 machine.when tried to start it, it's icon is always red and orange.when i test port 80, I get the following message on the console
Your port 80 is not actually used.
press enter to exist...
i have follow the instruction of the accepted ans in the following link
but wampserver in not working still icon is ORANGE.
First confirm that the services wampapache64, wampmysqld64 are running. If there is a problem with port usage, either change the port and kill Skype in Task Manager (This was causing the issue for my IIS server) and restart the services.
Another thing, check your firewall rules. The Apache HTTP Server rule must be enabled.
I've tried deleting skype but that didn't work, I've tried turning off the world wide web thing off, IIS off nothing seems to work.
12:51:22 PM [Apache] Problem detected!
12:51:22 PM [Apache] Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM [Apache] Apache WILL NOT start without the configured ports free!
12:51:22 PM [Apache] You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM [Apache] or reconfigure Apache and the Control Panel to listen on a different port
Open a CMD prompt as administrator and execute the following command:
net stop was /y
Open the Run dialog box (press Win+R), then type: services.msc
Then search for World Wide Web Publishing Service (WWW-Publishing Service) and Web Deployment Agent Service and stop them. You should also disable them.
Start Apache again with XAMPP :)
Link Ref: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/
Another very easy option is to simply set Apache to listen on a different port. This can be done by clicking on the "Config" button on the same line as the "Apache" module, select the "httpd.conf" file in the dropdown, then change the "Listen 80" line to "Listen 8080". Save the file and close it.
Now it avoids Port 80 and uses Port 8080 instead without issue. The only additional thing you need to do is make sure to put localhost:8080 in the browser so the browser knows to look on Port 8080. Otherwise it defaults to Port 80 and won't find your local site.
This will also require you to restart Apache for the change to take effect.
Voila! Fixed.
In httpd.conf change the following lines and then restart the application:
Listen 80 to Listen 8080
ServerName localhost:80 to ServerName localhost:8080
When you press "Start" the application can still say that you have an error like "Port 80 in use by "Unable to open process" with PID..." but it will still work.
If the error includes "Port 443 in use by "Unable to open process" with PID..." you need to change both httpd.conf and httpd-ssl.conf.
In httpd-ssl.conf change:
Listen 443 to Listen 4433
<VirtualHost _default_:443> to <VirtualHost _default_:4433>
ServerName www.example.com:443 to ServerName www.example.com:4433
Extracted from this article:
Go to your run command and enter:
netstat -o -n -a | findstr 0.0:80
The last number here is the process ID using it. This is most often IIS or other web relates service and is easy to resolve, but every so often (very often it would seem looking around on google) it appears to be PID 4 – which according to the Windows Task Manager is the NT Kernel and System. Not very helpful given killing this will result in a blue screen of death.
The thing hogging port 80 has nothing to do with IIS or web anything, it's SQL Server Reporting Services. Turn off anything that resembles a SQL Server Services and start Apache again, no need for a reboot.
So problems with PID 4 listening to port 80? Check your SQL services and turn them off.
UPDATE -
Comment from #sangam:
Worked at a shot. In my case, it turned out to be SQL server reporting
services. I stopped the service for all the installed instances, and
it worked (without machine reboot).
So I have faced the same problem when trying to start Apache service and I would like to share my solutions with you.
Here are 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 disable the checkbox "use port 80 and 443 for addtional incoming connections".
IIS: IIS uses port 80 be default so you need to shut it down. 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.
VMware Workstation: If you are running VMware Workstation, you need to stop the VMware Workstation server - port 443 as well.
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 faces the same problem again.
You might need to stop the "Web Deployment Agent Service"
Press Win+R and type services.msc
Right click on Web Deployment Agent Service and select "Stop"
Restart XAMPP
Also after double clicking "Web Deployment Agent Service" you can make the Startup type to Manual, So that "Web Deployment Agent Service" will not start automatically
As there is comment by #johnkarka on the question, this port is used by SQL Server reporting service as well. After stopping this, Apache started fine.
Go to "SQL Server Configuration Manager"
Click on "SQL Server Reporting Service" and stop it
The funny thing is IIS was working fine in same configuration but not Apache, had to stop SQL Reporting service to make it work on default port (80).
After changing the main port 80 to 8080 you have to update the port in the control panel:
Then click here:
And here:
Then save and restart.
Open Task Manager (Ctrl+Alt+Delete).
Go to "Details" tab.
Sort by PID number.
End process that is using PID number indicated in error.
Restart XAMPP.
What worked for me was stopping the Internet Information Services (IIS). If you are using Windows 7, click on your Start button and in your search box, type "iis". Click on "Internet Information Services (IIS) Manager". When the window pops up, and assuming you've got none of the icons selected, you should just be able to click Stop on the right action pane. My XAMPP Apache started right up. Hope it all worked out for you.
In windows 10, to free up port 80:
in my case, I open "Services" from "Search Windows" (on the left corner on screen), then stop all of SQL server services MSSQLSERVER and it works again
I had this problem too and stoping services using port 80 didn't helped. I resolved it by following this procedure (found on a french board):
Launch RegEdit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
Change the value of "start" to 4 (disabled)
Reboot your computer
Not sure how this affect other services, but it solved permanently the issue and so far I didn't see any issue.
Using Windows 10.
If you've SQLServer Reporting Services running locally then you need to stop that also..
I've had the same problem, but in my case Apache was already running and for some reason the XAMPP config tool didn't show that. It happened after I started XAMPP for the first time after the installation. After crashing the other Apache instances all was fine and ports 80 and 443 were free again.
So before making changes to your systeem, make sure something as obvious as the above isn't happening.
"SQL Server Reporting Service" was causing issues in my system, after stopping it, Apache started working fine
I have the same issue, I solved the problem, just disabled
"BranchCache Service" in services.
Somehow windows updates, this service is triggered in startup, and uses 80 ports. When you check via netstat you could see the system is used this but couldnt understand which service is used.
Click services on the Xampp control panel (filename is services.msc, extra info).
First, look for IIS, if it is running. Stop it (stop this service option on the left after clicking on the service name.). Then, this is the main problem, Look for Web deployment Service (not the exact name though it has Web deployment at the beginning.). Stop this service too. Try again and Apache should work.
If you are running Skype, exit out of that too, run Apache, then launch Skype
I've had same problem, when I was installed MS WebMatrix, IIS Server was blocked the port 80 which XAMPP was running on. I tried to find World Wide Web Publishing Service and stop it, but could not find it on list. Best way is changing a port.
Please refer with this
link ref.
For those with ASP.NET, C# or having SQL Server users, If you are using SQlServer OR Visual Studio Your port might encounter. easiest thing you might want to do is on Command> servies.msc and then find SQl Server Reporting Service and then stop it.
if the service is http.sys
You need to change the binded IP address for http.sys
netsh http add iplisten ipaddress=::
Work fine without restart the os.
The Web Deployment Agent Service is deployed with WebMatrix and was the cause of my woes. It may also be distributed with other applications installed using Microsoft’s Web Platform Installer.
Uninstall it solved my problems!
For me usually works:
- Turn off Skype
- Turn off all SQL Server processes displayed in services.msc
- Turn off World Wide Web Publishing in services.msc
It usually works afters you stop IIS Server and Skype
XAMPP - Port 80 in use by “Unable to open process” with PID 4! 12
run the comment in cmd tasklist
and find which the PID and process name related to this now open window task manager
you can also open window task manager by using CTRL+ALT+DEL
now click on the process tab and find the name which using PID and right click on that and
end process
now again restart the xampp
I had same issue. After some googling arrived to this page. Since I guess this error may have various reasons, so listen to my experience:
Xampp red line log:
12:53:54 PM [Apache] Problem detected!
12:53:54 PM [Apache] Port 443 in use by "Unable to open process" with PID 3908!
...
Finally it turned out that I had this line of code in my php codes :
$res = file_get_contents("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
The purpose of this piece of code was to get a mirror of php result from somewhere in my server. But it's just stucked in a loop that gets its own content!
I repaired code:
$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
Then I restarted apache ... and that apache error never happened again.
So sometimes searching for probable halting points in your code is a good approach.
In Ubuntu by default, the system will not allow you to occupy privileged ports [ 0 to 1023], other than specifying the port as 80, you need to run XAMP with sudo.
I write this, because i coudn't find answear for the same question.
In my case PID was 2484.
you must find a process or service with this PID:
open cmd (in Windows) and write:
tasklist
Find your PID in this list and read name of process or service.
Now you can kill this using Task Manager
find this name on Process list
click End Process.
That's my case. Possibly you must open services.msc and stop Service with your PID.
On my computer xampp it worked fine :)
i use a pc with windows 7.i tried to telnet to another host but it didn't work even though the host had enabled telnet server and i had enabled the client.So, i enabled telnet server on my pc and telnet to my pc. But this too failed with the error
Connecting To 172.17.4.155...Could not open connection to the host, on port 23:
Connect failed
Then i checked the tcpdump with ubuntu on a virtual machine. The dump said that connection closed with a reset flag sent. So, i checked if there was telnet server listening on port 23, using 'netstat -a' on windows. There was no server listening on port 23. This is weird because in control panel's Programs and Features it says that client and server both are runnning.
Can anyone tell me what is the problem?
Click Start, and then click Control Panel.
On the Control Panel Home page, click Programs.
Under the section titled Programs and Features, click Turn Windows features on or off.
If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
In the Windows Features list, select Telnet Server, and then click OK.
Ref: http://technet.microsoft.com
Thank you sir for the help....But the problem was something else...What really was happening that though the telnet server was installed, it was off in the services i.e. it was disabled...Open the services using task manager and there click on services tab...then go to telnet and change its type to manual and start the service
I recently installed Xampp on my windows machine. It worked when I just did it, see here. However, now the apache won't turn on. I realize that I did not close it correctly (did not use xampp_stop), so maybe that could be the cause.
The error I am getting is:
make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
unable to open logs
How can I get it to work?
Just ran into this very well do documented blog with respect to Apache not working.. I think its really good to reference if you have apache startup issues.
apache friends
here are the steps that i note from the link:
Check that xampp folder is not in a folder containing spaces or brackets ie (Program Files (x86)
Make sure that you have run \xampp\setup_xampp.bat (probably as administrator)
in CMD run -netstat -a (or look in Xampp control beta 3 - and press the netstat button... ) , make sure that nothing is running on port 80 ( on win 7 a lot of the time its actually skype that uses port 80) ( quit skype and try again, if so, in skype --> options ->> advanced --> make sure the "use port 80 as alternative checkbox is unchecked"
If "system" is using port 80, then its windows that is using it ( i have read that that is some IIS service) - if you enable xampp as a service and re-boot then xampp grabs port 80 before system...
If you dont want to run as a service then open xampp\apache\conf\http.conf and change the port that apache will run on (search for string "Listen 80" and "ServerName localhost:80" and change 80 to something else eg: "180")
Make sure you are running Xampp control.exe as administrator
Stop your firewall temporarily to see if its being stopped (then try startup apache again) if so, create an exception in windows firewall
Check that your anti-virus is not stopping it.
If you are running windows 7 64 bit ultimate (sp1) (like i am) - then you may still have a problem (like i am)
last try is to delete xampp folder, and download a previous version of xampp, then try again.
If you have any other steps that you think may also cause a problem, please comment.
I ended up solving it.
Go to the Xampp control panel. Check the "Service" check box.
Clicked on "SCM" button. (Or "Service" button, there on the "SCM" button).
Then I clicked on the "Apache" in the list of services. Turned it on.
Now it is labelled as "Running" in the control panel, and "localhost" works.
I ran into this issue a couple months ago. You have to set Apache as an automatic windows service by checking the Svc checkbox in the XAMPP Control Panel. Once you have set it as a service, you will need to restart windows before you can start apache. Once you have restarted windows, you should be able to stop and start Apache through the XAMPP Control Panel.
From a blog post about it:
The reason you have to do this is because Windows 7 has a service called http.sys which starts automatically and uses port 80. Running Apache as an automatic service causes apache to start before the http.sys service. This allows apache to get port 80 before http.sys starts.
One: If it is running as a service, check your services in windows and make sure it is stopped.
Two: If it is not a service, it will just be a process; go into the task manager and find httpd / apache and terminate the process.
Three: Make sure you are running xampp_start / xampp_control as administrator, on some systems this is important.
I would recommend always using xampp_control as it gives a quick window into whether Apache is supposedly running or not even if some unusual events recently occurred.
Try
netstat -aon | more
If this doesn't work, to see if anything else is listening on that port, and terminate that process.
You may also wish to edit Apache's httpd.conf (probably in xamppdir/apache/conf) to listen to another port and see if it will launch.
Steps:
change the httpd.cong file in those lines:
Listen 8080
ServerName localhost:8080 ( port as example, 8080)
Now, create a xampp.ini file where the xampp-control.exe located and put the code into it:
[PORTS]
apache = 8080
Now restart the xampp.
Hope, it will work to change the apache port. But if you have installed oracle 10g client or any software in which perl is installed then do some more steps like bellow:
4.change the lines from:
`# Perl settings`
`Include "conf/extra/httpd-perl.conf"`
to
`# Perl settings`
`#Include "conf/extra/httpd-perl.conf"`
Now restart the xampp and it works properly in 8080 port.
I found the problem in TeamViewer application - it uses port 80 by default. Under advanced setting I made changes so the application will not use port 80 or 443 for incoming connections. Then switched of xammp and ran again. It works!
I had a similar problem, and after a bit of research, found out that the culprit in my case was the "World Wide Web Publishing Service" (W3SVC in the iissvcs Group).
Apache in XAMPP ran without a problem after stopping this service in my case.
My XAMPP Apache all of the sudden wouldn't start, and, while I wasn't getting that error message specifically, it was because I installed a Skype upgrade, and Skype took over port 80 when my PC started which blocked Apache. I tweaked a Skype advanced setting to fix this.
If your issue hasnt been solved, scan this page for the "windows auto fix" link. It worked for me: Ran the tool, restarted PC, all ports open, instantly on.
http://support.microsoft.com/kb/811259/en
GL
This might help others that's why I am posting my particular solution. I recently swapped Zend Server CE for XAMPP (2.5). The VHOSTS file had to be set-up with an Include directive to an error_log. I was having issues with SVN so I wiped the project I am working on to get a fresh install. However, I happened to start XAMPP prior to doing an svn checkout. That's when I noticed apache doing the Busy...Apache started [Port 80] business. Someone's comment on this thread reminded me of the Include directive. I climbed through the directories and added a blank error_log and blammo! Apache started up nicely.
This might help someone else too :)
In my case I solved it by opening xampp\apache\conf\http.conf.
I changed Listen 80 to Listen 2337
Above that line I had to add Listen 127.0.0.1:80
Then I opened xampp\apache\conf\httpd-ssl.conf
I changed Listen 80 to Listen 7332
Then I could connect to localhost again.
I have a rackspace cloud server running windows server 2008 r2. I've uninstalled IIS because I want to install Apache.
I've installed Apache but it fails everytime i try to run it when i listen to port 80.
I've run the command netstat -aon|finderstr "80" and i see the following:
C:\Users\Administrator>netstat -aon|findstr "80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 10.180.15.249:139 0.0.0.0:0 LISTENING 4
TCP [::]:80 [::]:0 LISTENING 4
UDP 10.180.15.249:137 : 4
UDP 10.180.15.249:138 : 4
So what are these things running on port 80 and why can't i get apache to start? Is there an alternative port for to run apache under that will work just as well as 80?
To enable port 80 on Windows Server 2008 R2:
NOTE: This assumes that IIS is not installed. I added this firewall rule to enable Apache to accept connections on port 80.
Click Start->Control Panel->Windows Firewall
Click "Advanced Settings" in the left panel of Windows Firewall
Click "Inbound rules" in the left panel of Advanced Settings
Click "New Rule..." in right "Actions" panel
Select "Port" and click "Next>"
Select "TCP", then "Specific local ports:" (should already be selected)
Type 80 in the box (just the number) and click "Next>"
Select "Allow the connection" and click "Next>"
Leave all profiles checked and click "Next>"
Enter a name and click "Finish".
Your server should now be able to accept connections on port 80.
On a Windows server running MSSQL, disabling MSSQL ReportServer (display name: SQL Server Reporting Services (MSSQLSERVER)) services and World Wide Web Publishing services, resolved the problem for me. No need to fiddle with firewall settings or changing default port configurations.
I am running a windows 2008 r2 with IIS and sql server. I added an additional IP address to run apache and configured IIS to bind to one of the IP addresses. I ran into the same problem and found suggestions about disabling SQL reporting services and WinRM. These solutions did not work for me.
There are many different services that can use the http server api(http.sys) and will then show up simply as pid 4.
I found the answer at the link below. The essence of the link is to go to a command prompt.
Type netsh press enter.
Type http and press enter.
add iplisten ipaddress=x.x.x.x
http://msdn.microsoft.com/en-us/library/cc307219(v=vs.85).aspx
There is also a method to disable http.sys in the registry but I do not know what the ramifications of that might be.
I hope this helps someone else so they don't waste as much time as I did trying to find the resolution.
I find that I can successfully add the firewall rules to make my own server run on port 80 within the vshost visual studio debug environment but when running as a service it only works on local host from the machine and not from external hosts.
Very frustrating. Seems that there are possible conditions in the firewall which are not exposed in the Windows Firewall configuration interface very clearly.
With IIS installed you need to change bindings on web sites in IIS so that none uses "all available addresses":80 binding. Either change the ports, or change listening IP addresses.