Web Site and Web Hosting Basics Tutorial

...for the not-so-experienced Windows users

Index

Index

Index

Introduction

There are many reasons why you or many other persons or groups would like to have a Web site, and hosting the Web site yourself has its advantages, such as:

This tutorial has been designed to provide you with the knowlegde needed to get started with having your own site and hosting it yourself with your own computer. To host a Web site from your own computer, it will be necessary that the computer be running (and connected to the Internet) at times when someone might want to look at your site, though it is preferred that the computer always be on (and connected). It is NOT required that you have any experience at all in this field or any technical knowledge of computer networks. It IS though expected that you know how to browse the Web and hoped for that you can handle using simple computer programs. The hosting referred to and explained will be using the freeware Windows program, NetworkActiv Web Server; This server software was designed to be very easy to use and can be quickly set-up. It contains no ads or other filth, can be freely downloaded (without hassle) and freely used (for personal or commercial uses). Instructions on how to use this software will be provided in the hosting section (far below). The novice in this field should follow this tutorial from top to bottom... only skipping a section if they are certain that they either already understand it or that they don't need it for what they are wishing to do.

Index

What exactly is a Web site?

The name says that it's a site (kindof like a place of being or a location) that is of the Web (not just a web, this is why the upper-case W).

Web Sites, Servers, and the Internet

The Web
The largest mass of inter-connected, hyper-linked (clickable-link-containing) pages available on this planet. This so called web of pages is hosted (made available) by what are called Web servers, and these Web servers are connected to what we call The Internet.
The Internet
The largest computer network on this planet. When you are connected to the Internet, it means that your computer is connected to this massive computer network we call the Internet. Since Web servers are also connected to the Internet, your computer can then access the Web servers and hence the Web sites that are being hosted by these servers.
Computer Network
Put simply, is a means by which computers can communicate (and transfer data and files) with one another.
Web Server
A computer program that makes some kind of files or other data available via the HTTP (Hyper-Text-Transfer-Protocol) over a computer network. Since most Web sites are composed of Web page files, and since these servers can usually host (make available) files in general, a Web server can make Web sites available. When you hear about a machine being a Web server it just means it's a computer that regularly (if not always) runs one or more Web server programs. Some of these machines (computers) have been designed for pretty much nothing other than hosting Web sites and are usually very stable running (reliable), while others are simply normal every-day computers running Web server software. Since most every-day computers these days are pretty reliable and powerful, it is possible to run Web sites from most any computer (even old ones).
Web Site
A collection of inter-linked Web pages, each of which is composed of one or more page files (usually in HTML (Hyper-Text-Markup-Language) format) and possibly additional content files, such as images, sounds, and downloadables. The Web server accesses (fetches) these files when the Web browser (such as Internet Explorer, MSN Explorer, or Mozilla) asks for a particular file across the network (the Internet in this case) via HTTP (the protocol of communication used by Web servers and Web clients (such as Web browsers)). Oftenly a Web site is represented (aliased, referenced) by a domain (also called a domain name) or a sub-domain. An example of a domain is networkactiv.com... further details will be provided later on in this tutorial.

Index

Dynamically generated content

Many Web pages on the Internet are dynamically generated. What this means is that the HTML file that makes the Web page, and possibly even the images on the page are not real files but are created by either the Web server, a server-side-scripting handler, or another generator of some sort right when the page is requested by the browser, or periodically.

The basic categories of dynamic content generators are as follows:

File listings
File listings are pages created, usually by the Web server software itself, with the intent of showing the person viewing the page a list of files and folders located in some folder of the computer running the server software. On file listing pages, each of the files/folders listed is usually a link that can be clicked on to enable the viewing person to download or view desired files. The Web server software talked about in this tutorial, NetworkActiv Web Server, provides user friendly (and colourful) file listings while most Web server software provides more basic looking listings. If you want, you can have a Web site simply consisting of file listings of files you wish to share (such as pictures and audio files) without needing to create any Web pages. This type of setup is particularly easy to do with NetworkActiv Web Server. Note that there are also available third party (not by the server) file listing systems, most use a server-side-scripting handler while some are based on CGI (Common-Gateway-Interface). These systems run on top of the server (so to say) and sometimes provide additional features while sometimes just a different style for/to your file listings.
Server-Side-Scripting
Server-side-scripting is the term given to the system/concept of a system in which the Web pages are made dynamically, but based on what are called script files. These files are like text files that contain instruction code (similar to computer programming code) that tells the scripting handler how to create a particular Web page's page content/HTML. A scripting handler is a program run by the Web server when a scripting file is accessed by the browser. The Web server basically gives the script file requested by the browser to the scripting handler program and the scripting handler program gives the Web server the dynamically generated content that was created based on the instructions in the script file. Many advanced Web sites, especially e-commerce sites use either server-side-scripting or CGI. This is required because the content on sites like eBay is always changing. Forums are a good example of a server-side-scripting based system. At any time someone can post a new message, and so there needs to be something creating the pages of the forum based on all the messages currently in the database. Server-side-scripting also enables for there to be different content displayed depending on who is accessing the page, such as based on what username and password was used to log in. Because the page is created right away as needed, the script file can contain instructions that tell the scripting handler to provide different content based on anything, such as previously mentioned, the username and password. Of the scripting handlers, the most common is one called PHP, see www.php.net for more information.
CGI (Common-Gateway-Interface)
CGI is a means by which a Web server directly calls another program, called a CGI program, that dynamically generates the Web page content. A CGI program is usually a standard executable program file (.exe) that is designed for a particular purpose, oftenly to access databases and/or handle e-commerce transactions. In general, CGI programs and server-side-scripting have the same capabilities but are quite different to make, particularly in that CGI programs are executable programs (made via standard computer programming) while server-side-scripting scripts are designed in a programming (scripting) language designed for making Web pages. If you happen to be a network administrator, you may find interesting the CGI Secrets article.
Web server log file analyzers
Though NetworkActiv Web Server provides a built-in Web site statistics system (to provide statistics on the viewing of your site), most Web servers do not. Web servers can be configured to save what is called a log file. A log file is a text file that contains a list of all of the files that have been requested by clients (Web browsers) of persons and bots accessing the site. Web server log file analyzers are programs that periodically (such as once per day) go through the log generated by the Web server and create Web pages that show statistical information about the viewing of your site. They will create these pages in a folder on your computer and as long as this folder is available via the Web server, the statistics can be viewed through a Web browser. Some third party statistical systems are more integrated with the Web server through means that will not be talked about here.
Live streaming audio and/or video
These usually have their own built-in server and do not use a standard Web server. One example of this type of generator is Nullsoft's SHOUTcast Server. This enables for you to have your own online radio station (for free), provided you have the necessary upload bandwidth (that is, a fast enough Internet connection). Most Internet connections (including most DSL/Cable connections) will not be fast enough for this unless you will have only a couple of listeners at a time.
Miscellaneous other generators
There are many miscellaneous and custom page generators such as periodic Web cam picture takers that take a picture with your Web cam every so often and put the file in a folder that you have serving... Some even have their own built-in Web server software (that provides only features related to displaying the pictures/video).

Index

Standard Web page content

The standard Web page content types are as follows:

Web page documents

Web pages documents are the main files that compose Web pages. These documents will control how stuff (such as pictures and text) is layed out on the page and will also dictate the fonts and colours used. Most Web pages only have one of these documents. Web page documents are in their selves, a file, just as with other documents (such as Word documents or plain text documents).

There are various types (formats) of Web page documents, the most common being HTML (Hyper-Text-Markup-Language). HTML is technically composed of code like text (in some regards similar to computer programming code, but simpler). There are two general ways of creating your own HTML documents... (A) Creating them yourself manually using a text editor program (such as Notepad or Wordpad), or (B) Using a Web page creation tool such as Microsoft Frontpage or Macromedia Studio. Both of these programs are rather costly and are somewhat complicated to use.

Sun Microsystems' OpenOffice is a freely available office tools suite (similar to Microsoft Office). In the Writer program of OpenOffice (equivalent to Microsoft Word), you can create documents (just as you would with Microsoft Word) and save them in HTML format. These can even contain pictures. When you save a document with pictures in HTML format using OpenOffice, it will create a file named as you have specified and will create files named almost the same for each picture that was in the document. This is no problem and can be served with a Web server. I know this may sound a little confusing so far, but give it a try: (1) Get and install OpenOffice, (2) Open up the Writer program that it installed, (3) Create a simple document; (you may even open a Word document you have); drag some pictures that you have onto this document somewhere, and then (4) Go to the File menu and choose Save As.... On the Save As dialog, find the drop-down box named Save as type:, drop it down and choose the type HTML Document. This option should be near the bottom of the list. Then simply decide on a name, type it in, choose a location you know (like the Desktop or My Documents) and save it. After it's done saving, open the saved HTML file by double clicking it (from the location you saved it to, such as My Documents or the Desktop (or wherever else you might have saved it to)) or open your favorite Web browser and then choose File->Open and find the file you just saved.

Microsoft Word supposedly can also save in HTML format. I don't have it here to try so I can't give details but I bet creating an HTML file with Word is similar to the steps outlined in the above paragraph about OpenOffice.

There are many other not-so-common programs for creating Web pages, some are freeware. See download site listings such as Tucows' HTML Editors listing for lists of programs available in this field, or see Nonags' HTML Editors listing for a list that should only contain freeware.

