Build Your Own Web Site in Less than an Hour

Setting up an HTTP server and defining a basic home page
by Jeffrey Lathrop

When I created a Mosaic home page for the Rocky Mountain Windows NT User Group (RMWNTUG), I was prepared to deal with the on-going issues of supporting and enhancing it. I was, however, totally unprepared for the deluge of questions that followed. Where did I get the software? How do my scripts work? What kind of system did I set it up on? Would I encourage others to use the Windows NT platform for Hypertext Telnet Protocol (HTTP) servers? Is an HTTP server the same thing as a World Wide Web (WWW) server?

The problem, it seems, is that although there is a lot of interest in using Windows NT as an HTTP server, there is a basic lack of information with which to do so. With this in mind, this article aims to help would-be HTTP server administrators. It covers my recommendations for the underlying hardware, how to set up an HTTP server using the European Microsoft Windows NT Academic Center (EMWAC) server Version 0.96, and finally, how to define a basic home page.

The Hardware You Really Need

Take any manufacturer's recommended minimum hardware requirements for an operating system or software package with a grain of salt. For example, according to Microsoft, the minimum hardware requirements for Windows NT version 3.5 are: a 25-MHz 386DX processor, 12MB of memory, and 75MB to 90MB of available hard disk space. However, for practical use, you really need at least a 33-MHz 486DX processor, 16MB of memory, and 100MB to 125MB of available hard disk space. Having a Video Electronics Standards Association (VESA) or Peripheral Component Interface (PCI) bus doesn't hurt either.

Let's look at the requirements for an EMWAC HTTP server. I've learned not to generalize by saying that all servers need x megabytes of memory, a y-type processor, or z megabytes-or gigabytes-of hard disk space. Instead, I prefer to make recommendations based on the anticipated use of the server. For 25 to 50 users a day, a suitable server should have at least 16MB of memory, roughly 25MB of free hard disk space, and a 33-MHz 486 processor. For 50 to 200 users, a server should have 20MB to 32MB of memory, roughly 50MB to 100MB of available hard disk space, and a 66-MHz 486DX2 or 60-MHz Pentium processor. Finally, a server with 200 or more users a day should have 32MB to 64MB of memory, 200MB or more of unused hard disk space, and a 66-MHz to 90-MHz Pentium or dual-Pentium processor configuration.

With each of these configurations, you also need an Internet connection, and depending on how you make that connection, your hardware requirements will vary. For direct connections to the Internet, you need a Network Interface Card (NIC). Choose a reliable card from the Hardware Compatability List (HCL). To connect to the Internet through an Internet Service Provider (ISP), you need the necessary communications hardware, modem, or Integrated Services Digital Network (ISDN) modem-for ISDN lines with higher throughput than conventional phone lines. The software for connecting to these ISPs is contained in another Windows NT service, the Remote Access Server (RAS), which provides Point-to-Point Protocol (PPP) and Serial-Line Internet Protocol (SLIP) interfaces to the ISP. Consult the ISP for the best method of connecting to that server.

How to Set up the Server

The first thing you need is a copy of the EMWAC HTTP server software. This software is a "freeware" package developed at the European Microsoft Windows NT Academic Center in Edinburgh, UK. The server sponsoring the HTTP software can operate in a local TCP/IP network environment, or it can be connected to the Internet where it can function as a WWW server. Please note, however, that Internet attachment is not part of the EMWAC package. If you want to connect to the Internet, you need to implement RAS for SLIP or for PPP. As an alternative, you can use an external LAN gateway to attach to the Internet. I personally use a direct connection to the Internet.

You can find the EMWAC HTTP server software in a number of places including over the Internet and from several bulletin-board systems. I got my copy from the EMWAC WWW Server. The least painful way, however, is to get the EMWAC HTTP server from the CD-ROM disk that comes in the Windows NT Resource Guide. You can purchase this book alone, or you can purchase it as part of the four-volume Windows NT Resource Kit. If you do not own a copy of the Windows NT Resource Guide, I strongly recommend you buy one. It is full of worthwhile information, and the CD contains lots of supplemental programs and information.

After you get the software, you should determine the scope of your server. How much information are you going to provide? Is your server for internal use on a local network, or are you going to attach it to the Internet and make it available as a WWW server? My recommendation is to assign a whole drive to your server. I set up a 250MB+ partition for HTTP and FTP services. This configuration helps me to limit external access to the server to just that partition. I set up the Access Permissions so that the 'guest' account-the account for users of the WWW server-has access to that partition and does not have access to the remaining partitions. Thus, a user who gains access to the server can only access the partition that contains the HTTP server and not critical system or data files.

Once you've determined your requirements, extract the documentation files from the software package. The precise procedure depends where you got the package from; for example, you may need to "unzip" it from an archive file or expand it from a compressed format. Once you find the documentation, you should print it and read through it; it contains useful information about setting up image maps, basic forms, and Area Information Server (WAIS) searches. When you're ready to set up the server, extract or expand the following files and copy them to your SYSTEM32 directory:

