Apache won't start
#1
Posted 05 September 2009 - 03:21 PM
I recently downloaded and installed the XAMPP 1.7.2 code onto my Windows XP machine. While the installation seemed to go fine, I am unable to start either Apache or MySql from either the XAMPP Control Panel or the command line. I checked the Apache error log, and got this:
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions. : make_sock: unable to listen for connections on address 0.0.0.0:80 no listening sockets available, shutting down
I had read about conflicts between McAfee and Apache, so I went so far as to uninstall McAfee, and now MySql starts and runs. However, Apache is still a problem.
I am not running Skype or IIS. I ran xampp-portcheck.exe, and all ports show up as free. I've disabled all firewalls, to no avail.
Can anyone shed any light on this?
Thanks,
timjh
#2
Posted 06 September 2009 - 10:16 PM
2. Search for a string Listen. You would find something like Listen 0.0.0.0:80 or Listen 80
3. Change it to Listen 127.0.0.1:80 and save the file.
4. Start Apache.
If this does not work, change the line to Listen 8080 or Listen 127.0.0.1:8080, save the file and restart Apache. If Apache starts now then problem is that port 80 is already open by some other application. That application may be some web traffic scanner which some antivirus products install these days. In this case you can test Apache by specifying port number like http://localhost:8080
#3
Posted 10 September 2009 - 01:33 AM
#4
Posted 10 September 2009 - 01:48 AM
#5
Posted 10 September 2009 - 08:00 AM
timjh, on Sep 10 2009, 02:33 AM, said:
No you are doing it wrong.
Apache listens incoming connections at port 80 (called HTTP port) of your computer by default (you can change the port in httpd.conf)
Routers that is provided by your ISP, block any incoming connection at port 80.
So in your router forward port 80 and Apache would start to work. There is no new port to be mixed with.
In your router you should find Apache in servers list, if not then create a new rule and apply it.
You can lookup this web site for instructions on how to do so for your router : http://portforward.com/
#6
Posted 10 September 2009 - 01:48 PM
I have been using the info at http://portforward.com/ to do the forwarding.
I do appreciate your help, thanks.
#7
Posted 10 September 2009 - 09:51 PM
If you are talking about internal and externals port settings, then you should make them both 80. Apache is using internal port 80 and a website user from outside will connect to port 80 of your system through your router.
Can you please give the model of router you are using.
More information : http://en.wikipedia.org/wiki/Port_forwarding
This post has been edited by Romeo29: 10 September 2009 - 09:54 PM
#8
Posted 11 September 2009 - 09:09 PM
Port Range
Application Start End Protocol IP Address Enabled
Apache 80 to 80 Both 192.168.1.x Yes
#9
Posted 12 September 2009 - 05:57 AM
Apache 80 80 Both 192.168.1.x Yes
Did you change x to your internal IP address's last octer like if it is 192.168.1.2, then make x=2?
Then Save settings. I cannot see it in portforward but there can be some Apply Settings as well.
To find internal ip address do a Start Menu > Run, type cmd press Enter and in command prompt type ipconfig and press Enter.
#10
Posted 14 September 2009 - 09:55 PM
http://www.portforward.com/help/portcheck_help.htm
#11
Posted 15 September 2009 - 04:43 AM
1. Run Apache server and check if you can visit http://127.0.0.1/ in your browser. Do not change port 80 to anything else in httpd.conf
2. Check if rules for Apache in your software firewall are set properly. It should be set as a server, accepting incoming connections on port 80.
3. Check if port 80 of your system is forwarded (i.e. it is open to outside world).
You seem to do everything right !
One way to see if your system is accepting incoming connections on port 80 is using http://dnstools.com
Find your external IP address using http://www.whatsmyipaddress.com/ then paste it in dnstools.com and check Do it all and click Go.
#12
Posted 15 September 2009 - 05:10 AM
1. Run Apache server and check if you can visit http://127.0.0.1/ in your browser. Do not change port 80 to anything else in httpd.conf
2. Check if rules for Apache in your software firewall are set properly. It should be set as a server, accepting incoming connections on port 80.
3. Check if port 80 of your system is forwarded (i.e. it is open to outside world).
You seem to do everything right !
One way to see if your system is accepting incoming connections on port 80 is using http://dnstools.com
Find your external IP address using http://www.whatsmyipaddress.com/ then paste it in dnstools.com and check Do it all and click Go.
EDIT:
Quote
If apache is not running, port forwarding is meaningless.
Start command prompt Start Menu > Run, type cmd and press enter. Then do cd to Apache folder and then type httpd.exe. If Apache cannot start because of some problem, it shows error. Post that error here.
Are you also running MS IIS server or some kind of web proxy or web shield software? Download TCP View from http://technet.microsoft.com/en-us/sysinte...s/bb897437.aspx
Run TCP View and find if any other program is Listening on port 80? If some other program has already opened port 80 and listening, then Apache would not start and give error that opening socket failed.
TCP View would show a program listening on port 80 as show below :

Actually port 80 is also called http port. Here I am running nginx server on port 80(http).
This post has been edited by Romeo29: 15 September 2009 - 05:13 AM
#13
Posted 19 September 2009 - 02:54 AM
Can't open nul: No such file or directory
perl_parse: No such file or directory
I downloaded an ran TCP View, and I don't see any programs listening on port 80.

Help


Back to top









