(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!
|