Your setup looks correct to me. It might very well be that your ISP is blocking port 80. Go here
and check from your server if port 80 is accessible.
If you are the only one that wants to connect to you server, you can simply choose another port to use, i.e. www.myserver.com:801. Set port forwarding form port 80 to 801 in your router.
TCP&UDP - from 801 - to 80 - [serverIP] - [Webserver]
The better way is to use a service like DynDNS.com or No-IP.com. You can register a DNS name (like myserver.dyn.com), which redirects to your public IP. The trick is to update your IP address, so even if you have a dynamic IP assigned from your ISP, the redirect will point always to your server. Most routers have the ability to set up with DynDNS, so the process runs in the background and you don't have to update manually - check your router manual.
The second part of this beauty is the redirect to a different port. So even if your port 80 (and 25 for that matter) are blocked, you don't have to have an arbitrary number in your URL (http;//myserver.com:801). You can find more detailed information here
For a quick check, change your webserver to run on port 801, enter the redirect in your router and see if you can get to your server from the outside (internet). If you still can't access the webserver, the problem is not a blocked port.
Hope this helps, but if you have any more questions, just come back here and leave a comment - I'm happy to help you figuring this out.