I have 25 machines in intranet and 1 of it is hosting a website . Website is accessible to every machine in intranet using the ip address . But how to make it visible to public ?
I'm assuming you use some router with NAT to connect to the internet?
If that's the case, your router needs to do a port forwarding from the public IP address to the private IP address of this server that hosts the website. You need port 80 for HTTP and 443 for HTTPS.
In case you want to point a public DNS name to your website, you will need to point it to the public IP of your router.