If you want to become a techie in this field and/or just like to do things the manual way, you can create the HTML files yourself using simple text editors (such as Notepad and Wordpad). There are countless HTML tutorials available on the Web, the most popular being W3 Schools HTML Tutorial. W3 Schools provides much much information on the topic of Web page/site related programming and is an excellent place to begin if you want to do things manually. As you may have guessed, this very page was created manually. If you want an idea of what HTML code looks like, right-click (with your right-hand-side mouse button) on this page (NOT on a link or a picture) and click View Page Source or View Source.

Web page images (pictures)

Web pages usually contain one or more image. Images can help to make a page more friendly and not so boring, just as a book with images is usually more interesting than one without. Web page images, just as Web page documents, Web page downloadables, and other standard Web page content are stored on the server computer in the form of files. Each image usually has its own file. Just as Web page documents, Web page images have multiple common formats. Different formats are for different purposes. There are some formats that can, but should NOT be used on Web pages. This is because some image formats are too large in file size and therefore make the page take too long to load (not very much fun when a picture takes 60 seconds to load right?), well that problem can oftenly be avoided if you know what types to use for what...

Common Web page image formats and their uses, ups, and downs:

JPG/JPEG (Joint Photographic Experts Group) is the industry standard format for compressed (disk-space-efficient) photographic images (like pictures of people and stuff). This format is very efficient on processing time (how hard it is on your CPU to handle) and also provides very good compression levels for photographic images, such as real-world pictures of things with many colour shades and details. There are varying levels of compression that you can choose when saving in the JPEG format, with around the upper-middle usually being desirable for Web pages. This format SHOULD be used for your photographic images, but should NOT be used for things like sketches, outlines, and diagrams.

