you got to add A record in NS assigned for particular domain so domain will point to proper ip
then make sure router forwards required ports, http is port 80 by default
and pray that your ISP doesn't block commonly used ports, if it does. then you can use another port like yourdomain.com:88 (which also must be configured in apache and router)
some ISPs may also recycle their IPs so your IP may change sometime. in which case you can hook it up somehow through dyndns.org or similar service.
in your apache follow this example to setup vhost
<VirtualHost *:80>
ServerAdmin [email protected]lhost
DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost"
ServerName dummy-host.localhost
ServerAlias www.dummy-host.localhost
ErrorLog "logs/dummy-host.localhost-error.log"
CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>
im not sure if "ServerName www.mydomain.com:80" correct and works