Apache won't start in Windows 10 - apache

I got a new Windows 10 PC and installed XAMPP, but Apache won't start. There is no "World Wide Web Publishing Service" in the "Services" tab - that's not the problem. How do I get Apache to start?

Skype has taken over port 80.
In Skype, go to: Tools > Options > Advanced tab > Connections, uncheck "Use port 80 and 443...", and restart.

Very Simple. When you start your XAMPP, you will get an error message in the log box below your control buttons. It will tell you that another process is using that port with a given PID.
So, what you can do is, open Task Manager and go to Details and then sort the order by PID, then find the given PID and end the task.
Comment here if you need more details. I shall share it with screenshots!

Related

Inherited web server runs internal web console program but is not using IIS...need help reverse engineering

An internal (not available outside domain) .Net Core 3.1 console program was placed on a Windows standard server 2016 a few years ago by a previous programmer. I have been asked to create a similar program. So as a reference, I looked at the current program source code using VS 2019. I thought the current program was hosted by IIS. But after looking at the server hosting the program, IIS has no sites, or applications set up in the GUI...just 'Start Page'. Is this a case of self hosting? To run the program from my local PC browser, I just type in SERVERNAME:33 (I am guessing the 33 is the port number). My new program needs to be set up the same way as the current program. But I don't know where to find the '33' to change it to a different number to avoid a conflict.
NOTE: When I right click on the current project in VS and choose properties and DEBUG, the port being used shows 5000. I've also checked 'LaunchSettings.JSON' which also shows 5000. Is there a HOST file somewhere that would redirect the program to port 33? Thanks.
as Lex li said you could use the command to get the details which application is running on port 33:
1)Open the command prompt as administrator.
2)Type netstat -ano -p tcp |find "33".
3)If the port is being used by any application, then that application's detail will be shown. The number, which is shown at the last column of the list, is the PID (process ID) of that application. Make note of this.
4)Type tasklist |find "1400". Replace the number with your process id which you get from the above command
you will get the details about which application is running on port 33.

Microsoft Edge cannot reach VM with private IP

