Web hosting is a service which allows the organizations & individuals to post a website or web page onto the Internet. A web hosting service, or web host provider, is a business which provides the technologies & services needed for the website or web page to be viewed on the Internet. Websites are stored or hosted, on the special computers called servers. When the Internet users want to view your website, all they need to do is type your domain or website address into their browser. Their computer will then connect to your server & your web pages will be delivered to them through the browser.
Most hosting companies require that you have to own your domain in order to host with them. If you do not have any domain, the hosting companies will help you to purchase one.
Can I host my own website myself?
Yes, you can host your website on your personal computer. But there are several important things which I should point out:
- Linux is not the only OS you can use to host a website (although it is the most popular thing to do). Any computer (Mac, Linux or Windows) can host a website. All you need is code compatible with that OS (operating system), & to expose the port your website is on.
- You’ll need an always-on computer. This means your laptop/PC won’t be good enough. You can find a cheap, old computer, put it in the closet, & keep it on at all times to host your site.
- For users outside of your network to reach it, you need to forward port 80 on your router (WiFi) to the web server. This usually is not recommended for home networks, so make sure you know what you are doing.
- This may violate your service of ISP’s terms. If you start to get the notable traffic to the site, your ISP may drop you or take the legal action. Non-business internet service almost always disallows this.
- You’ll need to use a dynamic IP (Internet-Protocol) service. The IP (Internet-Protocol) address assigned to your home changes periodically, which is done by the ISP to protect you (for the most part). Dynamic IP (Internet-Protocol) addressing is less of a security risk (harder to attack a user, harder to track you, etc.). To assign a URL to your IP (Internet-Protocol), there are services out there that track your IP (Internet-Protocol) & dynamically update DNS, like DynDNS.
- You’ll get attacked constantly. Now, these “attacks” are not usually very difficult to defend against since they are just scripts looking for the weak servers. If you enable SSH on port 22 you will see hundreds of attempts to log in from servers in China. So, make sure you have a basic understanding of firewalls & security.
It sounds like you really don’t want to spend the money to host
a site, but you will take far more time setting up the dynamic DNS, server,
networking, etc. Or you could just pay the couple dollars a month for someone
else to do that for you.