Troubleshooting


(Warning, this page is extremely text heavy and requires very careful reading so you don't get confused.  I'm writing this warning because I'm getting confused just writing this guide)

So you are having problems with your website?  Considering how complicated the whole process is, this isn't all that surprising.  However you're in luck.  We have here a Handy Dandy Troubleshooting Guide ready to shoot some trouble.  Yeah that was stupid.  So sue me.

Remember this?

Domain name -> DNS -> IP number -> DSL/Cable modem -> Router -> Network -> Webserver

This is the chain of webserving.  One link is connected to another. If one link breaks, the whole thing is going down.  Your mission (if you choose to accept it) is to find where the chain has been broken and then use your super magical powers to fix it.  We are going to start with the bottom and move up the chain of webserving until we find the weak link.  Here we go.



Webserver:

Is your webserver working?  Is it even on?  You can see if your webserver is working by trying to access the website locally from the server itself.  Here is how you can do it.
 

From: Type into your web browser:
The server http://servername
Replace "servername" with the name of your server
The server http://xxx.xxx.xxx.xxx
Replace "xxx.xxx.xxx.xxx" with your server's internal LAN IP number - something like 192.168.1.xxx - not your DSL or Cable IP number
The server http://127.0.0.1
Type this exactly.  This may not work with host headers.

Each of the methods above should bring up your website.  The only time this might not work quite right is if you are using host headers or are running multiple domain names on the server.  Even so, you should get at least the default web page or maybe an error message from the webserver.

If your webserver is not working right, check to make sure the webserver program is actually started.  Sometime you have to manually start the webserver.

Things to check for:

  • Webserver software started?
  • Website located in the proper directory?
  • Did you name your default document correctly?
  • Did you give access so people can view your website anonymously?
  • Server hardware crash?
  • Network adapter installed correctly and running?


Network:

(If you can access the Internet from your server, you can skip this part)

Is the network that connects your serer to the router working correctly?  The easiest way to do this is to log onto your server and try to access the Internet.  If you can browse the web, then the connection between your server and router is good.  Or you could simply ping the IP number of router from the server by typing in "ping xxx.xxx.xxx.xxx (IP of the router)"    You can also test your network by using a different computer on the LAN and trying to access the server website by one of these methods:
 

From: Type into your web browser:
A computer on the LAN internal network http://servername
Replace "servername" with the name of your server
A computer on the LAN internal network http://xxx.xxx.xxx.xxx
Replace "xxx.xxx.xxx.xxx" with your server's internal LAN IP number - something like 192.168.1.xxx - not your DSL or Cable IP number

Things to check for:

  • Connected network cable between router and server?
  • Good cable?  No cuts, tears, cracks?
  • Connection or link light lit on the router and the network adapter?


Router:

The most common mistake here is to forget to forward the correct ports to the server.  If you forgot how to do this, read up here.  Yes, I know the example is for the Linksys router, but the concept is the same.  If you forwarded the correct ports and it still won't work, then try putting the server on the DMZ, where the server is completely exposed to the Internet.  If this works, then try port forwarding again and keep opening the proper port numbers until you get it to work.  Remember to take your server off the DMZ and close any ports that aren't being used when you're finished.

One way you can see which ports are open is to go GRC.com and have them "Probe your ports" in the "Shields Up" section.  The results should show that at least port 80 open.  If you think you opened the ports on the router, but GRC.com still shows it as closed, try the port probe again or try opening the ports on your router again.

Things to check for:

  • Did you forward the correct ports?
  • Did you forward the correct ports to the correct IP number/computer?
  • Does the router have the correct information to log onto your DSL or Cable account?
  • Is the connection light between the DSL/Cable modem and router lit?

DSL/Cable Modem:

(If you can access the Internet from your server or any computer on your network, you can skip this part)

Make sure your modem is plugged into the proper connections.  Check to make sure all the lights that are supposed to be lit are actually lit.  If not, disconnect the modem from the line and then reconnect.  If this simple yet effective suggestion does not work, call your ISP and have them fix the problem.  It is possible that your DSL/Cable modem is going to "sleep" when there is no activity on the line.  This is a problem that I have with this very site.  For solutions, go to the bottom of this page.

Things to check:

  • Power to the modem (I love this one!)
  • Connected to the proper phone line (DSL) or cable (Cable)?
  • Connected to the router?
  • Damaged cable between modem and router?


IP number:

Okay, now we're getting into the good stuff.

From a computer on your network, try accessing your website by typing in the IP number of your DSL or Cable line.  In order for this to work, your router must support "loopback".  Most routers do support loopback for web requests, but many don't for ftp requests.  If your router doesn't support loopback or if you are testing out a ftp server, then you should disconnect your computer (not the server) from your network by unplugging the network cable and then dial into a local ISP with a 56k modem so that you will be "outside" your network.
 

From: Type into your web browser:
The server
(loopback required)
http://xxx.xxx.xxx.xxx
Replace "xxx.xxx.xxx.xxx" with your server's external WAN IP number - Your DSL or Cable IP number.  Not your internal LAN IP number.
A computer on the LAN internal network
(loopback required)
http://xxx.xxx.xxx.xxx
Replace "xxx.xxx.xxx.xxx" with your server's external WAN IP number - Your DSL or Cable IP number.  Not your internal LAN IP number.
From the Internet - WAN http://xxx.xxx.xxx.xxx
Replace "xxx.xxx.xxx.xxx" with your server's external WAN IP number - Your DSL or Cable IP number.  Not your internal LAN IP number.

From the computer connected to the modem, try to connect to your server by typing in the IP address if your DSL/Cable connection.  If this works, great, if not, then we have bigger problems.

If you cannot connect to the sever by the IP address, try to ping your DSL/Cable IP number from the computer still on the modem.

  • If this works, that means your router is good, and the problems like with things downstream of the router such as the network or webserver.
  • If this does not work, then the problem could lie with your DSL/Cable modem, router, network, or server.  Time to go back and figure things out.


DNS:

Oh no! Not the dreaded DNS again!  Unfortunately, when there are problems with hosting a website, the majority of the time the DNS is the culprit.

Your DNS servers translate your domain name into an IP address.

First let's check if the DNS is even working correctly.

The result will look like this (I searched for www.yahoo.com):
-------------------------------------------
Hostname: www.yahoo.com 
IP Address: 216.115.105.2 
Decimal Address: 3631442178 
-------------------------------------------

You are checking to see if your DNS severs are outputting the correct IP address in the results.  If you see your IP number, then your DNS servers are working correctly.  If there is an error or the incorrect IP number, you need to go and make the proper changes with your DNS service.

A very common error is to submit the LAN IP number of the server to the DNS.  This is incorrect, you must submit the WAN IP number of your DSL/Cable line.  If your DNS IP number returns "192.168.xxx.xxx" then you have an error.  The "192.168.xxx.xxx" range of numbers is designed for internal networks (LAN) and cannot be accessed from the outside.  Only WAN IP numbers can be accessed from the Internet.  Take a look at this diagram if you're still confused.



Domain name:

Let's first see if your domain name works.  (I guess if it did work, you wouldn't be reading this troubleshooting guide).

