If you finally decided that you will set up your own web server, the first thing you need to do is to visit your Internet Service Provider’s (ISP) Customer Support and make sure that you don’t have any objections to set up a web server in your contract. Your contract may be preventing such use and possibly, you will not want to be a part in a lawsuit when you’re satisfying your geeky desires.
The second thing is to check your broadband connection. Most probably you are using an ADSL (Asynchronous Digital Subscriber Line) subscription, which means that the upload and download speeds are not equal. For example, I have a 1 Megabit/256 Kilobits ADSL subscription. When I deploy my own web server, my server will take the requests from the 1 Megabit part and reply on the 256 Megabit part. This means that my visitors will have 4 times the upload speed of their download speed. This is important: when hosting a web page, your upload speed is your visitors’ download speed.
The third thing is to check if you can get a static IP from your ISP. If you cannot get a static IP, you will have difficulties in hosting your web server, because your domain name has to be resolved to an IP address. If it’s not static, you have to use a dynamic DNS service to change your web server’s IP address whenever it changes.
The fourth thing is to plan the network topology. 99% your topology will be to plug your modem to your web server (USB port or Ethernet) and then connect your server to a switch with an Ethernet cable, which other clients will connect to. In the latter and the better option, which is an Ethernet connection, you will need to network cards. The image shows this topology.
The fifth thing is to plan for your web server’s security. You cannot ask for official help from any company for your web server, you are personally hosting it and it is you who has to consider its security. Do not trust solely on your router/modem’s built in firewall, think about the possible defenses.
If you have cleared all these items, you can purchase an Internet Domain Name for your web site. The names are typically “rented" for USD 7 – USD 10 per year. Make sure that you choose your domain name registrar from Internet Corporation for Assigned Named and Numbers’ (ICANN) accredited registrars.