GIF (Graphic Interchange Format) is the industry standard format for highly compressed (disk-space-efficient) diagram, sketch, and outline graphics and is also very commonly used for its ability to have changing pictures, that is, pictures that alternate between multiple things, usually continually. This is the format usually used for ad banners (note how so many alternate between different things while you're looking at them). GIF is very very efficient in file size compared to most all the other formats when it comes to images of diagrams, outlines, and sketches. GIF SHOULD be used for diagrams, outlines, and sketches, but should NOT be used for photographic images. There are Web sites available that provide animated GIFs for use on your Web pages. One such place is www.animations.com. For tools related to making your own GIF animations, see Tucows' Animation Creators listing. Note that not all the tools in these listings are for the GIF format, so be sure to see the descriptions for what formats they make.

BMP (Bitmap) is the industry standard format for non-compressed images. Since it's not compressed, the file sizes can be very large and it is therefore not reasonable for use on Web pages. BMP files should NOT be used on Web pages UNLESS the absolute perfection of the quality of the image is required, such as perhaps for important scientific images, such as x-rays or pictures from a microscope that will be used for medical and/or scientific purposes.

There are many other formats of images. Most are not compressed or have poor compression and should not be used on Web pages. You should use either JPEG or GIF images for your pictures. There are many programs available for viewing and/or converting images from one format to another. My favorite program for viewing images is Irfan Viewer. Irfan Viewer supports, well pretty much any image format you'll ever (at least at this time (2006)) come into contact with and can quickly convert whole folders of image files to a specified format. Please note, converting an image from a higher compression level (lower quality) to a lower compression level (higher quality, but bigger) will NOT increase the quality and is just a waste of time and space. This is like taking a picture (with a high quality camera) of a picture that was taken with a low quality camera. It's not going to magically get better looking.

Creating your own images:

If you want to create your own diagrams, sketchs, outlines, edit photographs, or create your own high-quality graphics, you will need a skillful image editor such as Adobe Photoshop or The GIMP. Adobe Photoshop is very expensive and so the GNU freeware program, The GIMP is probably more of a reasonable idea. The GIMP is not so good as Adobe Photoshop and is not so easy to use (time: April 2006), but still provides a good set of advanced features. All the diagrams on this page were made with The GIMP. (ps., I'm still pretty new to The GIMP)

Macromedia Flash animations

Macromedia Flash animations are like images, but, well, animated. They are far more capable and look much better than using GIF for animations, can be interactive, and can have sound. Macromedia Flash is a proprietary format developed by Macromedia (now Adobe). Though this format requires that the Web browser have a special interpreter installed (called the Macromedia Flash Player), it is still pretty safe to use on your site because almost everyone already has this installed in their browser. To create Macromedia Flash animations, you will need one of their creation tools, such as Flash Professional, or perhaps a third party tool such as one from the Tucows' Flash Creators listing. For a detailed history of Macromedia Flash, see Macromedia Flash in the Wikipedia.

Java

Java is a cross-platform (means it's compatible with different operating system types) operating system that can run programs, just as other operating systems... The difference being that Java (the operating system) runs on top of another operating system, such as Windows. Web pages can have what are called Java Applets. Java Applets are basically programs for the Java operating system that can run on Web pages. How? Because Java runs in the Web browser and runs the Java Applet! If you're new to this it probably sounds pretty weird, but it's real. In effect, what Java provides is an ability to run little programs on your Web page. That is, when someone views your Web page, they will see this little program running and can use it for whatever it provides. Java is developed by Sun Microsystems and requires the Java Runtime Environment to run. Most computers out there already have it installed and so can view Java Applets on Web pages. Developing your own Java Applets is the same as programming... because it IS programming. For this reason, we won't go into it. There are many freely available Java Applets that you can download and use on your Web pages. Some popular sites for this are JavaFile and JavaScript Kit. Though the later has the term JavaScript in its name (even though they provide both Java and JavaScript), JavaScript should not be confused with Java. They are not the same thing, see below for details.

JavaScript

JavaScript is an industry standard (like HTML) that enables for Web page embedded logic. It is a form of programming and therefore should only be pursued by those who feel confident with getting real technical. It enables for things like mathematical operations and many kinds of simple to intermediate effects as well as certain kinds of interactivity on your Web pages. For more information, see the W3 Schools' JavaScript Tutorial. Some additional resources can be found on this introduction.

Web page sounds and simple music

You can add sounds to your Web pages by having the page reference a sound file that is also being served by the server. There are two basic format types of Web page sound... Actual audio, and simple music.

Actual audio sound enables you to have things like voice and actual music (like normal songs) playing on your page (when visited). Please note from the start here that it's not reasonable for you to actually have a real song playing when someone views your page, but sometimes it's okay to have a loop of a small part of a song. You can also have you short voice clip play, perhaps to welcome the viewer to your page. Embedding sounds in your page may require some actual knowlegde of HTML because it may not be supported by the HTML editor/Web page creator that you use. I have never tried to use an HTML editor/Web page creator to add sound to a page and so don't know how it would be done. For information on embedding sound in your page the manual way, see W3Schools' HTML Audio Tutorial. If you wish to be able to record and create your own sound files for use on Web pages, I recommend the GNU freeware program, Audacity. Audacity is a highly capable, professional audio editing program. The payware equivalent is Adobe Audition. Audition is the continuation of what used to be called Cool Edit, that is, until Adobe bought it.

Simple music can be reasonably accomplished by imbedding a sound of the file format known as MIDI (the MID file extension, originating from its use in Musical-Instrument-Digital-Interface, the standard means by which musical equipment communicates with other musical equipment). MIDI's can sound pretty much like a real song, though oftenly somewhat computer sounding, but can not contain voices or other real-world recordings. They are very efficient as far as size and so you can easily have a whole song's worth on a page without hurting the page load time. For information on embedding MIDI's and other sound in your page the manual way, see this page. There are pretty much endless pages available on the Web with free-to-download MIDI files. Some popular ones are MIDI DataBase, and IFNI Free MIDI Music.

Embedded Web page videos

In addition to embedded Web page sounds, you can have embedded Web page videos. There are several different formats of video that can be used for this. Some are proprietary, such as Real Video, Windows Media Video (WMV), and Quicktime, while others, such as Moving Picture Experts Group (MPEG) and Audio Video Interleave (AVI) are not so proprietary and are therefore more widely supported. The safest (most compatible) format to use is MPEG, then AVI, then WMV. Quicktime (MOV file extension) requires the Quicktime player and the format is completely proprietary, meaning that programmers can't develop their own players for the format. This makes it necessary to use Quicktime, a program that when used in the free form nags the user. Real Video is just as proprietary and requires Real Player to play. WMV is almost as proprietary and is therefore also not recommended. I must say though, if you don't care about the compatibility of your site, Real Video and Windows Media Video (WMV) are neat because they're really efficient on file size. Though I have not tried using an HTML Editor/Web page creator to embed a video on a Web page, I imagine that some of these programs have the ability to do this. For information on embedding video on your Web pages manually, see W3Schools' HTML5 Video, Embedded Media HTML Generator, and or WWW FAQs: How do I add video to my web site?.

Miscellaneous other content

There are many other types of scripts (like JavaScript) that provide the same kind of thing. There are also many other types documents (other than HTML). The most widely used and most compatible stuff has been mentioned here though. Other than this, the main other type of content not yet mentioned is downloadables, which as you can guess, are things that can be downloaded. Web pages can and oftenly do contain links to things that can be downloaded. Downloadables can be any type of file that can be stored on a computer... Programs, Music, Word Documents, Saved Games, any digital file type is possible to have available for download in one way or another.

Index

IP Addresses, Hostnames, and Domains... Oh My!

The computers connected to the Internet, not just the average Internet user, but also the computers running server software need to be addressable. That is, there needs to be some kind of way to address (and differentiate) one computer on the Internet from another. This is necessary for a computer to be able to request files from another (via HTTP, or another protocol) and is also necessary for the response to a request (the files that have been successfully requested) to come back to the requester. This means that all the computers need to have an address of one kind or another... With computers behind gateway routers (oftenly called simply, routers) (like those Netgear's, Linksys's, and D-Link's you've seen, used, and/or heard about), things get a little more complicated and this will be explained later on in this tutorial.

For now we will explain IP Addresses, Hostnames, and Domains, along with how they relate to one another.

IP Addresses
IP Addresses are the base addressing system used in contemporary computer networks. Each device connected to the Internet (computer or router (which is in itself a usually small, special purpose computer)) has its own IP address. An IP address is made up of four (4) numbers, each of which is separated by a dot '.' and can be from 1 to 3 digits long. Each of these four numbers can range from 0 to 255, but we willn't go into detail about why as for the purposes of this tutorial, it's not necessary for you to understand this. A few examples of what IP addresses look like are 127.0.0.1, 192.168.0.1, and 64.233.161.147. There is a possibility of up to over 4 billion ( 4,294,967,296 ) of these such numbers to co-exist, but it isn't necessary for you to remember this.
Hostnames
On a local area network (LAN), that is, a usually small bunch of networked computers, the computers oftenly refer to one another by what are called hostnames. In reality, each computer has an IP address on the network... But people want something more user-friendly, and so hostnames were created. A hostname is a usually simple, textual name (a name made of letters and sometimes also numbers) that at a given moment refers to (represents) an IP address. This means that on a LAN you can type into your browser a hostname, such as LivingRoomComputer to access your living room computer. This of course requires that you have set the hostname of your living room computer to LivingRoomComputer. Hostnames are usually not case sensitive, so in the previously mentioned scenario, you could also access livingroomcomputer to access that same computer. Note that the (')s are not to be typed, I just put them for clarification. Do not worry if you don't know anything about changing your computers' hostnames as it's not necessary for hosting a Web site. I mentioned hostnames here because they are similar in purpose to domains.
Domains
Domains (also called domain names) are based on a system called DNS (Domain Name System). DNS is a global (Internet-wide) system that enables for important IP addresses, that is, the IP addresses of computers hosting Web sites, to be represented in an easy to remember form. This is especially important because many IP addresses change over time. Basically, even though Google may have the IP address 64.233.161.99 (and others), you can simply type www.google.com into your browser's address bar to access it. In this example, google.com is a domain, and www.google.com is a sub-domain of google.com (we will explain sub-domains in the next paragraph). For now, just remember that a domain (or sub-domain) is simply a way of representing an IP address by an easy to remember text-like name.
Sub-Domains
Domains, as you may have noticed, contain dots '.'s. This is because domains are set up in a hierarchical structure, each segment (between the dots) represents one level of the hierarchy. The right-most is the highest (most significant) segment. Each segment directly to the left of a given segment is said to belong to or to be a part of that segment. For example, with www.networkactiv.com, the most significant domain segment is com (at the right), the next most significant is networkactiv (in the middle), and the least significant is www (at the left). I know the www thing being the least significant may seem counter-intuitive, and this will be explained in a moment. This all means that in the example of www.networkactiv.com, networkactiv belongs to (is a part of) com and www belongs to (is a part of) networkactiv. Whoever controls a given segment also controls the segments to its left. If you own something.com, you also own www.something.com and anythingelse.something.com. This is because the DNS server (the computer running the DNS server software) responsible for a given something.com is what handles providing the information of what IP address anything to the left of something.com has. I know I hadn't yet mentioned it, but each composition of a domain name, that is, something.something.something (however many segments) represents one (or sometimes more) IP addresses. This means that www.google.com and google.com could actually represent different IP addresses. What does this mean in practice?... It means that each could have a different Web site because each could represent a completely different computer located in a completely different place. Even if they have the same IP address, it's still possible for them to have different Web sites, but likely that they will be on the same computer, but that will be explained later in this tutorial. The DNS system was designed for more than just Web pages... The www at the left of most domain compositions is supposed to mean, The IP address of whatever.com that represents the computer hosting the Web site for whatever.com.. Basically, by putting the www. at the left, you are saying that you want the Web site (hence, WWW (World-Wide-Web)) for that domain, and not something else.

Remember that no matter how you address a computer that's hosting Web site on the Internet, it's really IP addresses that make it possible to access and to request files from it. Many Web sites can be accessed by their IP address(es) in addition to their domain. We will talk about getting your own domain (which costs money) or your own sub-domain (from a sub-domain provider, which is usually free) later on in this tutorial.

Index

Files, Folders, and Paths - Content Addressing

Files

A computer file is a digitally stored, addressable, named block of information. It can contain any kind of digital data, such as text (letters and words and stuff like that), images (pictures), a computer program, a database, a spreadsheet, or any other information that can be stored digitally. As previously mentioned, most Web page content is in the form of one or more files.

Files are named. The common format (style) of name used by files today is a base describing name, for example, A letter to Bob, and a file name extension (called simply, a file extension), say, .doc. The base name is for you to describe what the file is about, while the file extension is used by programs to tell what type of file it is, such as a Word document (.doc), a program (usually .exe), an image (commonly .jpg), and so on. The two name segments are put together as description.extension. For example, a Word document named A letter to Bob would most likely be named A letter to Bob.doc. On older file systems (that is, on old computers), the base name could only be up to 8 characters (letters/numbers) long, and the extension could only be up to 3 characters long. In today's world, the base name length and the extension length are basically unlimited (at least as far as being practical is concerned). On most computers running Windows, the file extension is not shown. This was done because it was feared that persons unaware of the purpose of the extension would either delete (erase) it or change it to something else, causing the program that's supposed to open that type of file to not know what it is, and not see it (for programs normally only look at files with extensions they know). It's probably also not normally shown because they figure it's not aesthetically pleasing. If you wish to see the extensions on your files, see Configuring Windows To Show Extensions or Showing File Extensions. Being able to see the extensions on your files is helpful when you develop Web pages. The addressability of files will be addressed in the What are paths? section (just below).

Folders

Folders are like sizeless boxes that can contain zero or more files and/or zero or more other folders (known as sub-folders). Like domains and sub-domains, folders are set-up in a hierarchical structure, only in this case, it's more intuitive. Since folders are like sizeless boxes that can contain other boxes that can contain other boxes, the box most outside is the highest (most significant) folder. Also, unlike with domains, the most significant container is on the left (not the right like with domains). The order of significancy is therefore reversed. On computers, the most significant folder is usually considered to be a drive. A drive is basically a base folder that usually directly corresponds to a particular physical (real-world, touchable) storage device, such as a floppy disk drive, CD (Compact Disc) drive, DVD (Digital Versatile Disc) drive, USB flash drive, or hard drive. These types of devices most always end in drive (as all the previously mentioned storage devices do). On a PC (Personal Computer), the base folders corresponding to the drives are usually in the form of x:, where x is a letter of the alphabet.

Folders are named. However, unlike files, folders do NOT normally have extensions. They are usually just a describing name. This is because there aren't really different types of folders. Every folder is for the same purpose... To potentially contain other files and folders. To be technical, some folks use folders on Web page file listings (and other types of file listings) to provide information... by putting some kind of instructions or information directly in the names. This is one of the unusual exceptions though as most folders are for holding files and folders. One more thing about the names... Drives usually end in a colon ( : ). This lets you know it's not just a folder, but a drive (basically the highest on the totem pole of folders) as non-drive folders are not permitted to have colons in their names.

Paths

Paths (in this case, also known as file paths) are strings of text used to address a particular file, usually contained within a folder, that folder possibly being a folder contained one or more levels deep within other folders. Since folders are hierarchical, and since paths are usually made up mostly of folder names, paths are also hierarchical. Paths are used by Web pages (in the HTML and such) to address certain content that the page has, such as pictures.

Links are clickable entities that contain a path. When clicked, the Web browser will access (fetch) the file addressed by the path in the link that was clicked. If it's a path to a Web page document, it will show you (usually by going to) that Web page. If it's a path to a picture, it will usually show you that picture. If it's a link to a non-Web-page file type, it will bring up a download box that usually lets you choose a location to save that file to on your own computer. There are different types of paths that can be used on/in Web pages, see below.

Specific types of paths:

Web based local path

/Base_Folder_Name/Next_Folder_Name/And_So_On/File_Name.Extension

This type of path is used to address a file located on the same Web site. Note that it contains all the folders, but not the site name (IP address/domain).

Web based relative path

File_Name.Extension

This type of path is used to address a file located in the same folder as the page addressing it.

Web based relative path with folder(s)

A_Folder_Deeper/File_Name.Extension

This type of path is used to address a file located in a folder contained within the folder of the page addressing it. It's essential to notice that there is NO slash ( / ) before the folder name. When there is a slash before the folder name, it becomes a local path and not a relative path. A slash before the first folder is a sign saying Go back up to the domain and work down from there. Note that you can also access multiple levels deeper than the folder containing the page addressing the file, not just one level like in this example.

Web based absolute path

http://www.something.com/Folder_Name/And_So_On/File_Name.Extension

This type of path is used to address a file located on a different Web site. Note that you can use this type for files on the same Web site, but it's not recommended as it can cause problems when trying to view the page locally (that is, while you're making it).

Web based absolute path with IP address

http://192.168.0.1/Folder_Name/And_So_On/File_Name.Extension

This is the same as above but with an IP address in place of the domain/sub-domain.

The above are Web based paths. Non-Web based paths are similar, but there are a few differences. Non-Web based paths are used to access files on your computer (or sometimes on other computers on your local area network (LAN)). Non-Web based paths have backslashes '\'s instead of forward slashes '/'s. Also, since non-Web based paths don't access domains but instead access drives (as the base container), you usually have a drive letter with a colon at the front, and no http://. Sometimes, as oftenly with files over a LAN, you have a computer name with \\ added to the front before the drive letters and/or folders. See below for various examples of non-Web based paths.

Non-Web based local path

\Base_Folder_Name\Next_Folder_Name\And_So_On\File_Name.Extension

This type of path is used to address a file located on the same drive.

Non-Web based relative path

File_Name.Extension

This type of path is used to address a file located in the same folder of the same drive.

Non-Web based relative path with folder(s)

A_Folder_Deeper\File_Name.Extension

This type of path is used to address a file located in a folder contained within the current folder. It's essential to notice that there is NO backslash ( \ ) before the folder name. When there is a backslash before the folder name, it becomes a local path and not a relative path. A backslash before the first folder is a sign saying Go back up to the drive and work down from there. Note that you can also access multiple levels deeper than the current folder, not just one level like in this example.

Non-Web based local absolute path

C:\Folder_Name\And_So_On\File_Name.Extension

This type of path is used to address a file located on a different drive.

Non-Web based remote absolute path

\\BobsComputer\C$\Folder_Name\And_So_On\File_Name.Extension

This type of path is used to address a file located on a different computer. Note that the drive letter uses a money sign ( $ ) instead of a colon ( : ).

Non-Web based remote absolute path with IP address

\\192.168.0.1\C$\Folder_Name\And_So_On\File_Name.Extension

This is the same as above but with an IP address in place of the computer's hostname.

Important Notice: Never use non-Web based paths in your Web pages. Don't use them for content, don't use them for links. It may seem alright when your page loads on the local computer, but for someone else viewing your site, it will not work! It is best to use Web based relative paths when you can, and sometimes okay to use Web based local paths. Web based absolute paths are only recommended for linking to other Web sites.

Index

File Management with Microsoft Windows

If you are to be creating a Web site, downloading and using files, and using a computer in general, it's essential that you understand how to manage your files and folders. Web pages consist of files, programs consist of files, and downloads consist of files. For this reason, you need to know how to find, organize, copy, move, and rename your files. If you already feel confident in all those tasks just mentioned, you may skip this section. If not, it is highly recommended (and pretty much essential) that you read on here and try some basic file management tasks.

First, you need to understand the main tools provided with Windows for the management of files, folders, and drives. See below for a short description of each, including how to get there.

Windows Explorer

This is the most important tool provided in Windows to manage your files, folders, and drives. To open up Windows Explorer, either right-click (with your right-hand-side mouse button) on the Windows Start button and choose Explore, or if your OS version doesn't have that option, click the Windows Start button, choose Run..., type explorer.exe into the Open: field, and then press the OK button.

Right-Click the Windows Start button

Start button, then Run..., then explorer.exe, then OK

...and you should then have something similar to:

Windows Explorer is now open!

My Computer

Though not so convenient as Windows Explorer is with copying files from one folder to another and with performing certain other tasks, My Computer still provides most of the same functionality. Many people prefer My Computer because it's simpler to use and shows less on the screen at once. This is because it only shows one folder at a time, unless you have more than one My Computer open at the same time. My Computer should be located either on your Windows Desktop and/or in your start menu. You can simply double-click it (or sometimes just single-click it) to open it.

My Computer is now open!

Renaming a file using Windows Explorer or My Computer

Renaming a file using Windows Explorer or My Computer is a very easy task. Simply right-click the file and choose Rename, type in the new name for the file, and press your keyboard's Enter key or click away from the file. Note that this process also applies to renaming folders.

Right-Click on a file you've created

...and then:

File has been renamed

Moving a file using Windows Explorer or My Computer

Moving a file using Windows Explorer or My Computer is a pretty easy thing to do. There are two basic ways of doing this, (1) by dragging and (2) by cutting and pasting. Since we're using screenshots here, it's easier to show the cutting and pasting method. To move a file by cutting and pasting, right-click the file and choose Cut, then go to the new location, right-click in the white space, and click Paste. Once you paste it to the new location, it's no longer in the old one. If after cutting you decide that you didn't really want to move it, you can simply cut some useless text by selecting it, right-clicking, and clicking Cut. The file should remain in its original location. Note that this process also applies to moving folders. When you move a folder, everything in it goes with it to the new location.

Right-Click on a file you wish to move

...and then:

Right-Click in white space of new location and click <i>Paste</i>

...and now for the result:

File is now in new location

Creating a new folder using Windows Explorer or My Computer

Creating a new folder using Windows Explorer or My Computer is a very easy thing to do. Simply right-click in the white space where you want a new folder, go to New, click Folder, type in the desired name, and press your keyboard's Enter key or click away from the folder.

Right-Click in white space, go to <i>New</i>, and click <i>Folder</i>

...and then:

Type in the desired name for the folder

...and now for the result:

New folder has been created and named

Searching for files of a given type on your computer

Searching for files of a given type on your computer is not too difficult a thing to do. It can be quite useful and quite informative as computers these days often have tens of thousands (or more) files. There are probably many files that you don't know about on your computer, including images and Web page documents.

Follow these screenshot based steps to search for files of a given type on your computer:

Open the Windows Search/Find Files dialog

XP users choose All files and folders:

XP users choose <i>All files and folders'

XP/2000/2003 users search for HTML and JPEG files like this:

XP users search for HTML and JPEG files like this

Other Windows users search for files like this:

Other Windows users search for files like this

Final notes on File Management with Microsoft Windows:

There is a lot to this topic and I have only covered some of the basics here, but this is nonetheless essential stuff to know. If you want to learn more about Windows based File Management, you may want to give a look to Windows Help (usually available through the Windows start menu), or check out some of the pages linked to below:

Index

It's hosting time!

All the basic Web site creation and other related topics have been discussed and you should at this point be ready to start working with NetworkActiv Web Server. Don't worry if you haven't created any Web site or Web pages yet as you can always start off just sharing some pictures or something.

Following are sections that will cover the basic steps needed to host your Web site (or just some files) on the Web. A brief explanation of coming steps follows here:

Creating a local website folder (optional)
This is the location where the Web site files can be stored on your computer. This step is probably only necessary if you will be having an actual Web site... that is, with your own HTML or other format of custom made pages. If you just want to share some pictures or other files that you already have in a folder of yours, then there may not be a need to create a new folder. (see the actual step for details)
Download the server software
We will download the no-hassle freeware program, NetworkActiv Web Server. This download is relatively small (~612 KB) and should take less than four minutes on a dial-up modem.
Install the server software
This server software can actually be run without installing for if you don't like to install things. If, however, you would like there to be a shortcut on your Desktop or in your Start menu, and/or you would like to be able to have the program be able to start running before you even log into your computer, you may/will need to install it. Installation is very quick and simple and doesn't really take time other than that needed to click a couple of buttons.
Configure the server software
The server software SHOULD (though it's not required) be configured before you start using it to host your Web site/pages and/or other files. The basic configuration should only take several minutes (or less) to complete, but since some of the settings are dependent on certain factors that you may not yet know, it may take longer. Further customization of the settings, such as colours and fonts will probably happen naturally over time.
Enabling remote/global access
This is the last step in the process of setting up your own hosting. This step involves stuff like Firewalls, Ports, ISPs (usually not directly), and things of that nature. Don't be afraid though as all will be explained. This step varies greatly in difficulty level depending on your situation. For most people, this step will not be too difficult, but I must warn that for some unfortunate (few) folks with evil ISPs, this step may not be reasonably possible.

Notice: Some ISPs (Internet Service Providers) do not permit you to run a Web server. Some ISPs do permit it but will charge you a fee on your bill if they find out. I suppose that some ISPs might even cancel your account. For most people this will not happen, but because some ISPs mind this kind of stuff, you proceed here at Your Own Risk. NetworkActiv can NOT be held liable for any fees or other troubles you endure because your ISP minds you hosting a Web site. It is advised that you look into this, such as via your ISP's Web site or other documentation. If you can't find out there, contact your ISP. If they don't permit it, you could always try to get an ISP who does. I don't believe that people should be limited by their ISP on what they can use the connection for or how much they can use it.

Index

Creating a location for your Web site files

First, determine if you need to create a new location for to hold your Web site files.

If you are going to or have already made an actual Web site or even just a single Web page, then this step is required.

If you haven't made any Web pages and don't plan to at this time then this step may not be required. This depends for the most part on just one thing... Are the files that you're planning to share located in a folder that contains files or folders that contain files that you don't want to share? If so, it may be necessary, or at least a good idea, to create a folder that is dedicated soley to the holding of files and folders that you want to be available on your Web site (this doesn't matter whether you've made any pages or not). The reason for this is that when you share a folder with the Web server, it makes available everything in that folder, including any folders (and everything in those folders) to those who visit your site.

If you feel the need based on the previous paragraphs to create a new folder, then follow the steps below, but if not, you may skip these steps and jump to the next main step (downloading the server software).

  1. Determine where on your computer you want this folder to be located:

    Two good places for such a folder are your Windows Desktop, and your My Documents folder. The reason for these locations is that it makes it really easy for you to get to and to change things (add or remove files to/from, rename files, etc.) whenever necessary. Other than these, a common choice by persons running servers is to create a new folder on the root of their hard drive. That (on the root / on root) means that it's not contained in any folder other than the drive letter itself. On root is a fine location, but unless you make a shortcut to the folder on your Desktop or in your Start menu it would require that you open up Windows Explorer or My Computer and then browse to (look around for) the folder.

  2. Create the folder in the location determined in step 1 (just above):

    Create the folder using the same steps as explained and shown previously in this tutorial (in Creating a new folder using Windows Explorer or My Computer). Note that you may use the same steps from that section on the blank space of your Windows Desktop or in your My Documents. The same thing applies... just right-click in the blank space (not on something) and choose New->Folder.

  3. Move (or copy) the things that you wish to share into your new folder:

    Either follow the steps as explained and shown previously in this tutorial (in Moving a file using Windows Explorer or My Computer), or if you don't want to move the files but wish to copy them, simply replace the step about clicking Cut with instead clicking Copy. When you use Copy instead of Cut the files will remain in their original location, even after pasting them to a new one.

Index

Downloading the server software

It's time to get your download on!

As mentioned previously, the size is around 612 KB and should take less than four minutes on a dial-up modem. The program is NetworkActiv Web Server, a hassle-free, quick and easy to set up, freeware, Windows based Web server (also called an HTTP Daemon).

You can view it and download it from its page:

http://www.networkactiv.com/WebServer.html

...or you can download it directly from

http://www.networkactiv.com/NetworkActivWebServerV3.5.exe

Be sure that when you click on the link to download it (from here or its page) you direct the browser to save it to a location you can easily find, such as your Windows Desktop. This is chosen on the download box that appears directly after (or one more step after) clicking the download link.

Index

Installing the server software

As mentioned previously, installation is only required if you wish to have shortcuts to the program in your start menu and/or on your desktop, or if you want the program to be able to start without you having to log into your computer (that is, to be able to run as a Windows Service). If you do not wish for these things and would rather just run the program from its executable file (the downloaded one), whether that mean finding it and running it or creating your own shortcut to it, you can skip this step and continue on to configuring the server software.

  1. Run the downloaded executable file:

    This is the file named NetworkActivWebServerV3.5.exe that was downloaded in the previous step (downloading the server software). When you find the file, simply double-click it (or on some systems just single-click it). If you are presented from Windows with a warning talking about it being an executable file, simply click the Run anyway or Run or Open anyway (I don't have the message here and so don't know exactly what it says but I know it shows on some systems). After you successfully find and run the file, you should be presented with a screen very similar to the following:

    Language Choice Dialog

  2. Get to the installation:

    Click the Yes on the dialog asking whether you would like to install NetworkActiv Web Server.

    Installation Inquiry Dialog

  3. Review license terms

    Read the End User Legal Agreement (EULA) and scroll down while doing so:

    EULA dialog before being dun scrolled

  4. Conclude agreement decision

    If you understand and Agree to the entire presented Legal Statement, click the bottom button:

    EULA dialog when dun scrolled

  5. Configure installation

    On the Installer dialog, you may leave all at default, or you can configure it as you wish. When you are done configuring, click the Install button:

    Installer dialog

  6. To the result...

    If you are then presented with an error, try to resolve the problem. On the message box stating that it has been successfully installed, click the OK button. The program should now be successfully installed and if you kept the option for Create Desktop Shortcut enabled, you should now have an icon on your desktop that looks like this

    Launch NetworkActiv Web Server 3.5

    You have successfully installed the server software!

Index

Configuring the server software

Configuring the server software should not take too long in general, but a particular part of it, that is, choosing a port number, might not be completable until after the next step (Getting it ready so that others on the Internet can access your Web site). Don't worry about what a port number is right now or how one chooses it as it will be explained in the next main step.

The steps to configuring the server software are explained and shown below.

  1. Execute (run) the server software that you installed in the previous main step.

    Simply run NetworkActiv Web Server by double-clicking (or on some systems, single-clicking) the program's main icon. This is the red one with the NA that when on the desktop looks like the following:

    Launch NetworkActiv Web Server 3.5

    After you successfully execute the program, you should be presented with a large message box talking about an Alias called All Disk Drives and some other security related stuff. It is recommended that you read this message box. Once you have read the message box, go ahead and click the OK button. You will then be at the program's main user interface dialog. It should look just as follows:

    NetworkActiv Web Server 3.5 main user interface

  2. Remove the Alias named All Disk Drives.

  3. Though this step is not required, it is highly recommended. It is not a good idea to share all your computer's drives to the public as this would allow public access to all the files on your computer.

  4. To remove the All Disk Drives Alias, single click the little text in the lower left green box that states All Disk Drives. After you have clicked it, it should be selected. When it's selected, as you should be able to see by the background colour of it, click the Remove button. The Remove button is located directly above the All Disk Drives Alias. For now, do not worry about what an alias is as this will be explained later. If the Remove button is greyed out (not clickable), it means that there aren't any aliases currently selected.

    How to remove the <i>All Disk Drives</i> alias

    After you press the Remove button, you will be presented with a message box asking if you are sure. On this message box, click Yes.

    Click <i>Yes</i> when asked if sure

    There should now be no aliases, as shown below.

    Es gibt jetzt keine <i>Aliases</i>

  5. Learn what an alias is.

    Why is this here and not earlier?, For I figured this would be best learned right before it becomes required to know, in the context of its very existence.

    Note that it is essential for you to know the information from the section in this tutorial on Files, Folders, and Paths (particularly, paths) for you to be able to fully understand what an alias is.

    An alias is a virtual (not fully real) folder on the root of a Web site's domain... at least as far as the Web based path is concerned. It acts like a folder on the base (root) of the site and when accessed appears to contain files and folders that are located in an actual folder on the computer running the server software. The alias does NOT need to be named as the actual folder that it represents is named. If you're confused, some examples should help to clear it up...

    A file named My_Dog.jpg (a picture) located in an alias named View_My_Pictures on the site, www.networkactiv.com:

    http://www.networkactiv.com/View_My_Pictures/My_Dog.jpg

    A file named Something.html (a Web page) located in a folder named MySomethings located in an alias named MyStuff on the site, www.yahoo.com:

    http://www.yahoo.com/MyStuff/MySomethings/Something.html

    Basically, it goes like this:

    http://Domain_Name/Alias_Name/Folder_In_Alias/And_So_On/File.Extension

    Remember, an alias represents a real folder, but doesn't need to have the same name. Say you had an alias named My Somethings on your Web site named MyPlace. Say that you had that alias (My Somethings) pointing to the folder on your computer, C:\My Documents. In this case, if you were to access from the Web, http://MyPlace/My Somethings/Some Picture.jpg, it would actually be accessing C:\My Documents\Some Picture.jpg. Do you get it? It's like a simple to type shortcut that people on the Web use to access some folder on your computer. Basically, everything that comes after the alias name in the Web browser will be added to the path of the actual folder being accessed. One cool thing is that you can change the location and/or name of the actual folder on your computer, and it can remain the same for the folks on the Web to access that folder, so long as you update the alias-to-folder association in the server program to point to the new folder location/name.

    There is also something called a root alias. A root alias is a blank alias. That's right, it has no name. It actually acts just like a normal (named) alias, with the only significant difference being that when you access a folder name on the root site, that is, after the domain name, it's really accessing that location inside of the folder pointed to by the root alias. For example, if you had a root alias pointing to the folder, C:\My Pictures on your site, MySite, and you accessed http://MySite/Some Old Pictures/Someone.jpg, it would actually be accessing C:\My Pictures\Some Old Pictures\Someone.jpg. In this case, everything after the domain is added to the folder path pointed to by the root alias. There is one interesting thing to note though... even when you have a root alias, you can still have named aliases! What happens in this case is that when you access a folder directly on the root of the site from the Web, the server checks if there is a named alias named that, and if so, bases what's being accessed on that, but if not, bases what's being accessed on the root alias.

    In Web servers, you can have as many aliases as you like. You can even have multiple aliases pointing to the same folder, but you can only have one root alias.

  6. Add one or more folders that you will be sharing/hosting.

    What you will add here depends on whether you have created a folder for your Web site files as specified in Creating a location for your Web site files. If you did create a folder, then you will need to follow the first method, but if not then you will need to follow the second method.

    For the first method... that in which you HAVE created a folder for your Web site files, you will need to click the Add folder button, find and choose the folder that you created, and then when it asks for the Alias path, enter nothing (leave the entry field empty). See below for an illustration.

    Click the <i>Add folder</i> button

    Then displayed is the Browse for Folder dialog as follows:

    Choose the folder dialog

    After you have expanded the necessary drives and folders and found the folder that you previously created, select it and press the OK button.

    Select your folder and click <i>OK'

    When you are asked for the Alias path, leave it blank, as shown below.

    Leave <i>Alias path</i> field blank

    You have successfully made your Web site files folder the root of your site.

    You've got root!

    It's time now to explain the other method... that in which you did NOT create a folder for your Web site files because you will simply be sharing one or more folders (and their contents) that you already have. This is very similar to the first method, the differences being that you (a) Choose the folder that you want to share (a folder that you already had), (b) Enter a descriptive yet brief alias for each folder that you add, and (c) Repeat the steps, once for each additional folder that you will be sharing. An example of how this should look when you enter an alias and after you've completed one round of the process is as follows:

    Enter an actual alias instead of nothing

    A folder has been added, along with its alias

  7. View the site locally in your Web browser.

    This is when you get to see what the site will look like with the current configuration... granted it works. There shouldn't be a need for you to open your Web browser as this should be done for you so long as that works right on your system. To do this, right-click in the small grey area just below the folder/alias list on the program's main user interface dialog. This will bring up a small menu. On this menu, choose (click) the View in Web browser option. When you do this, it will state that the server is not currently listening and ask if you want it to start it for you, choose Yes. If the Windows Firewall is enabled on your system, it will probably pop up a message asking what you want to do, on this dialog (should it appear) choose the Unblock button. If the browser window opened before you were able to choose the Unblock button, you may need to click the browser's refresh button (or press your keyboard's F5 key while in the browser). The steps are illustrated below.

    First, right-click in the grey just below the folder/alias list on the program's main user interface dialog and click the View in Web browser option:

    Right-Click in grey, and choose <i>View in Web browser'

    When you are presented with the dialog stating that the server is not yet listening and asking whether you wish for it to become started, choose Yes:

    Sag ya!

    Should you be presented with a Windows Security Alert dialog about NetworkActiv Web Server, choose the Unblock option:

    Choose <i>Unblock</i>

    If at this point the page did NOT load in the browser, even after having tried pressing the browser's refresh button a few times, check into your firewall software and make sure that it's not blocking NetworkActiv Web Server from listening (accepting connections). If you get an error from NetworkActiv Web Server stating that it can't listen, try changing the port number (that thing at the lower-right of the main dialog that has the number 80 in it) to a number larger than 1024 (but smaller than 65536) and then try again.

    Check out all the information provided in the request list (the big green area at the top of the program's main user interface). Try scrolling to the right to see all different the columns of information provided:

    Check it out yo

A note on running the server software.

It is a good idea for you to occasionally check for a new version. This is true of all server software, and well, pretty much any program that uses the Internet, such as a Web browser. This is because there is always a potential for security problems to be found in software, and staying up to date minimizes the potential of an actual security problem. You can check for a newer version of NetworkActiv Web Server in the about of the program via the button entitled Check for a newer version. See below for an illustration of how to do this.

First, click the About button on the program's main user interface dialog:

Click the <i>About</i> button

Then, click the Check for a newer version button on the About NetworkActiv Web Server 3.5 dialog:

Click the <i>Check for a newer version</i> button

Index

Getting it ready so that others on the Internet can access your Web site

As before mentioned, how difficult this is and whether or not it's possible depends on your situation. There are quite a few things to cover here but not all apply to all readers. It is essential at this point that you were able to successfully view your Web site or the files you are sharing, locally in your Web browser.

First, we need to learn about ports and how they apply here.

A port is an address clearifier, like a door number in an appartment complex that allows someone when accessing a computer on the Internet or on a network to address a particular running server program. Each computer has an IP address (remember?) and any computer can have running more than one server program, even different kinds for completely different purposes. It is therefore necessary to have a way of differentiating between these different server programs. As implied, it's probably a good idea to think of a port number as being the same as the door number on the address of a letter going to an appartment building; Even though there's an address number (IP address) on the letter, you still need the door number (the port) for the message or request to get to the desired destination. In fact, in networking terms this letter is called a packet. All network and Internet communications are in the form of what are called packets, but we willn't go into any detail about that in this tutorial as it's not necessary for the purposes herein.

Now, you may (or may not) be wondering, How do I put a port number on a request?. This is very important to know here. Do you remember about how when you access a file with a standard looking http://Whatever/something.extension how the Whatever is really where you put the IP address or the domain name? Well, this just so happens to be where you put the port number too! Normally you don't see it because it's assumed to be 80 for Web servers, but when it's not 80, you need to specify it as part of the IP address or domain name. This is done by adding a colon ( : ) to the IP address or domain name and putting the port number. It's that simple. For example, if you had the domain Whatever and you had the server software configured to be listening on port 7000, you would access http://Whatever:7000/ to get to the Web site. Note that there are no spaces between the domain, the colon, the port number, and the slash. This is important as if you put spaces it will probably not work. If however, you were accessing the server by an IP address, say 1.2.3.4 on port 7000, you would access http://1.2.3.4:7000/ to access the site. It's the same thing as with a domain name, but can sometimes look confusing as there are now five numbers instead of four. Remember, when there isn't a port number on the request, it automatically uses port 80. One quick note: Do NOT use any commas in the port number, even if it is greater than 999.

You may have the question, Why not just use port 80 then since it's easier to use as you don't need to put it on the address?. Port 80 is a good choice, and is the recommended choice, but... Some ISPs don't allow incoming connections on port 80. There are actually quite a few ISPs like this, particularly cable Internet service providers. For this reason, it is necessary that you know how to use a different port number. If port 80 incoming is blocked by your ISP, you will need to use another port number.

A port number can not just be any number, it has to be in a certain range. Though it can technically be anything from 1 to 65535, it is better (and more likely to actuall work) if you choose a number between 1026 and 65535. Note that it really doesn't matter where in this (later) range you are. They will all perform the same. It's usually a good idea to use something easy to remember and to type, such as 7000, 8000, 8080, and the like. 2000, 5000, 5150, and the like will all work just as well. It's important to remember though if you try one and it doesn't work, at least try a couple of others.

Below is shown the location (at the lower-right) of NetworkActiv Web Server's main user interface dialog where the port field is so that you know what to change when trying different port numbers. Note that this number can only be changed when the server is not listening (started). You can tell if it's started by seeing which of the Start and Stop buttons are available. The opposite of the available button is the state of the server, meaning that if you can only see the Stop button, the server is currently started, and vise versa.

The port field is at the lower-right of the main user interface dialog

Gateways, Routers, NAT, port forwarding, and LAN versus Internet IP addresses.

You MAY skip this section if you know that you don't have/aren't using a router/gateway, such as if you connect to the Internet via a dial-up modem that's located inside your computer, and that's the only computer using that Internet connection. Most DSL and Cable users do use a router/gateway, whether or not they know it.

The title may make it sound like more than one topic, but it's all directly related (one process) for the purposes herein. The main topic here is port forwarding, but understanding the basic concepts of Routers, Gateways, and LAN versus Internet IP addresses is necessary for this. Internet and LAN IP addresses are the same kind of thing, so it's not about learning what an IP address is (as was explained earlier in this tutorial), but about understanding how they interact (relate) when you have a Gateway Router (most Cable/DSL modems have built-in gateway routers, many have it enabled as by your ISP's default settings in the device).

LAN Versus WAN
LAN (Local Area Network) is a computer network that's usually contained completely at one physical location, and is usually comprised of one network segment. A WAN (Wide Area Network) is a large computer network that spans over multiple (usually many) locations, and usually has more than one network segment. A home computer network is a good example of a LAN. The Internet is a good example of a WAN. We willn't go into details about network segments in this tutorial as it's not necessary to and is somewhat complex.
Gateways
A gateway is a device (or a program that makes a normal computer into such a device) that translates between (connects) two different types of networks (such as ones that use different protocols of communication), or between two networks of the same type. In either case, the gateway can so-to-say translate between the addresses of one network and the other. It can make it to where for a computer on say, side A, a computer on side B has a certain address, when for the computers on B's side, it has a different address. It's almost as though the computers on each side are passing nick names to the other side (not literally though, as it's actually handled by the gateway). It can also be one-sided, where one side sees and uses the real addresses of the computers on the other, but the other side doesn't see That side with real addresses. Many times, as with standard home NAT (Network Address Translation), the computers on one side (the home side) see the computers on the other side (the Internet side) with the real addresses, but the computers on the Internet side see all of those computers with the same address! It's almost like magic, but the gateway actually keeps track of things so well that when a computer on the home side (the LAN) sends a request to a computer on the Internet side (the WAN) the gateway makes sure that when the computer on the Internet side sends the reponse message back, it gets to the computer on the home side that sent the cooresponding request. The gateway knows which responses are to go to which computer on the LAN (home side). To the computers on the Internet, there isn't really a difference between them, they all seem to be the same computer (with the same address). You may be wondering how the requests don't get mixed up. They don't get mixed up because they use different source port numbers (assigned by the gateway for each request), this is how the gateway keeps track (by port numbers), and this is also how the computer on the Internet side makes sure to not get requests and responses mixed up since they are all from the same IP address. We needn't go into any further detail about this (the keeping track stuff) here though as it's not necessary for the purposes of this tutorial. Note that if you have a computer connected to the Internet and have other computers on your LAN accessing the Internet through that computer (via, say, Internet Connection Sharing (ICS)), that main computer is the gateway for those other computers. Just remember, gateways are what connect different networks, whether of the same or of different types, together. Also, with the home LAN versus Internet WAN concept, they are considered to be the same kind of network because they both use the same kind of addresses.
Routers
A router is supposed to be a device that chooses between different paths to send data down... kindof like a routing station of a package shipping provider, or like the phone company, for when you make a call, the system needs to route the call so that it can get to its destination. In the computer networking world, a router routes requests and responses between network segments (Oh no, not those again!). It's completely common for a home router (which has a type of NAT gateway in it) to be called simply, a router, when in fact, it's at least two different logical devices. A home (NAT gateway) router is actually a switch (think of this as something that connects computers together on a LAN, because that's all it does), an NAT gateway (that provides a gateway between your LAN and the Internet), usually a DHCP (Dynamic Host Configuration Protocol) server (this simply assigns an IP address to a computer on the LAN when it's turned on), and possibly a router! This may sound crazy, but it's true. It might not even perform actual routing, but might just contain a switch (to connect the computers on the LAN together) and a gateway (to provide a communications path between your LAN and the Internet). Many home routers have the ability to route, but for normal users this functionality is never used. Home routers also commonly provide other features such as packet inspection and other security related stuff, but we needn't go into detail about those extra features.

I know it may seem rather complex already, but try to keep it simple... all you need to remember at this point is that because a home router has a gateway in it, it can provide a way for computers on your LAN to access the Internet, even though your LAN and the Internet are different networks. You don't even need to remember that it has a gateway in it, just remember what that box we call a router (whether on its own or in a DSL/Cable modem) does.

NAT (Network Address Translation)
This was already mentioned in the Gateways paragraph, but will be further explained here. NAT (at least as far as in the general networking world) is simply the name given to the type of gateway that provides the one-way address translation in which on one side the computers see the real IP address of the other, but on the other side they all have the same IP address. An Internet gateway is also called an NAT gateway for this reason... because on the inside (the home/business), the computers see the actual IP addresses of the computers on the Internet side, but on the Internet side, they (the LAN computers) all have the same IP address (as far as the Internet side can see) and therefore look like just one computer.
LAN versus Internet IP addresses

The computers on the local area network (LAN) each have an IP address, but as you may know already, this is not the IP address of that computer on the Internet. Even the gateway has a LAN IP address as it too is a computer on the LAN. The difference with the gateway is that it's connected to not just the LAN, but also the Internet. This means the gateway is connected to two different networks (as was implied previously). Since the gateway is connected to the Internet and connected to the LAN, it has to have two IP addresses... A LAN IP address and an Internet IP address. It's like a house with two front yards and no back yard... it might just have a different address on each street because each street (network) has its own set of addresses! (ps. I know in the real world the addresses are usually by Zip Code, but we'll ignore that for this analogy, unless of course, each street is in a different Zip Code!)

LANs, Gateways, and the Internet

Port Forwarding

What if a computer on the Internet sends a request to your Internet IP address (that of the Internet side of the gateway router) because it wants to request a file on a Web server running on one of the computers on your LAN? How will this request get to the computer when the only thing really connected to the Internet is your gateway router? This is where what we call Port Forwarding comes into play. Port forwarding is the name given to a feature of the gateway that allows it to be configured so that when a request comes in from the Internet on a certain port number, the gateway forwards that request to the appropriate computer on your LAN. It's a simple mapping that basically says If you get a request on port X from the Internet side, forward that request to the computer on the LAN with IP address x.x.x.x. Yes, this does apply even if you only have one computer on your LAN. Gateway routers by default do not forward anything, no ports. This is done for security as what if you had a computer running on your LAN with a server (like a Web server) that allowed access to personal files to the other computers on your LAN, you wouldn't want the router to automatically forward that port would you? In fact, Windows usually has many internal servers (usually called network services) that allow access to things like the files on your computer... for other computers on your network. This is why gateway routers willn't forward ports automatically, even if there IS only one computer on the network. Chances are that your gateway router (even if it's in your Cable/DSL modem) has the feature of port forwarding as this is a standard feature. To allow requests from the Internet side to reach the computer running the Web server software, you need to configure your gateway router to forward requests for your chosen port number to the LAN IP address of that computer (with the server software). Many times there is a feature called DMZ (DeMilitarized-Zone) that makes all port numbers go to a given computer on the LAN, it is NOT recommended that you use this (DMZ) as it can make Windows network services and other things available to the computers on the Internet. You should only use the specified port number forwarding feature, that in which you specify the port number to forward. To access your router/modem's configuration, you will usually type the router/modem's LAN IP address into your Web browser's address bar. What's your router/modem's LAN IP address?, well could try to guess it by trying the common numbers, such as 192.168.1.1, 192.168.0.1, 192.168.1.254, 192.168.0.254, 192.168.1.100, 192.168.0.100, 192.168.2.1, or you could consult your router/modem's configuration manual, or you can visit the router/modem manufacturer's Web site, or you can go to www.portforward.com. www.portforward.com provides not only information about how to access your router's configuration, but also provides the details for many different brands of routers and modems on how to configure the port forwarding needed to run a server (and therefore host a Web site) from a computer on your LAN (and as I said before, even if you only have one computer). You may need to know your computer's (the computer running the server software)'s LAN IP address to know what to set in the router/modem as the destination LAN IP address. This is probably covered on www.portforward.com and will be covered here in the next paragraph. Note that your router/modem will most definitely have a password, and possibly a username as well. You can find this out in the same place you find your router/modem type's default LAN IP address, or you can try these pages:

To find out what your current LAN IP address is, open NetworkActiv Web Server (if it's not already running), make it not listening (make sure the Start button is visible), click to drop-down the field named Listening interface (optional): and located at the lower-right of the program's main user interface (directly to the left of the port field). In this dropped-down box, there will be two IP addresses... 127.0.0.1 and your LAN IP address. Do NOT actually choose anything in this box, make sure when you close it you leave it on nothing (blank). We are simply interested in finding out this IP address. An illustration is shown below.

Finding out your LAN IP address

In the illustration above, the computer running the server software has the LAN IP address, 192.168.0.1; Chances are that your LAN IP address is different and so you will need to do this on YOUR computer. If your computer is on more than one network when you do this, there will actually be more than one listed IP address (under the 127.0.0.1). Should this be the case, you should use the one that's on the network with the router/modem that connects you to the Internet. This will probably be the one that looks the most like your router/modem's IP address (but will NOT be the same). If you are not sure which one that is, you could always try each.

How does one now access your server from across the Internet?

At this point, it should be possible for others to access your server and therefore your Web site from across the Internet. It is highly recommended that you have someone whom you can call on the phone or chat to online who can try accessing your server. The chatting online method is of course prefered for you can send them the URL (Universal Resource Locator) of your Web site, such as http://YourInternetIPAddress/, and they can then simply either click on the URL (in their chat program) or can copy and paste it to their Web browser's address bar. I will explain in a moment how to find out your Internet IP address, so don't worry if you don't yet know it. If you are not able to get another person to help you with this, there is another way, see below.

When you don't have someone who will try to connect to your server from another location over the Internet, you can instead visit one of the following proxy/anonymizing Web sites to access your site yourself, but still from another location. All the below listed sites provide a free version of the service (at least when this part was written (or updated)). If you find one that doesn't, try the others. This should be an easy, no-hassle task. (if you don't yet know your Internet IP address, you will need to see a few paragraphs down and then come back to this part)

www.the-cloak.com
This page seems simple and easy to use... Simply enter your URL into the field named Starting URL (at the bottom) and then click the Start Surfing button (also at the bottom).
proxify.com
Similar to the above two, but with some non-intrusive ads on the page displaying the page you're viewing, not a big deal though as we're just using it for quick testing.
anonymouse.org
Yet another simple to use site, has an ad on the page being viewed through it, but as said above, not a big deal for the purposes herein.

A word of advice in case you get interested in the idea of anonymous surfing... You don't have to buy one of these services, you can use a no-hassle freeware program called Torpark. Torpark uses the Tor network... The Tor network is a free, highly encrypted peer-to-peer network (it's NOT a file sharing network, it's an anonymous surfing (and other stuff) network).

There are basically three different ways that can be configured (though only the last two are really something that's configured) to allow access to your site to others via a URL of some sort...

Direct by IP address
This is the simplest method to set-up as all you need to do at a given time is find your current Internet IP address and make the URL with it (remember, it's simply... if your IP is 1.2.3.4, you just make http://1.2.3.4/). There are two downsides to this... One is that it's not user-friendly as it's usually pretty hard for people to rememebr your Internet IP address, the other problem is that your Internet IP address may change regularly, such as each time you connect to the Internet, or periodically (like once a week). For these reasons, direct IP address access is really only recommended when you're just testing stuff and making your site.
By dynamic DNS based sub-domain
There are many dynamic DNS based sub-domain providers on the Web. Many are free or provide a free version of their service. With one of these services, you will get to choose a small name (of letters/numbers) and you will be given that chosen name as a sub-domain to their domain name. For instance, if the provider's Web site was www.theirplace.com, and you choose MyCoolPlace22 as your sub-domain-name, mycoolplace22.theirplace.com would point to your IP address. They would probably also provide you with a small program that pays attention to your Internet IP address and updates it in their system when it changes so that your sub-domain-name, mycoolplace22.theirplace.com in this example, would always point to your Internet IP address, and therefore your Web site. For a list of currently available dynamic DNS services, see DMOZ Listing of Services.
A true domain-name of your own!
This is NOT free, but if you want to be completely professional, this is the way to go when it comes to Web site addressing. This allows you to have your own something.com, .net, .org, or many other common .somethings. To do this you will first need to get a static IP address from your ISP (Internet Service Provider), this will most definitely cost money, usually about 10 USD per month. Then, you will need to buy a domain name from what is called a Registrar. A registrar is an organization appointed by a government to sell domain names. They will be subscription based, usually yearly or per three years (or similar). Though it depends on whom you buy from and the type (.com/.org/.biz/.somethingelse) of domain you buy, the price is usually between 15 and 30 USD per year. You can find a great list of registrars on the ICANN-Accredited Registrars page. The details of purchasing and setting up your own domain are beyond the scope of this tutorial.

It's time now to talk about how to determine your Internet IP address.

For most of you, determining your current Internet IP address is very easy and quick, it only requires browsing to a simple Web site and seeing what it says there. Some Web sites provide this functionality... The server simply looks at what IP address was used to access the site and displays this on the site for you. It's kindof like having a name tag (your Internet IP address) on your shirt but you can't read and going up to someone and having them tell you what it says. For some of you with semi-evil (though not fully evil) ISPs, it will be a little more difficult. Some ISPs put your outgoing port 80 traffic through a proxy server. A proxy server is like an Internet connection sharing PC, like a gateway. They problem is that, well, you don't have access to that gateway and so you can't have it forward ports. In these cases, the ISP makes a whole bunch of people have the same IP address as far as the Web sites can see, but it's not your actual IP address, it's that of the proxy server. In this case, you will need to access one of these sites that tell you your IP address, but that don't have their server running on port 80. This usually works for getting around your ISP's proxy server. See below for a list of Web sites who provide this.

Notice: NetworkActiv Web Server version 4.0 and higher users should be able to find their Internet IP address (based on port 80) in the server program itself, at the bottom of the Help dialog.

Please don't keep coming back to this tutorial just to click one of these links, this tutorial page uses a lot of bandwidth so please find which one works for you and bookmark its page for finding out your Internet IP address. That would be much easier and faster for you anyway.

Note that if you know someone else running NetworkActiv Web Server (greater than version 1.0), you can access their site plus /csis/. For instance, if your friend were running NetworkActiv Web Server (newer than version 1.0) and the site was http://MyFriendsInternetIPAddress/, you could access http://MyFriendsInternetIPAddress/csis/. CSIS stands for Client-Side-Information-System and provides the basic feature that the sites listed above provide and more, but if your friend had it running on another port (other than 80), this would be useful for if your ISP put your outgoing port 80 traffic through a proxy server.

Concluding this step:

You should now have all the information that you need for allowing others to access your Web site from across the Internet.

Index

Some notes on search engines

Search engines are those things that let you find Web pages and sites. There are three different types of search engines (payed-submission-databased, free-submission-databased, and crawler-databased).

Payed-submission-databased
This type of search engine has a database of sites from persons and organizations that payed to be in the database and/or continue to pay to be in the database. Fortunately there are few of these search engines anymore. You should NOT pay for such a thing, they very rarely provide you with even remotely enough hits (Web slang for visitors or number of requests to the server) to make it worth the money, even if you ARE selling something.
Free-submission-databased
These are alright... They sometimes provide you with some hits, but sometimes not. It's almost a luck thing and sometimes they will accept your site into their database, while other times you will never hear from them and the site will never get into the database. The largest and most significant free submission based Web page/site database is The DMOZ.
Crawler-databased
These are the real search engines out there, such as Google, Yahoo, MSN, and the other big ones. These search engines search through databases collected from crawlers (also called bots, or robots). Bots, crawlers, and robots are special programs that look at Web pages all day long, clicking on all the links, and basically saving everything they see, such as the text on the pages, into a big database. When you use one of these search engines, it's actually searching through the big database of everything that its crawlers have seen. When a new or modified Web page comes out onto the Web (which happens probably millions of times per second), it will eventually get into the true crawler based search engines, so long as the crawlers can find it. For them to be able to find it, the site must be linked to from a site that's already in the database. This being the case, it's essential that you get your site linked to from other sites, the more the better. If you don't really know anyone with a site, a good way to do this is to mention (and have links to) your site/pages in Web forums. The crawlers crawl through these just as other pages and will then be able to find your site. Once they find one of your pages, they should be able to find the others, so long as that page links to the others. For this reason, it's a good idea to have links on your pages to the others... at least to one other as this is really all that's necessary for the crawlers, after all, wouldn't a crawler just need one pathway to the a place?, Kindof like how ants come in through any little opening they can find.

There are many sites on the Web saying that they'll increase you search engine exposure, get your site onto the major search engines, and stuff like that. Most of these are BS and will not do you anything other than take your money. The fact is that the big search engines are crawler based and if your site is linked to by just one page that the search engine already knows about, it will get into the database. The search engines base the search rank (where pages come up in the list when something is searched for) on (a) How closely what was typed matched something on your page, and (b) How many pages on the Web (particularly, how many completely different sites) link to your pages. There are many ways of trying to cheat the system, some of these improve your search engine ranking services try to use these tactics, but as search engines keep getting smarter it does less good and actually hurts your pages' rankings. Simply put, if people like your site, it will come up easily on search engines because people will link to you on their sites, so if your goal is to get visitors, try to provide something cool and/or useful to others.

To make sure that crawlers don't go run away when they see your site, or if you want them to for a particular page or particular pages of your site, there are ways of telling the crawlers Come on in and check the place out, or Access Forbidden. (Now only if you could do that with ants!). This is done by HTML tags and/or by a robots.txt file on your server. For more information about this, see WikiPedia Robots Exclusion, http://www.robotstxt.org/wc/exclusion.html, and/or http://www.javascriptkit.com/howto/robots.shtml.

One way to get your pages seen by the crawlers is to post a link to your NetworkActiv Web Server (NAWS) powered Web site onto the Powered by NAWS forum, located at http://www.networkactiv.com/Forum/.

Index

Web browser compatibility

Not all Web pages look the same on all Web browsers, and not all Web pages work correctly (if at all) on all Web browsers. If your Web site is simple, then it is more likely to not have problems with Web browser compatibility, but you never know, just a small problem with the HTML code or something else could make something on the page, or the whole page, not work in a particular browser. For this reason, it is a good idea to try your Web pages in at least the two main bases of Web browsers. This covers most all Web users. See below for details pertaining to each. Note that you only need to test your site on one browser of each base because they use the same HTML and other code interpretation systems.

Internet Explorer based
Besides the Web browser, Internet Explorer (the one that comes with Windows), there are others that use it. The most common is MSN Explorer. MSN Explorer is basically Internet Explorer with a different face and some MSN features thrown in.
Mozilla based
This includes, Mozilla, Mozilla Firefox, some popular options, and others.
Opera
I believe Opera originated as a lightweight (quick and small) Web browser but apparenly has become a fully featured Web browser.
Chrome
Google Chrome is Google's version of the Web browser.
Safari
The list would not be complete without Apple Safari, the standard option for Web browsing on a Macintosh.
Miscellaneous others
There are many other options for browsers, particularly on smartphones. However, generally speaking, if your website displays and functions correctly on those browsers listed above, it probably is compatible with many other browsers as well.

Index

Additional information and/or help

NetworkActiv Web Server:

The FAQ (Frequently Asked Questions) page for NetworkActiv Web Server provides answers to the most commonly asked questions about NetworkActiv Web Server, and occasional throughout provides links to some small tutorials related to particular topics. You can view this page at:

http://www.networkactiv.com/WebServerFAQ.html

Through the NetworkActiv Software discussion forums (particularly the Web Server section), you can get in contact with other users of NetworkActiv Web Server and can also post links to your NetworkActiv Web Server (NAWS) powered Web sites to the Powered by NAWS forum to let others know about your new site. Please feel free to post new messages. You can find the forums at:

http://www.networkactiv.com/Forum/

Miscellaneous Web site, Web page, Web, Internet, and other questions:

Many times you can find answers to questions about most anything on the Web. It's good to use a good search engine such as Google, as this provides better search results. It's a good idea to know how to search on a search engine too as this usually makes a world of a difference on what comes up. For Google, visit How to search on Google for information on how to search effectively. If you use another search engine, check the main page to see if you can find a link to information on how to search effectively, such as links titled Search tips or Search options, or even try the Advanced search that many provide. The Advanced search usually makes it easier to do advanced searches. This may sound obvious, but in reality you can usually do advanced searches from the normal search box as well if you know how.

Index

Final words

A great deal of information has been covered in this tutorial. I believe I have covered here all the basic topics and concepts, and if you read it all, honestly trying to understand it all, you should be on very good grounds for having just entered the world of Web site creation and hosting. Even if you had some experience already, it should have provided you with something new or at least cleared some stuff up. If you have any suggestions or comments, or found something not explained well enough or not covered, you can let me know by e-mail through support@networkactiv.com.

If you found this tutorial to be useful, please let others know about it and/or of NetworkActiv Software. If you have questions, feel free to post them in a NetworkActiv discussion forum (found here).

Thank you for reading this tutorial. I hope you enjoy and continue to enjoy having your own Web site. This tutorial has been made over a week's time and as I write this very text is the longest in-human-language text that I've so far written.

Michael J. Kowalski

April 10th 2006

Last updated: October 2nd 2014 - Resolved many outdated links.

Updated: March 7th 2010 - Updated page for HTML 4.01 standards compliance and is now primarily CSS presented, along with miscellaneous changes to layout specifics. Main page-block is now table-free. Added Index section.

Updated: February 19th 2010 - Updated IP-checker list.

Updated: June 29th 2006