From a computer on your network, try accessing your website by typing in the domain name of your website into the web browser.  In order for this to work, your router must support "loopback".  Most routers do support loopback for web requests, but many don't for ftp requests.  If your router doesn't support loopback or if you are testing out a ftp server, then you should disconnect your computer (not the server) from your network by unplugging the network cable and then dial into a local ISP with a 56k modem so that you will be "outside" your network.
 

From: Type into your web browser:
The server
(loopback required)
http://www.yourdomainname.com
Replace "yourdomainname.com" with your domain name and extension (.com, .org, .net)
A computer on the LAN internal network
(loopback required)
http://www.yourdomainname.com
Replace "yourdomainname.com" with your domain name and extension (.com, .org, .net)
From the Internet - WAN http://www.yourdomainname.com
Replace "yourdomainname.com" with your domain name and extension (.com, .org, .net)

Okay, so when you type in your domain name, you can't access your website.  Here we will check if your domain name is pointing to the correct DNS servers.  If they point to the wrong ones, then you need to make the corrections with your domain name registration service.

Let's go:

At the bottom of the results you will this (I searched for www.yahoo.com)
-------------------------------------------
Domain servers in listed order:

   NS1.YAHOO.COM  204.71.200.33
   NS5.DCX.YAHOO.COM  216.32.74.10
   NS3.EUROPE.YAHOO.COM  217.12.4.71
-------------------------------------------

Most likely, you will only have two nameservers, not three like in this example.  The name servers listed should be the ones you use for DNS.  They are not, go change them with your domain name registration company.



Final words:

We have now come to the end of this wonderful troubleshooting guide.  Hopefully you were able to find the source of your problems and well.. shoot them.  If you still are befuddled with your problems, drop by our online forums and you'll find somebody more than happy to give you more specific advice.  If you feel there is something that I missed in this troubleshooting guide, drop me an email and I'll be more than happy to add it to this ever growing list.  Good luck!
 



Server Software