Port forwarding is set correctly. Apache's httpd is configured to listen on all IPs on port 5900. Firewall exception added for port 59. But when I try http://myip:5900/index.html I cannot have access. What could be wrong?
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
Listen to the traffic on your firewall to see if incoming traffic is even making it there. If so, examine the traffic logs to see if it's being NAT'd correctly. Then, sniff the traffic on the web server itself to see if anything is making it there. If it is, then turn to the web server itself. Check your error and access logs for anything of interest. There is so very little information that we have of your situation that not much more can be said.