First of all, resolving "localhost" is normally done via your /etc/hosts file, not via DNS.
That is, if the file /etc/host.conf specifies "hosts,bind", in that order, as name resolver methods (basically
this tells the name resolver to first check out /etc/hosts and if that fails, use DNS instead).
Reverse DNS is normally not an issue either, if /etc/host.conf is set up correctly.
By the way, "localhost" should only be known on your machine (eg in /etc/hosts), never defined in DNS.
Secondly, remote machines can't access your machine via it's "localhost" interface. Each machine has it's own
"localhost". For communication between 2 machines, you always need their fully qualified hostname or IP address. Note that there may be some firewall issues too (firewalls may be blocking your HTTP port - eg port 80).
To test this, try browsing to your fully qualified hostname:
http://your_host.your_domain
(this uses port 80 by default, which should be OK).
Could you please verify the port and IP address to which your webserver listens? This is in your /etc/httpd.conf.