I have a webserver running in an VM (VirtualBox, configured with vagrant) which is assigned the private ip 10.0.0.20. I can reach the webserver with Google Chrome, but not with Microsoft Edge. I have activated Allow Localhost Loopback in about:flags.
Does anybody what could be the problem?
Not sure about the root cause of the problem, but here are some options to work around this:
Configure VM Networking to be Bridged rather than NAT;
Use a proxy, e.g. Fiddler;
Port forward, using netsh, ssh or other utilities.
For option 2 and 3, see this answer for details.
I have the same problem and can't find a workaroud -- even after 2 years. I guess the final answer is: Stop using Edge.
Looks like Microsoft is dumping it: [https://arstechnica.com/gadgets/2018/12/post-mortem-tying-edge-to-windows-10-was-a-fatal-error/]
Go to the start menu and type "Internet Options" Select internet options and open he security tab click on Local Intranet then press the sites button.
Control Panel > Internet Options > Security > Local Intranet > Sites
Uncheck "include all local (intranet) sites not listed in other zones" and "Include all sites that bypass the proxy server".
Restart Edge and try again.
If your machine with the webserver has internet access you could use a tool like ngrok to create a tunnel with a public URL to your machine.
http://www.sitepoint.com/use-ngrok-test-local-site/
I'm running the latest win 10 V 1809 build 17763.253.
I have checked several threads that don't show any solution, but I found one thread with a workaround by adding the local IP range to the trusted sites, it works for me.
Second workaround is using the server name instead of the IP address.
Example: http://Computer-name/ which gets resolved to IP version 6 address.
Since this is bug only happens with MS EDGE and works fine with all other browsers, where is the official MS solution ?
enter image description here

Intellij / Websphere run config says "address localhost:8880 is already in use"

This is my first attempt at creating a Websphere Local run configuration in Intellij and obviously I need some help.
First question: is Websphere supposed to be running when I run the configuration?
Second question: when I run the configuration and Webshpere is not running Intellij will say 'cannot ping localhost:8880', so probably Websphere should be running. When I start Websphere and then start the Intellij run config it says "address localhost:8880 is already in use" and then "Unable to open debugger port (127.0.0.1:62019): java.net.SocketException: 'socket closed'".
Here is my setup:
Third question: from the Websphere admin console I got that port 8880 is configured as the SOAP_CONNECTOR_ADDRESS. Is Intellij supposed to use that?
Thanks!
The following worked for me:
Go to run/debug configuration and click on +
Choose Remote (and not Websphere Server)
Change port to the port you want to use(I choose 7777)
To answer your question: no, if you want to start the server from IntelliJ, you should first check the server is stopped.
For solving the problem: Have you checked if WebSphere is running as a service automatically?
For doing it on Windows:
Open a "File Explorer" window
Right click on "My Computer"
Click on "Manage"
Click on "Services and Applications"
Click on "Services"
Look for "IBM WebSphere Application Server"
Check if it's running and stop it, change it to manual if you want to start server from IntelliJ without repeating this whole process everytime you log in Windows.

Apache Server (xampp) doesn't run on Windows 10 (Port 80)

I have installed the Windows 10 Insider Program. Everything works, except Apache. When I try to start it, it says that port 80 is blocked. Is there a way to unblock it or tell Apache to use another port instead?
I was using Windows 7 before. I had trouble with port 80 with skype, but i have disabled it.
I had the same problem on windows 10, IIS/10.0 was using port 80
To solve that:
find service "W3SVC"
disable it, or set it to "manual"
French name is: "Service de publication World Wide Web"
English name is: "World Wide Web Publishing Service"
german name is: "WWW-Publishingdienst" – thanks #fiffy
Polish name is: "Usługa publikowania w sieci WWW" - thanks #KrzysDan
Russian name is "Служба веб-публикаций" – thanks #Kreozot
Italian name is "Servizio Pubblicazione sul Web" – thanks #Claudio-Venturini
Español name is "Servicio de publicación World Wide Web" - thanks #Daniel-Santarriaga
Portuguese (Brazil) name is "Serviço de publicação da World Wide Web" - thanks #thiago-born
Alternatives :
Another solution is to shutodwn the service via an admin console with command sc stop W3SVC
see community wiki from Tobias Hochgürtel Apache Server (xampp) doesn't run on Windows 10 (Port 80)
Edit 07 oct 2015: For more details, see Matthew Stumphy's answer Apache Server (xampp) doesn't run on Windows 10 (Port 80)
This answer is intended as an addendum to the highest rated answer on this thread by paaacman. I just wanted to add some helpful detail for users like myself who don't know their way around Windows 10 as well.
Windows 10 runs IIS (Internet Information Services, Microsoft's web server software) automatically during Startup on Port 80. In order to use Apache Server on that port, IIS must be stopped.
paaacman's response refers to the IIS server as "W3SVC", or the "World Wide Web Publishing Service". I suppose that's because Windows 10 runs IIS as a service. In order to disable it or modify how the service runs, you need to know where to find "Services" in your system.
I found the easiest way there was to click on the search button next to the start menu button in the Windows 10 taskbar and type "Administrative Tools". You can either hit return or click on the "Administrative Tools" link that Windows finds for you.
A control panel window will open with a list of tools. The one you want is "Services." Double-click it.
Another window will open called "Services." Locate the one named "World Wide Web Publishing Service." Some other users in this thread have listed what it is called in other languages, if your list is not in English.
If you only want to turn off the IIS server for this Windows session, but want it to run automatically again the next time you start up Windows, right-click "World Wide Web Publishing Service" and choose "Stop." The server will stop, and Port 80 will be freed up for Apache (or whatever else you want to use it for).
If you want to prevent the IIS server from running automatically when you start up Windows in the future, right-click "World Wide Web Publishing Serivce" and select "Properties." In the window that appears, locate the "Startup type" dropdown, and set it "Manual." Click "Apply" or "OK" to save your changes. You should be all set.
With Windows 10 IIS runs on Port 80 by default which can be changed:
Run appwiz.cpl use Turn Windows features on or off and install the IIS Manager Console.
Run InetMgr.exe and go to "Connections -> Sites" and open with right-mouse click the context menu on the default entry "Default Website". In Context Menu select "Bindings" to open the Server address and port configuration.
https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings
I had the exact same problem and solved it running the folowing command from the command line as an admin :
1) first stop the service with the following
net stop http /y
2) then disable the startup (optional)
sc config http start= disabled
Type in command line
netstat -aon | findstr :80
You'll see PID of process which uses port 80.
Then try to configure this app to use another port, or just kill it
UPDATE:
I'll write my comment here to be more clear: according to this link, in Windows 10, it is the MsDepSvc service which occupies port 80. It's for IIS or Web Matrix 2. If you will not use IIS or Web Matrix 2 for any web development, you can try shutting down the service
And for the second part of your question, you can tell Apache to use another port by editing [Apache folder]/conf/httpd.conf. It has "Listen 80" string. Change 80 to whatever free port you want and reload Apache
You may need to terminate SQL Server Reporting Services as well.
In my case I need both XAMPP for Apache development & IIS Express for .Net 2013 development; so I do the following:
In Command Prompt typed services.msc, this loads "Windows Services" where I located "World Wide Web Publishing Service" and stop it.
World Wide Web Publishing Service STOP
The I start XAMPP Control Panel click on "Config", then choose "Apache httpd.conf". Search for "80" then change that to "8080" in both "Listen 80" and "ServerName localhost:80". Save the file from "Save As" & choose "All files" to not save it as text from "Save As Type" & the "Encoding" should be "UTF-8".
Apache httpd.conf
Quit XAMPP Control Panel, then start it again and from "Action" start Apache & MySQL. Now you will see the port changed. As you know now you have to get to your Apache server by using "localhost:8080" instead of "localhost". Also you have both Apache & IIS Express running in the same Windows 10 PC.
I read a post some where were the writer suggested to use port "9080" but it did not work for me.
The problem happens whenever a process uses port 80.
You can run Netstat which is available in XAMPP Control Panel and check which process uses port 80 in your system.
For me it wasn't IIS, but Skype.
Turn off that process/application and then start the Apache services.
I know that maybe this problem was resolved but I had the same problem with different solution. For that, I am going to explain another possible solution. In my case, the port 80 was occupied by Skype (pid: 25252) and I did not know what programme was.
To see the program's pid which is using the port 80 you can use the command that other people said before:
netstat -aon | findstr 0.0:80
To kill the process using the pid (in the case that you do not know the programme) you have to open the CMD with administrator permission and use the next command:
taskkill /pid 25252
Other options with this command are here.
I think it simple to change your Apache server port
Go to C:\xampplite\apache\conf
Open httpd.conf files
Search for Listen 80
Change 80 to any other like 9080
Now XAMPP restart try to start server
NB I am using Server version: 5.1.41 with windows 10
I know this MIGHT not be the cause of your issue, but I've spent a few hours hitting my head against the wall to solve this issue and this is my solution.
(running Windows 10 x32)
So I had installed XAMPP in a deeply nested directory and all the conf files make reference to root\xampp\apache, whereas my files were some_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache
so my options were to either go through and edit all \xampp\apache references and point them at the right place, OR, the much simpler option... reinstall XAMPP at the root, so the references all point to the right place.
A little annoying, but I guess that's what we get when Mac and Windows try to be friends..
Hope it helps a few of you.
In case you need to run IIS on port 80/443 but on different IP address, you may use netsh http add iplisten xxx.xxx.xxx.xxx as described here:
https://support.microsoft.com/en-us/help/954874/iis-binds-to-all-ip-addresses-on-a-server-when-you-install-iis-7-0-on
More details about netsh http add iplisten can be found here:
https://msdn.microsoft.com/en-us/library/windows/desktop/cc307219.aspx
Shutting down "some system process" may be tricky... you should rather edit the [Apache folder]/conf/httpd.conf as mentioned by #Sergey Maksimenko and if you want to configure virtual host, use the new port in [Apache folder]/conf/extra/httpd-vhosts.conf (I used 4900 instead of 80 and 4901 instead of 443 in [Apache folder]/conf/httpd-ssl.conf). And remember to use the port when accessing page on localhost (or your virtualhost), for example: localhost:4900/index.html
This fixed node.js not running on port 80 under Windows 10 as well, I was getting a listen eacces error. Start > Services, find "World Wide Web Publish Service" and disable it, exactly as paaacman described.
I had the same issue and none of the above solutions worked for me.
Apache uses both ports 80 and 443 (for HTTPS) and both must be ready to be used for Apache to start successfully. Only port 80 might not be enough.
I found in my case that when running VMWare Workstation I had the port 443 used by the VMware sharing.
You have to disable sharing in the VMware main Preferences or change the port in this section.
After that as long as you have no other server hooked to the port 80 (see above solutions) then you should be able to start Apache or NGinx on XAMPP or any other Windows stack application.
I hope this will help other users.
While many are taking the approach to stop/disable IIS, it may be helpful to know that you can simply modify the XAMPP port, which has been answered here. This is the route I had to take as I need both running.
Beside the quite obvious reason (IIS), there is another reason that is common enough for this problem. It is worth to quote this question and its answer here:
http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443
So, if you have Skype installed in the computer, be sure to check this as well. The solution is quoted here:
To turn off and disable Skype usage of and listening on port 80 and port 443, open the Skype window, then click on Tools menu and select Options. Click on Advanced tab, and go to Connection sub-tab. Untick or uncheck the check box for Use port 80 and 443 as an alternatives for incoming connections option. Click on Save button and then restart Skype to make the change effective.
First, open regedit run as administrator
see image
open HKEY_LOCAL_MACHINE\SYSTEM\CurrentCurrentControlSet\Services\HTTP
open Start, change value from 3 to 4
see image
then restart your computer

