I have a LAN with computers connected to various switches and hubs. I want to trasform one of my computers into a web server and I would like to have access to that computer from the internet.
Would the best way to do this be setting my router to send all traffic incoming on port 80 to the IP of my web server? Is there a router designed to do this specifically?
And where in my LAN should I place the router?
If there is a better alternative, please let me know.
Port forwarding is standard on all routers nowadays – a special router is not needed. Simply log into your router’s admin panel and you should be able to forward port 80 to the IP address of your server. Be sure to give your server a static address (unless your router is smart enough to handle port forwarding based on MAC address).
Since you have switches and hubs, the router must be in-between your internet connection (cable modem, DSL line, etc.) and your switches/hubs.
Be sure to configure your firewall to allow port 80, reject the other ports, and properly harden your web server software.
I believe what you mean is to set up a home-based, web-facing server. It’s very simple to do this and lifehacker has a couple of good articles with step-by-step instructions that are simple to follow. You don’t mention what OS you’re running, but it is possible to do this with Windows, Mac OSX, Linux or any other major flavor of operating system and you will essentially just need a permanent DSL connection at minimum, obviously a computer capable of running whatever it is you want on it and a router, plus a hardware or software-based firewall. Security can be an issue when running these at home if you do not harden your system, so read up on how to secure your network and your server before trying this.
normally your ISP will block all incoming connections to port 80. this is to prevent people from setting up home web servers. considering that commercial web hosting is ridiculously cheap you might as well just do that if you’re trying to host a public facing website. if not, consider setting up port forwarding to some other port and have your web server listen on a none standard port. you will then have to access it as http://126.96.36.199:5555 (obliviously an example and not really accessible)