One of the prerequisites for starting a website is knowing where to host the files and what it will cost for a domain name. Of course, there are many ways to go about it. You could choose from plenty of free hosts (like wordpress.com or blogspot.com) or go for a self-hosted one. Self-hosted means more freedom and not having to rely on Google or WordPress for a number of things.
Self-hosted would mean going with a hosting provider or hosting it on your own. You could always start off by simply serving the web files from your own computer. If you’re not expecting too many visitors in the beginning, this is a great way to get your name out by having the pages to show your product or service. Of course, that means your computer needs to be on at all times because that’ll act as the server but then we mostly have it in always-on mode, no?
We’ll look at how to get a hostname to point to your computer, so you can use it like a real website domain, and how to forward incoming requests to the computer that’s acting as the web server.
Set Up a Static IP Address
A static address is one that doesn’t change. It’s always 11.22.333.44, for example. If this is the case for you, then you could easily give your IP address to someone and they could access your website, given the necessary steps are taken. However, if you have a dynamic (changing) IP, this wouldn’t work well because you’d have to keep finding out the new IP and then re-share it with everyone again.
See the difference between a static and dynamic IP address with this post.
Whether you have a static or dynamic address, accessing a website by its IP address isn’t very user-friendly. We’re going to grab a program that can feed us a human-readable name, like a regular website, and then constantly update the naming service with the current external IP, even if it’s dynamic.
Step 1: Create a free account and No-IP.com using this link here. Fill out the basics and then choose the box labeled Create my hostname later.
Scroll down to the bottom and choose Free Sign Up.
Step 2: The next necessary step is to activate your account with the email No-IP sends.
Step 3: When your account is verified, access this link here to create a new host.
Choose any of the free domains from the dropdown list. Select DNS Host (A) for the hostname Type, and then leave the rest as is. It’s okay that the IP address is showing as it is – it won’t be kept this way even if you’re using a dynamic address with your ISP.
Scroll down to the bottom and choose Add Host.
Step 4: To ensure the every-changing IP address is always associated with the hostname, we’ll need to download the Dynamic DNS Update Client. Get this program here.
Begin my logging in with your email address and password from Step 1.
Click Edit Hosts and then select the box next to the host that was just created in Step 3.
Click Save and notice the IP address you’re currently operating with will be associated with this hostname.
You can exit this program at any time but still keep it running, for it will minimize to the notification area.
Note: You must verify you still want this hostname to be active once every month, else the name will be suspended until you login and say you want to keep it. It’s a small price to pay for a free service.
Install the Web Server Software
Now that the IP will always be tied to the hostname, the next major step is to install the software needed to serve the website. We’ll present a couple programs for you to try, depending on what suits your needs.
HTTP File Server (HFS)
HFS is a common program to host simple websites. I’ve used it to host a single page for many months without fail. If you’re after hosting a site that uses just HTML, this is a great, portable program.
Step 2: After installation, open the single file that was downloaded, called HFS. Press the F5 key to switch to Expert mode. Right-click the small house icon in the left pane and choose the option called Bind root to real-folder.
Browse for the folder that contains the website files. Refer to the next section for directing traffic to this server with a port forwarding function in the router.
You may need a server that supports PHP. HFS doesn’t support PHP, so using QuickPHP can serve as a nice substitute.
Step 2: Upon launch, the settings are straightforward. Enter the local IP address of the server, 80 for the port number, and then choose the website files for the Root folder text area.
The Default document filenames are for specifying what QuickPHP should look for and present as the root file. My files contain an Index.html page that should be loaded upon accessing the website. Because it’s listed here, the file will be shown as the default page. In other words, when the server is loaded from JonFisher.HopTo.org, the Index page will load first.
Choose Start to begin serving the files as a website.
Direct HTTP Traffic to the Server
Similar to forwarding FTP traffic to an internal IP for the purposes of serving files over FTP, the incoming website traffic needs to be directed to the local computer that’s serving the website. We do this from the router.
Cool Tip: Also see how port forwarding is useful for settings up remote desktop clients with this guide.
Step 1: Open a command prompt on the web server computer and enter Ipconfig to find the default gateway address, like so:
Step 2: Open the gateway in a browser and navigate to the configuration section that refers to port forwarding.
My Linksys WRT150N settings are under Application & Gaming > Single Port Forwarding. Select the predefined HTTP application or make a manual selection using port 80. Send this forward to the computer that’s functioning as the web server. The address will be listed next to IPv4 Address, like in the above screenshot.
Ensure to save the changes before continuing.
Depending on the program you used above, coupled with the website files, you can now access your locally hosted site with the hostname you configured.
Here’s an example of my website being hosted with HFS on my local computer:
It’s evident how easy (easy if you are able to follow the steps accurately) it is to start serving your website files from your own computer without spending an extra dime on a hosting service or domain name. Yes, it’s understood the free hostname options aren’t that great, but it’s not costing anything to use it. The DNS Update Client is wonderful to keep the IP up-to-date with the hostname without having to manually do a thing.