All you want is a simple presence on the Web—a home page. Hundreds of companies on the Internet can host your site, but each has different space limitations, bandwidth charges, scripting capabilities, and usage reports. In addition, some hosting providers are going bankrupt. Which hosting provider is right for you? The answer might be none of them.
If you have a dedicated Internet connection, you can have a Web site without limitations and without cost. You can have access to almost limitless storage, streaming WebCams, any type of scripting you choose, and customized usage reports. You can have all this functionality by hosting your site from your home PC.
If you want your site to be available 24 * 7, your computer has to be constantly connected to the Internet. Constant connection isn't a problem if you have DSL or a cable modem. These connections offer plenty of bandwidth, and your site might be faster than it was at a cut-rate hosting provider.
Hosting a Web site isn't as hard as you might think. In fact, if you already know how to create a Web site on someone else's Web server, you can have your own Web server running in less than an hour. You need to understand the concepts of self-hosting a home page, including DNS, dynamic IP addressing, Web servers, and security. Free software and services are available, so you won't have to spend a dime.
Before you can set up your Web site, you must understand three basic concepts: DNS, IP addressing, and HTTP. DNS is the system that the Internet uses for name resolution. DNS translates human-friendly names such as www.winnetmag.com into computer-friendly names such as 18.104.22.168. The computer-friendly name is an IP address. Browsers use IP addresses to find Web sites on the Internet. IP addresses consist of four sets of numbers (each ranging from 0 to 255) separated by dots. HTTP is the standard language that browsers use to retrieve information from Web sites. Browsers automatically add http:// to the beginning of a Web site's name when you enter the name in your browser. HTTP is a simple language to understand because it resembles English. For example, when a browser retrieves a file from a Web site, the browser literally sends the message "get filename."
Here's an analogy to explain these concepts. If you're going to call a friend, you start by looking up that friend's name in your address book. The address book provides the friend's phone number based on his or her name. The address book is similar to DNS, and the phone number is similar to an IP address; DNS provides the Web site's IP address based on the site's name. When your friend answers the phone, you speak a common language—for example, English. For browsers and Web sites, the common language is HTTP.
Web sites have a name that's registered within the Internet's DNS system, an IP address, and the ability to communicate by using HTTP. If you have an always-on Internet connection, you already have an IP address. The other two components are easy to obtain.
Installing Your Web Server SoftwareYou might already be running a Web server without even knowing it. To find out, log on to your PC at home, then choose Start, Run. Type
at the Open prompt. Your browser will open. If your browser shows a Web page, you're already serving pages and your job will be that much simpler. If your browser shows an error message, you don't yet have Web server software running. So, let's get your Web server installed.
If you're running Windows 2000 Server or Windows NT Server 4.0, Web server software called Microsoft Internet Information Services (IIS—Internet Information Server in NT) is included with the OS. If you're not using the server versions of these OSs—for example, you're using NT Workstation, Windows Me, or Windows 98—you have a scaled-down version of IIS called Microsoft Personal Web Server (PWS). The procedure for installing IIS varies slightly among different OSs, but most procedures are similar to the following Win2K Professional procedure:
- Open the Control Panel Add/Remove Programs applet.
- Click Add/Remove Windows Components. The Windows Components Wizard, which Figure 1 shows, opens.
- Select the Internet Information Services (IIS) check box, then click Details.
- At a minimum, select the World Wide Web Server and Documentation check boxes. The Internet Information Services Snap-In and Common Files check boxes are automatically selected. (If you plan to use Microsoft FrontPage to build your Web site, also select the FrontPage 2000 Server Extensions check box.)
- Click OK to return to the Windows Components Wizard, then click Next. Follow the instructions to complete the setup.
Repeat the exercise at the beginning of this section to locate your Web server and see a Web page served directly from your computer. Now, you just need to tweak the Web server configuration and replace the default content with your home page.
If you're using Win2K and IIS 5.0, you can use the Microsoft Management Console (MMC) Internet Information Services snap-in to administer the Web server software. To access the snap-in, from the Start menu, select Programs, Administrative Tools, Internet Services Manager. To view your Web server's properties, expand the treeview beneath your computer name until you find Default Web Site. Right-click Default Web Site, then select Properties, as Figure 2 shows.
The Default Web Site Properties dialog box contains useful information and a few settings you definitely want to change. First, click the Home Directory tab. The Local Path field shows the location of your Web content. You must copy your home page HTML and image files into this directory. If you already have a copy of your home page on your computer, click Browse to select the path to your content. If you don't have a copy of your home page, copy the files into this directory now.
The Documents tab lets you select the default document name. The default document is the page that IIS returns to users who visit a site without using a bookmark. For most sites on the Internet, the default page is named index.htm or index.html, but IIS doesn't configure either of these names by default. Click Add to enter the filename that you prefer to use as the default page; use the arrows to the left of the drop-down list to move your preferred name to the top.
As a final configuration step, click the Performance tab and set the Web site performance to less than 10,000 users. Feel free to browse through the other tabs in the dialog box. You can set the location to which IIS writes log files, the type of information recorded about each user, whether to allow directory browsing, and much more.
Note that Win2K Pro limits the number of people browsing your site to 10 simultaneous users. This number is probably more than enough for a small office/home office (SOHO) Web site. If you want to increase this number, you can either upgrade to Win2K Server or find different Web server software by searching for HTTP Server on download sites such as http://www.download.com.
Your IP Address
If you have an always-on Internet connection, your ISP has assigned you an IP address so that you can access the Internet. Many people think of Internet connections as one-way connections, but such is rarely the case. The vast majority of home users connect through two-way connections, which is exactly why you are able to host a Web site on your home PC.
How do you find your IP address? If your computer connects directly to a cable modem or DSL circuit, finding your IP address is simple. On your PC, choose Start, Programs, Accessories, Command Prompt. From the command prompt that opens, issue the command
as Figure 3 shows. One of the resulting lines in the command window lists your IP address. If that IP address begins with 192.168., 172.16., or 10., you have a private IP address and have to take an additional step to allow access to your computer from the Internet. If your IP address begins with anything else, the address is public, and anyone on the Internet can reach your computer. If you have a public IP address, call a friend and have him or her enter your IP address into a browser. Your friend should be able to open your home page.
If you have a private IP address or if you have a public IP address but your home page isn't yet accessible from the Internet, then you have a device between your computer and the Internet that's forwarding traffic to your system. This device could be a proxy server, a firewall, a router, or a Network Address Translation (NAT) device. You might have added one of these devices to your home network to let multiple systems access the Internet simultaneously. If such is the case, you need to perform only a minor configuration step to allow incoming Web traffic to your home PC. If you don't have such a device on your network, your ISP is controlling incoming traffic. Some ISPs provide this service on their side of the Internet connection. (Contact your ISP for more information about allowing incoming traffic to your home PC.)
If you have a proxy server, firewall, router, or NAT device, you must configure it to forward HTTP traffic to your Web server. The exact configuration procedure varies from device to device, so consult the device's user manual. In a nutshell, you need to configure the device to forward inbound traffic on TCP port 80 to your Web server's private IP address. As you're performing this configuration, write down the proxy server's public IP address. When you've configured the proxy server to forward traffic on port 80 to your Web server, anyone on the Internet can plug the proxy server's public IP address into a browser and view your home page.
Unfortunately, there's a catch. The IP address that you have now might not be your permanent address. Most ISPs offer dynamic IP addressing, which means that your IP address can change from time to time. My experience with ISPs is that IP addresses rarely, if ever, change. However, you need to know that this possibility exists when you configure DNS for your site.
DNS: The Internet Address BookAt this point, you're successfully hosting your home page on your PC. However, your home page is accessible only by IP address—not a name that's easy to remember. Most people prefer to use a DNS name, such as www.winnetmag.com, to identify their site on the Web.
If you don't already own a domain name, it's time to get one. Many organizations can sell you a .com, .net, or .org domain name. For a complete listing of these organizations, visit InterNIC's Web site at http://www.internic.net/
However, simply owning a domain name isn't enough. You need someone to provide ongoing DNS services. Providing DNS services is a little like an active telephone directory service. A DNS service provider on the Internet takes responsibility for your domain name and provides your home IP address to anyone who enters your domain name into a browser. If your ISP uses dynamic IP addresses, you need a way to automatically notify your DNS service provider of the changed IP address.
Many companies offer dynamic DNS (DDNS) management service for a small fee, and many others provide the service free of charge. Many of these providers offer software that runs on your Web server to notify them if your IP address changes. For a listing of these organizations, visit Dynamic DNS's Web site at http://www.technopagan.org/dynamic or http://www.geocities.com/kiore_nz/dynamicdns.htm. You can also try searching the Web for Dynamic DNS Management.
After you select a company to manage your DNS address, that company will provide you with IP addresses for their primary and secondary name servers. These name servers are the computers on the Internet that perform address-book lookups for people surfing your site. Your domain name registrar has an online form to let you provide the registrar with those two IP addresses. A few minutes after you've told your registrar the IP addresses of your DNS service provider, your Web site is available to the world.
Everyone with an Internet connection needs to be concerned about security. Those of us with permanent connections need to be particularly concerned because our home PCs are vulnerable to attack from intruders on the Internet any time. This threat is quite real because crackers probe home users on the Internet regularly—a practice akin to walking to every house in a neighborhood and checking for unlocked doors. The dangers are real regardless of whether you host a Web site on your home PC; however, if you self-host, you need to take extra precautions.
The best protection is to place a filtering router or firewall device between your home PC and the Internet. The simplest of these devices costs less than $100 and is worth the investment. As long as the device has the capability to selectively filter and forward incoming traffic, that device lets you host a Web site. If you add one of these devices, such as Linksys's EtherFast Cable/DSL router, to your home network, follow the steps in the "Your IP Address" section of this article to configure port forwarding.
If you don't use a separate device for filtering malicious traffic, take a serious look at firewall software. Firewall software, such as Zone Labs' ZoneAlarm, is available at no charge and serves both to protect your computer from attack across the Internet and to notify you when a cracker has attempted to infiltrate your system. Visit a site such as http://www.download.com and search for the keyword firewall. You'll find many software packages to improve your system's security.
Beyond firewall devices and software, you need to watch for security patches that Microsoft releases. If you're using Win2K, your computer is automatically configured to notify you of these patches upon their release. If you're using an earlier version of Windows or if you want to monitor more closely the release of security patches, visit Microsoft's Product Security Notification Web site at http://www.microsoft.com/technet/itsolutions/security/notify.asp to sign up for email notifications about new patches.
Even with multiple layers of security, any system connected to the Internet is at risk. Web servers, by their nature, increase a system's security risk. Many vulnerabilities have let malicious users retrieve files from directories that shouldn't have been accessible. If you use the same PC for balancing your checkbook and hosting your personal Web site, make sure you understand that a skilled cracker can gain access to your financial data. If at all possible, use a separate system for your Web site—even an old, slow system will do. (For best practices for securing your Web server, see Microsoft's Secure Internet Information Services 5 Checklist at http://www.microsoft.com/technet/prodtechnol/iis/tips/iis5chk.asp.)
Adding ExtrasOne big advantage of hosting your own Web site is the ability to add realtime and streaming applications. For example, for the price of a WebCam, you can set up a live camera in your home to watch your pets or make sure your kids are home from school. Most WebCams come with free streaming software, but you might have better luck with freeware and shareware software on the Internet (e.g., Surveyor's Webcam32, PDS's iVista).
You can extend a WebCam's functionality by adding motion-detection software. This special security software, combined with a self-hosted Web site, lets you watch for movement in your house while you're away. If you have children or pets in someone else's care, you can use the software as a "nanny cam" and view video from any location that has an Internet connection.
Another more complex service you can self-host is email. By hosting your own email server, you can create unlimited accounts within your domain name. You need to add a special record to identify your mail server, like the DNS record you configured to identify your Web site on the Internet. This record is called a mail exchanger (MX) record. The DNS service provider you choose should be able to configure MX records. Many free email server applications are available; I suggest searching for the phrase SMTP server at http://download.cnet.com.
You can do a few other things with a self-hosted home page. Here's a partial list:
- Stream your private MP3 collection.
- Host an Internet Relay Chat (IRC) chat room.
- Set up an e-commerce site.
- Provide password-protected access to your personal files.
- Create reports based on your Web site's visitors.
- Provide primary DNS services.