WAMP Apache not starting up

I've trawled through the boards but cant find a solution to my problem.
I've run a netstat, and nothing else is using port 80. I have disabled every bit of security on my system, just to be doubly sure nothing is stopping it.
MySQL boots up just fine, but Apache does not start up. Using the built in port 80 tester also says that port 80 is clear, but when I click the start service button on Apache in WAMP nothing happens.
Any help is appreciated.
Run cmd.exe as administrator. Then execute:
httpd -t
httpd -k start
Are there any error messages displayed?
If not, temporarily disable any firewall and anti-virus software you have. Try again.
If you're still not getting any error messages, uninstall your WAMP and try one of the other distributions - http://en.wikipedia.org/wiki/Comparison_of_WAMPs
I have had the same problem but I have resolved it by logging out of Skpe, stopping Skype's service called Skype C2C Service and started wampapache Service. After I started wampserver, I then logged in Skype After. Both Skype and amperver work well after this process
Ok just do one thing. If you are running skype then close it. restart all services, It might work as it worked for me.
Some times this occurs when Windows Event log Service is disabled.
I recently faced the same problem,and browsed various answers around web in vain.
But later I remembered that I disabled Windows Event Log Service in Oder to run a game smoothly.So I Enabled that service again and now every thing is working fine.
Download and install vcredist_x86.exe from http://www.microsoft.com/en-us/download/details.aspx?id=8328
I opened up services.msc from the command prompt and disabled SQL Server reporting services
& SQL Server analysis services. These services were using port 80.
Then I restarted WAMP Server and it started working properly as before.
Check DocumentRoot directory location if it exists.
DocumentRoot "C:/wamp/www/"
I have solved my problem just following the below steps. Hope this will help to you.
Go to Wamp/Apach/httpd.conf
Under httpd.conf search for Listen in my case its Listen 0.0.0.0:80
Just change the last digit that means your Listen will be Listen 0.0.0.0:81
Save the file, after that start Apache
Thanks,
Amzad
From time to time, with the updates, Microsoft set the 'World Wide Web Publishing Service' startup type to 'Auto'. Try to see if that is your case.
Right-click on your Start button to open the WinX Menu. Select Run. This opens the Run box. Now type services.msc in it and hit Enter to open the Services Manager.
Locate that service and edit with double-clik then set the startup type to 'Disable' to avoid it comes into conflict.
hi the solution is simple.
all you have to do is to right click on wampserver icon on the taskbar and select exit.
after doing that right click on the wampserver.exe icon and select run as administrator option from the context menu.
that's it.
it will solve your problem