This article is from 2006! The information here may not be the most current. You can visit an updated version here!
Doesn’t sound like anything new right? Well, some people may not know of this method.
Normally, to host your own webpage you would need to spend around 7 bucks to purchase a domain. Next you would need a hosting plan that usually runs around 3-15 dollars per month to serve up your web pages.
What most don’t realize is that you can skip these steps all together…you don’t need to get dedicated Windows or Linux Hosting (this blog is hosted on dedicated hosting…but started out in my apartment!) to serve pages up to your friends and family. You absolutely do not need to get domain name services through a provider. You can even host your own webserver using a dialup connection (that’s right…I said dialup) although. I don’t recommend it (but I’ve done it using 56.6kbps).
Why would you want to do this? My reply…to stay connected to friends and family…perhaps throw up a gallery so that your grandparents can see pics of your new dog/car/tinfoil hat. Sure, you could waste my time with MyWaste..er..space and be barraged daily by advertisers and solicitors…or you could roll your own web host, install a gallery or website, and provide media to your friends and family without costing yourself a dime. That’s right, NO COST (except time spent getting it running). Just remember, your website might not survive a digging or slashdotting if you run it yourself. Keep that in mind 🙂 So without more chatter, let’s get to the meat and potatoes of things:
Do you cringe at the thought of buying a domain and putting up with the headache of trying to make sure your IP address is up to date with your domain? Do you hate the 40 dollars you spend on DNS service each year to resolve your IP address to your hostname? Read on and learn the the flat-broke-and-busted way of maintaining a fixed hostname for your IP…even if you have dialup.
I’ll divide this up into 2 sections. The first will deal with Linux. The second, Windows. This is only something that I’ve found easy to do and the price is just right (it’s free). The only thing that I recommend is a dedicated internet connection (cable, DSL) but even this is not necessary as dialup can be used. I recommend that you use the Linux way of doing things since it is more secure and doesn’t require a restart every time you patch it.
*note: I’m assuming that you aren’t behind a firewall/proxy of any kind and that your ISP doesn’t block port 80 traffic. If your ISP blocks port 80, see the appendix at the end of this article.
No matter what version of Linux you run, chances are that you’ll be able to install the apache webserver. This is good news as over half the websites of the world are run by the extremely efficient and speedy apache. I’m not going to address the specifics of how to set up your website…only how to get it a fixed address without buying a domain. So, you have your pages dropped into your webservers public directory…good. Now, how to resolve your IP…lets say it is…22.214.171.124 (for our example) and you want it to have a host.name.com to bind to. Easy to resolve. Go to http://www.no-ip.com/index.php and sign up. You can get a site from noip that is like yourname.theirdomain.com/.net/.info. They have cool names like sytes.net and servebeer.org…even workisboring.com
You’ll be able to choose your own top level name…for instance, Ithink.dnsiskinky.com could be your new domain name. Next download a client from the download tab: https://www.no-ip.com/downloads.php
The linux client is a tar.gz source and is simple to install. Follow the instructions when installing. You may have to install compilation tools (devel packages like GCC) to install the client. You now are the proud owner of yoursite.theirsite.com and your IP will ALWAYS update (as long as noip.com is up) each time you log on/sign on/beam up or whatever it is you do.
How does this help you? Well, if you’re like me, you have a dynamic IP address. If you connect to the internet via cable, dialup, or dsl…you also have a dynamic IP address. Dynamic means that it will change from time to time without warning. So by binding yoursite.theirsite.com to your IP address…you don’t ever have to worry about what IP address you have anymore. Instead, you’ll always be able to connect using yoursite.theirsite.com. You can host a webserver using Apache and a virtual host (also known as a Virtual Private server or VPS Hosting) in this style as well (look for another how-to on this subject later) so that everyone can visit a shiny website at yoursite.theirsite.com.
Interestingly enough, Abyss is also free! I ran it while my linux machine was being worked on (bad hard disk…it was a Quantum 200MB drive from 1913…had to upgrade) and it worked just great off of Windows XP. Download that puppy and install it. Make sure you read all of the documentation and familiarize yourself with how Abyss does business.
The next step…getting a hostname… is even easier than the linux method because you don’t have to manually install the noip client…they have a windows installer. Go to http://www.no-ip.com/index.php and sign up. Choose the domain name you would like (see above examples in Linux section). Next, download the noip client from the download tab: https://www.no-ip.com/downloads.php but this time choose the windows client. From there, you’ll be able to install this with a simple double click. Fill in all of your information (pretty self explanatory) and make sure that it will run with each time you sign on. You’re set! Your IP will now resolve to the yourchoice.theirhostname.com
You don’t have to spend a dime to keep a domain bound to your IP. This is perfect for the home user who just wants a gallery or homepage. It’s even good for someone who has a weblog or enthusiast site. I would not recommend this to anyone who has a business and wants to run a site. Just remember that the best things in life are free. Thanks open source!!!
PS: It’s always good form to put a link of the stuff you are using on your website to direct traffic back to your software provider. When I used noip, I included a noip link on my mainpage and also an abyss webserver icon as well. It’s just good form and some companies/software providers necessitate the use of their logo or a link on sites that use their software/code. Just be a nice person and give a linkback to them. Good luck! Have fun!
PSS: Also, please note that having hosted my own webserver for quite some time (circa 2001) I’ve found Linux and Apache as a combination to be more secure, faster, and more stable than any webserver I’ve hosted on the Windows Platform. I included information on Windows mainly to introduce you to the concept of free and open source software. If you thought getting a webserver for free was great, think about getting a whole operating system! Give it a try, you don’t even have to install it (use a Live CD).
If your ISP blocks port 80 traffic, your webserver won’t work. Before deciding that your ISP is blocking however, make sure your firewall has the appropriate rules to allow incoming traffic. You can do a quick add to IPTABLES in the following manner:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP
If you’ve opened up the appropriate ports and things still don’t work, it will be safe to say that you’ve determined the ISP is blocking port 80. How you can get around this conundrum is to switch the listening port on the webserver to a different one and redirect traffic there.
- See how to do this for IIS Webservers
- See how to do this for Apache Webservers (normally in /etc/apache2/httpd.conf but your distro may vary.)
- See how to do this for Abyss Webservers
If you still have problems, drop me a line in the comments section. I may not be able to answer all questions but I can most likely get you to a person/place/thing that can. Have fun and thanks for reading!
This article was originally published on July 13, 2006 and has been updated and reposted.
This content is published under the Attribution-Noncommercial-Share Alike 3.0 Unported license.