HTTPS.EXE HTTP server program

HTTPS.CPL HTTP control panel applet

HTTPS.HLP HTTP help file

Type the following command at a Windows NT command prompt:

HTTPS -INSTALL

You've done it! That wasn't so painful, was it? Of course, there are few minor details to take care of, but technically your EMWAC server software is installed and ready to go.

Next, access the control panel. You should see a new icon for the HTTP server. Click on it to start the server. You should see several edit boxes and a Multipurpose Internet Mail Extensions (MIME) list box. The first edit box you need to adjust is the one called Data Directory. It's probably set to C:\HTTP. This directory is the central part of the server, and all of your pages and data will reside below it. Change it to point to the drive and directory you've allocated for your HTTP server.

Another option dictates how logging is handled. If your server is only for internal use, you may not want to enable logging. On the other hand, if external Internet users will access your server, logging is a good idea. It gives you a record of who accessed your machine and when. You can specify where the log files should reside, or you can use the default setting, which is your Windows NT directory. After you make your changes, exit the HTTP control applet. Then type the following command at a Windows NT command prompt:

NET START "HTTP SERVER"

(Yes, the quotation marks are necessary.) Your HTTP server is now open for

service.

How to Define a Basic Home Page

Now that you have the server software operating, you need to create one or more Hypertext Markup Language (HTML) documents for clients to view. You should start by creating a default document, called the home page. For the EMWAC server if no page is listed in the Universal Resource Locator (URL), the server looks for a file called "default.htm." Store this document under the name "default.htm" in the directory you specified as your Data Directory. To create your first home page, you need to know a few basic HTML tags:

<TITLE>, </TITLE>

Everything that appears between these two tags will appear as a window

title when someone loads your page.

<H#>, </H#> (where # is a number 1-6; the numbers must be the same)

The client-side view uses the numbers to determine font selection. You can also think of these numbers as a section header.

<P> For normal text areas.

<BR> Soft line break.

<HR> Dividing line (hard rule).

These tags should provide enough control for you to get your first home page up in about five minutes. Here is my first one, MyFirst.HTM.

<TITLE> My First Home Page</TITLE>

<H1> This is my First Home Page </H1>

<HR>

<P>

This is my first home page for the EMWAC HTTP Server.

You can also use the optional <HTML> and </HTML> tags to delimit the start and

end of the document within the file, as in MySecond.HTM.

<HTML>

<TITLE> My Second Home Page</TITLE>

<H1> This is my Second Home Page </H1>

<HR>

<P>

This is my Second home page for the EMWAC HTTP Server.

</HTML>

I haven't noticed any problems when I leave out the <HTML>, </HTML> tags, so I

guess it all comes down to a matter of taste. You might also want to make "hot links" to other pages or other WWW servers. Hot links require the use of the following HTML tag:

<A HREF="URL"> Name of Site or whatever is relevant </A>

The URL defines both the type of service (e.g., HTTP, FTP, or Gopher) and the exact file reference. You can see how a URL comes into play in MyThird.HTM.

<TITLE> My Third Home Page </TITLE>

<H1> This is my Third Home Page </H1>

<HR>

<P>

This is my Third home page for the EMWAC HTTP Server.

<P>

<A HREF="http://budman.cmdl.noaa.gov/RMWWindows NTUG/RMWWindows NTUG.HTM">

MWWindows NTUG HomePage </A>

When this page appears, you can point and click anywhere in the phrase "RMWWindows NTUG HomePage" to initiate a new HTTP link. As you can probably tell by now, HTML is a powerful but somewhat complex language. If you would like more information on HTML, I suggest you browse ttp://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLQuickRef.html.

Now you have your HTTP server and a basic home page, and you're ready to go! Believe it or not, that's all there is to it. As usual, the hard part isn't in the doing; it's in knowing what to do. See you on the Net!

About the Author

Jeffrey Lathrop is a General Physical Scientist for the U.S. Dept. of Commerce National Oceanic and Atmospheric Administration, Climate Monitoring and Diagnostic Laboratory. He also runs Lathrop Consulting Services which specializes in Windows NT, the World Wide Web, and contract programming in C++. Jeff has a BS in Applied Mathematics from Metropolitan State College in Denver, Colorado. You can reach him on the Internet as jlathrop@cmdl.noaa.gov or on CompuServe at 72754,1126. You can find Jeff's home page at http://budman.cmdl.noaa.gov/RMWNTUG/RMWNTUG.HTM.

References

Adie, Chris. HTTP Server Manual v0.96, EMWAC, 14 November 1994.

Windows NT Resource Guide, Microsoft Press, ISBN 1-55615-653-7.

Windows NT Resource Kit, Microsoft Press, ISBN 1-55615-653-X.

European Microsoft Windows NT Academic Centre (EMWAC) Computing Services

30-38 George Square

Edinburgh EH8 9LJ

http://emwac.ed.ac.uk

From the Premiere issue of Windows NT Magazine. Copyright © 1995, Duke Communications International, all rights reserved.