Troubleshooting WAMP Server installation on Windows 7 computers
I like to code in both PHP and .NET or ASP so on my laptop or PC I need to be able to runboth PHP code and .NET code.
As both languages use different web servers to run their code this means on Windows PC's I have been installing WAMP Server to run and test any PHP code. However ever since moving to a new laptop (Windows 7 64 bit) I found that getting WAMP Server to work was a right pain in the arse.
I had managed it on my Work PC (also Windows 7 64 bit) without any problems at all so I don't know why on a fresh install I had issues. Anyhow this is how I troubleshooted WAMP Server installation on a Windows 7 laptop.
After installing wampserver turn it on and start all service then try and access it e.g http://localhost
You will probably be met with an IIS 7 home screen and not the WAMP Server home screen you might have expected.
This is because windows PC's come with their own IIS web server which sits on the same port 80 that WAMP Server does.
First off try turning off IIS by going into Administrator Tools, open IIS and disable it.
Or you could go into Administrator Tools, open Services and turn off World Wide Web Service.
Then restart all the WAMP Server services and try http://localhost or http://127.0.0.1 again
If it works then you will be met with the WAMP Server Home page but if like me on Windows 7 you might be met with a 404 page that just says
Not Found
HTTP Error 404. The requested resource is not found.
So WAMP is still not running even though the other web server running on that port is off. So something else is blocking or listening that port.
You can try to find out what this is by doing the following:
Running Command Prompt (under administrator rights)
Typing in: netstat -b -o
You need the -o so that you can see the Process ID column as long as you remembered to run under admin privileges and you need the -b to see which program is running or creating the connection consuming the listening port in this case port 80 on 127.0.0.1 (localhost).
You will get something back like this
C:\windows\system32>netstat -b -o Active Connections Proto Local Address Foreign Address State PID TCP 127.0.0.1:80 my_pc_name:49719 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49721 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49723 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49725 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49727 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49729 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49731 TIME_WAIT 0 TCP 127.0.0.1:80 my_pc_name:49733 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49718 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49720 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49722 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49724 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49726 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49728 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49730 TIME_WAIT 0 TCP 127.0.0.1:1110 my_pc_name:49732 TIME_WAIT 0 TCP 127.0.0.1:5354 my_pc_name:49155 ESTABLISHED 1368 [mDNSResponder.exe] TCP 127.0.0.1:27015 my_pc_name:49441 ESTABLISHED 1128 [AppleMobileDeviceService.exe] TCP 127.0.0.1:49155 my_pc_name:5354 ESTABLISHED 1128 [AppleMobileDeviceService.exe] TCP 127.0.0.1:49441 my_pc_name:27015 ESTABLISHED 4768 [iTunesHelper.exe] TCP 192.168.1.7:49619 ww-in-f125:5222 ESTABLISHED 4884 [googletalk.exe]
Not very helpful as all the Proccess ID's for port 80 on 127.0.0.1 are set to 0.
If it's not set to 0 you can find out what process is listening on it by going to your Task Manager, ticking the "Show processes from all users" box and then searching for the PID (process ID).
If the PID column is not shown then go to View > Select Columns and tick the PID (Process Identifier)
option.
So because we are no nearer to working out what is using this port we are stuck as the other web server is disabled and not listening on port 80 but it seems nothing else is. A virus scan with a good tool helps here just in case something is running that shouldn't be.
As I haven't been able to find out what is using the port I have to now resort to a hack to get WAMP Server running.
This hack is actually useful if you want to be able to run WAMP and IIS on the same machine at the same time.
If you have done a default install then go to the httpd.conf ini file which should be at:
c:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf
Then find the Listen option which will be under some comments near the top starting with
# Listen: Allows you to bind Apache to specific IP addresses
and change it to a port you want to use instead of 80 and one you know you are not using. I chose port 8888 a common HTTP alternative port.
So add this line in under the comments.
Listen 8888
This should get your WAMP Server default page up after a WAMP restart by accessing:
http://localhost:8888
However you should also change another directive in the file which identifies the servers name.
It starts with these comments
# ServerName gives the name and port that the server uses to identify itself.
So replace
ServerName localhost
with
ServerName localhost:8888
or if you chose a different port then use that instead of 8888.
You will now find that you can access WAMP Server from your PC okay and if you still want IIS to run alongside then it's a good idea to change the PORT of WAMP Server anyway to prevent having to keep turning IIS off (or permanently disabling it).
A bit of a pain to get going but it works for my 64 bit Windows 7 PC and I know someone else who had the same problem with their new PC. On my older XP laptops and PC's I had no problems at all getting WAMP working and it's only since moving to Windows 7 I have had this issue.
If anyone know what causes this issue then please let me know but please don't reply SKYPE or some other application could be the problem as we ruled that out with the netstat -p -o command prompt scan earlier.
Anyway this hack gets WAMP Server running and it is good to know how to debug the problem.