Hosting online with xampp?

Solution 1:

ServerName myip:80.

You should write your DynDNS subdomain name instead of your IP :) Also, in DynDNS you must manually specify the IP address of the host you're forwarding your ports to: DynDNS will only determine your personal IP.

Solution 2:

Things to check:

  • You're binding to localhost not a public facing ip. Bind to 0.0.0.0 (all interfaces).
  • Make sure you're listening. Edit the Listen line in ports.conf to resemble Listen [public ip]:80
  • Ensure you're using the correct ip, use WhatIsMyIp.com.
  • Ensure you are accessible. Ping your computer through the public IP.

Solution 3:

Hmm... Are you sure you've forwarded the ports to the proper IP address? If you're on a LAN behind a router, you'll have a public IP which is assigned to the router's WAN port--that's what the DNS should point to. Then you'll have a LAN IP for the server behind the router. These IPs are usually distributed dynamically by the router and begin with 192.168.x.x. If your router supports it, you can do Static DHCP, which assigns a predetermined LAN IP to your server based on its MAC ID, or instead configure TCP/IP manually on your server by copy/pasting the subnet mask, DNS servers, and gateway IP from what's normally assigned by your router, and then choosing an IP address just outside of the range of what your router will assign. For example, my router assigns 192.168.1.[100-254], so I'll assign my server 192.168.1.42.

Oh, and make sure you're not running a firewall on your router or server.

You've mentioned it works locally, but does it also work on your local subnet? i.e. can you access the web server from another computer behind the router on your LAN, using your LAN IP? That'll help narrow down where the issue is.

Solution 4:

Who is your ISP?

Have you checked your DDNS account to make sure your PC updater client is working correctly? Let your router do the DDNS update if it is DDNS capable (a router that runs DD-WRT firmware is capable of this, and what I would recommend).

You don't need to change ServerName localhost:80, change it back.

For basic hosting you only need port 80, if you want to use Filezilla with XAMPP forward port 21 as well.

Beyond that XAMPP is pretty good (in my experience) at alerting you from its user interface if something is amiss.