Day 8

Chapter 16

Setting Up Your Own Web Server


CONTENTS


In Web publishing, having control over and running your own Web server gives you the ultimate in flexibility for how you want your presentation to be run. Running your own Web server is like both writing and illustrating the book as well as having control over the printing press, the distribution, and the bookstore. You can add any features you want to, publish any content you want to, and know intimately who is accessing your pages and when.

Running your own Web server isn't for everyone. When you gain all that flexibility, you also gain a lot more work and often a lot more expense. For many people, the headaches gained in running a server may not be worth the flexibility. In this chapter we'll explore what it's like to have your own Web server and how to set one up, including these subjects:

Note
This chapter is primarily an overview of what you'll need to run your own server. I don't have the space in this book to teach you all aspects of running your own network connection and server. If you do decide to get deeper into the technical aspects of running your own server, I recommend a book dedicated to that subject, for example, Web Site Administrator's Survival Guide, by Jerry Ablan and Scott Yanoff, ISBN 1-57521-018-5.

The Advantages and Disadvantages of Running Your Own Server

When you publish your Web presentations on a server run by someone else, you usually have to abide by their rules. You may have to pay extra for large or very popular Web presentations. They may not let you install CGI programs, which severely limits the features you can include on your Web pages. And, depending on the server and who runs it, you may even have restrictions on the content you can include in your presentations.

If you run your own server, you have none of those limitations. Because it's your computer, you can run any programs you want, set up any Web features, and include any content you want. You also can have your own domain name and your own URLs when you run your own server (although, to be fair, many Web providers allow you to do this as well). You hold the keys when you run your own server.

There is, of course, a drawback. There are several, in fact. To run your own server, you'll need your own computer system and your own network connection. You'll need the technical expertise to manage the server and the computer it runs on. And, of course, you'll also need the time to keep it all running smoothly.

Because of the cost and time it takes to run your own server, in many cases working with a good Web provider or ISP may be a far more cost-effective solution, particularly when Web services can give you most of what you need for a low monthly fee and none of the hassles. In fact, when you start out Web publishing, you may want to work with an ISP for awhile to tell how well it works out and then move onto your own server later if you feel you need the extra flexibility.

Finding a Computer

Want to forge ahead despite all the drawbacks? All right then. The first thing you'll need to set up your own Web server is a computer to run it on.

You aren't going to need an enormous, super-fast, high-end machine to run a Web server. If you're primarily serving Web pages and intending to run only a few forms and CGI scripts, you can get by with a pretty basic machine: a high-end 486 or Pentium machine; a faster 68000 or PowerPC Macintosh, or a basic low-end workstation.

If you expect your Web server to take a lot of traffic or run a lot of programs, you'll most likely want to explore a more high-end option. Many manufacturers are creating systems now that are optimized for serving files to the Web; they may even have server software pre-installed. But for most people, starting small and cheap may be the way to go.

UNIX, Windows, or Macintosh? Lots of people have lots of opinions about the best, fastest, and cheapest platform to run a Web server on, but for the most part it all boils down to personal choice. Which platform you choose depends mostly on what you have available and what you're used to working with. UNIX machines do have a bit of an edge in freely available software and newer advances in technology, but if you've never used it before, then simply learning how to deal with UNIX will be a tremendous hurdle to get over. You can run a perfectly serviceable Web server on Windows or Macintosh and not have nearly the learning curve you'd have with UNIX. Stick with what you know and what you have available for your budget.

Finding a Network Connection

When you run your own server, usually the problem spots end up being with your network connection, not with the speed or type of computer you run. If your site becomes incredibly popular, it will usually be your network connection that gets swamped long before your computer does.

A part-time 14.4- or 28.8-PPP connection to your PC at home may be fine for browsing other people's Web pages, but if you are publishing information yourself, you'll want your server available all the time, on its own phone line, and you'll want the fastest connection you can possibly afford. Although you can publish Web pages at 14.4KB, your server will be painfully slow to the vast majority of sites trying to access your information, and if you get more than a couple people trying to get to your site at once, the connection will have a very hard time keeping up. A 28.8KB connection is the bare minimum for small sites, and a dedicated line such as a 56KB or ISDN line is preferable. For professional sites, you'll want to even consider a T1 line (the T1 line allows speeds up to 1.54 megabits per second; roughly 50 times faster than a 28.8 modem).

The faster the connection, the more expensive it's going to be, and the more special connection hardware you're going to need to set it up and run it. Faster connections may also require special lines from the phone company, which may have extra costs on top of your network connection costs. Depending on how fast a connection you need, the monthly fees may run into the hundreds or even thousands of dollars.

Note
If you're publishing on a budget and you must have your own server, 28.8 may work if that server isn't enormously popular and you design your pages carefully. Sticking to text and avoiding high-bandwidth files such as large images and multimedia allows you to get by with a slower connection. If you are on a budget, however, consider renting space on a Web service provider because you get the faster connection and support for a nice low price.

Not daunted by the cost? Then the next step is to find someone who will provide a connection for you. Generally speaking, you have two choices: getting a connection directly from a network provider or co-locating at someone else's site.

Working with a Network Provider

To get a high-speed direct connection to the Internet, you'll need a network provider. Network providers are sort of like high-end ISPs. In fact, depending on where you are, your ISP may double as a network provider. Usually when you get service from a network provider, all they'll give you is the connection to the Internet: you usually won't get all the extra doodads such as space for files on their servers, Usenet news, or anything else of that ilk (this does, of course, vary from provider to provider, so check around).

Many network providers will also deal with the technical aspects of getting your server to appear on the Net including setting up your domain names and managing your domain name service (DNS). If your network provider does not provide this, you'll have to learn how to do it yourself-but lots of information on this is available on the Net and in books on how to set up your own server.

Keep in mind that the network provider's costs are for the actual Internet connection. You may also have additional costs for the actual hardware or telecommunications lines from other sources such as the phone company. Make sure you understand your options and the complete costs for those options before signing up for a plan.

Co-location

Co-location is sort of a halfway point between doing everything yourself (the server, the connection, all the hardware and software), and renting space on someone else's server. The concept behind co-location is that you set up, install, and maintain a Web server machine-but that machine is connected to someone else's network and usually physically located in a building somewhere else.

New Term
Co-location is where you control a Web server machine, including all the setup and administration, but that machine is at some location other than your own and has a fast connection you share with other servers.

Because you don't have to pay for the connection itself or the special connection hardware, co-location services are often significantly cheaper than full connections, but you still get the flexibility to run your own server. The disadvantage is that often you'll be sharing your connection with several other machines at that same location, so if you have a particularly busy machine, you may find that co-location isn't enough to keep you up and running.

Usually co-location services will provide some support for getting set up, including DNS and routing information. They may also provide a 24-hour operator, and so if your machine crashes hard enough that it needs someone to actually go turn it off and turn it on again, you don't have to wait until the building is open in the morning.

When you research network providers and ISPs for your own Web server, ask about co-location services and their comparative costs to a direct connection.

Software

With the hardware all in place, your next step is to get server software to publish your pages. A wide variety of servers exist, freeware to shareware to servers costing thousands of dollars.

All the Web servers mentioned in this chapter provide basic Web capabilities for serving pages and logging requests. All are configurable for different content-types, and all have some sort of support for CGI and forms (although they may have very different ways of doing it). Most of them have mechanisms for authentication and access control based on hostname or login ID and passwords. Many servers have more advanced features for managing larger sites, and the more expensive commercial servers have facilities for encrypting the connection between the browser and the server for secure transactions. Choose a server based on your budget and the intended purpose for that Web server.

The next few sections give a general overview of the most popular servers for UNIX, Windows, and Macintosh. This is by no means an exhaustive list of available servers; there are some 50 or 60 servers available on the market now for a wide variety of platforms. The servers mentioned in this section, however, are some of the more widely used and supported servers on the Web today.

Note
Many of the server features I mention in this section might be new concepts to you, for example, image maps or server includes. If you don't understand something, don't panic. You'll learn about most of the features mentioned for each server later on in this book in various chapters.

For more information of what each server supports, see the home page for that server (as listed in each section). The Web Compare server also provides a very detailed comparison of servers and the features they offer which can help you make a decision. See http://www.webcompare.com/server-main.html for details.

Servers for UNIX Systems

The Web originally became popular on UNIX systems, and even today new features are often being introduced on UNIX systems first. Many Web servers are publicly available for UNIX, and two of the best and most popular (NCSA and Apache) are free to download and use. For professional or business-oriented Web sites that need support or advanced capabilities for large presentations, you may want to look into the Netscape servers instead, which provide lots more features and support. The disadvantage of those servers, of course, is that you do have to pay for them.

Note that to install and use most UNIX servers in their default configuration, you must have root access to the UNIX machine you're installing them on. Although UNIX servers can be run without root access, you won't get nearly the same functionality.

NCSA HTTPD

One of the original Web servers, and still one of the most popular, is the HTTPD server from NCSA at the University of Illinois. NCSA's HTTPD provides everything you would expect from a Web server, including security and authentication using login names and pass-words, as well as support for CGI and forms, server-side includes, and advanced logging capabilities. Newer versions (1.5 and later) include authentication using MD5 and Kerberos and capabilities for "virtual hosts" (multiple domain names getting information from different places on the same server while appearing to be their own server).

Find out more about NCSA HTTPD from the NCSA home page at http://hoohoo.ncsa.uiuc.edu/.

A secure version of NCSA HTTPD that supports SHTTP (a mechanism for encrypting information between browser and server) is also available. Information is at http://www.commerce.net/software/Shttpd/.

Apache

Apache is another freeware server, based on NCSA HTTPD and, if surveys are to be believed, is the most popular Web server on the Web today on all platforms. The home page for more information and the code for apache is at http://www.apache.org/.

Apache (which gets its name from "a patchy server") was based on an older version of NCSA, and it includes enhancements for speed and performance, virtual servers, and other administrative enhancements (many of those same enhancements were then included in more recent versions of NCSA).

The standard version of apache has also been modified to include support for Netscape's SSL protocol, allowing secure encrypted transactions. ApacheSSL, as it's called, is available from http://www.algroup.co.uk/Apache-SSL/.

W3 (CERN) HTTPD

One of the original Web servers, and for the long time one of the most popular, was CERN's HTTPD. Although the CERN server is now under the control of the W3 Consortium, it's still generally referred to as the CERN server.

CERN's HTTPD provides most of the capabilities of NCSA, minus server-side includes. CERN's HTTPD can, however, be run as a proxy; that is, it can be set up to handle outgoing Web connections from inside an Internet firewall. Some organizations set up their networks so that the majority of the machines are on an internal network, with only one machine actually talking to the Internet at large, to prevent (or minimize) unauthorized access on the internal network. That one machine is called a firewall, and with CERN's HTTPD running on it, it can pass Web information back and forth between the internal network and the Web at large.

New Term
A firewall is a way of organizing a network of systems so that all traffic between an internal network and the global Internet goes through a very small set of machines (often only one). The firewall has a tight set of security policies to prevent unauthorized access to the internal network. A proxy is a server that operates on the firewall to allow Web connections between the internal network and the Internet.

CERN servers running as proxies also have a facility for caching-storing frequently retrieved documents on the firewall system instead of retrieving them from the Web every time they are requested. This can significantly speed up the time it takes to access a particular document through a firewall.

The main problem of CERN over other servers at the moment is that it is not being actively developed, has not been updated for over a year, and does not include most of the features of newer servers. If you're in need of a proxy or caching server, consider looking into the CERN server; otherwise, you'll probably want to use either NCSA or Apache, or spend the money for the Netscape servers.

Find out more about the CERN (W3) HTTPD at http://www.w3.org/pub/WWW/Daemon/.

Netscape's Web Servers

Netscape Communications provides a wide range of server products for the Web and for just about every other Internet purpose. Unlike the freeware UNIX servers, they have more administrative features and can often handle very high loads, and support is available from Netscape as well.

Netscape is currently in transition between an older generation of servers and the newer. The servers currently shipping and available are theCommunications Server and the Commerce Server. Both include all the basic capabilities of NCSA and CERN (CGI, server-side includes, authentication, and so on). They both also support NSAPI, a mechanism for doing CGI-like interfaces with other programs and for extending the server itself. The major difference between the Communications Server and the Commerce Server is that the latter includes Netscape's SSL encryption mechanism for secure transactions.

Both the Communications Server and Commerce Server are available for most major UNIX workstations vendors (Sun, SGI, DEC, HP, and IBM), Intel Pentium systems running BSDI, and Windows NT for Intel and DEC Alpha. The Communications server costs $295, and the Commerce Server $995. Support is extra for both.

The new suite of Netscape servers provides many more features for both the Web and for more general-purpose Internet services (mail, news, and so on).

All these servers are still in development at the time I write this, but Beta evaluation copies are available for downloading and testing. You can find out more about all the Netscape servers at the Netscape home page (http://www.netscape.com/), and in particular, at "Server Central" at http://home.netscape.com/comprod/server_central/index.html.

Servers for Windows

If you use a PC running Windows, Windows NT, or Windows 95, that PC can easily run as a Web server. For professional sites, the most popular server is O'Reilly's WebSite, which runs on Windows NT or Windows 95. Other servers are available, however, including WinHTTPD for 16-bit Windows 3.1 servers, the Microsoft Web server (which is free), and the suite of Netscape servers are available for Windows as well.

WinHTTPD

For 16-bit Windows 3.1 Web servers, your best choice for a Web server is WinHTTPD, a version of NCSA HTTPD. WinHTTPD supports most of NCSA HTTPD's features, including authentication (login names and passwords), server includes, image maps, and CGI.

CGI in WinHTTPD is particularly interesting. WinHTTPD supports two forms of CGI: DOS CGI, which uses DOS batch files, and Windows CGI, which allows you to write CGI programs in Visual Basic. A number of VB CGI programs are also available for WinHTTPD for many common Web tasks such as forms, image maps, access counters, and so on. WinHTTPD can also run Perl scripts. WinHTTPD does not support server-side includes or any advanced security capabilities such as encryption.

The author of WinHTTPD, Robert Denny, has moved on to supporting the 32-bit WebSite (see the next section), and most likely will have limited time in which to update WinHTTPD. However, for ordinary use on Windows 3.1 servers, the current version of WinHTTPD should be fine. If you find your server getting an exceptional amount of use, or you want to create a more professional site, consider upgrading your server to Windows NT or 95 to run the other servers mentioned in this section.

WinHTTPD is free for personal and educational use, but if you use it commercially, you're expected to pay for it after a 30-day evaluation period (it's $99). You can also upgrade from WinHTTPD to O'Reilly's WebSite for $275. Find out more about WinHTTPD and download a copy at http://www.city.net/win-httpd/.

O'Reilly's WebSite

WebSite, available from O'Reilly and Associates, is a 32-bit Web server that was based on WinHTTPD but has been greatly enhanced for both performance and for ease of use. WebSite supports all the features of WinHTTPD. It also supports server-side includes, access to Windows databases such as FoxPro and Access, and support for "virtual servers," allowing you to have several domain names pointing to different locations on the one server. You can find out more about WebSite from http://website.ora.com/.

As with WinHHTPD, WebSite supports CGI through a DOS mode and through Visual Basic. It also supports CGI using Perl and UNIX shell scripts.

Administration of WebSite is particularly well done, with all setup and configuration done with the WebSite Server Admin tool, shown in Figure 16.1. This tool allows you to configure just about every aspect of WebSite, including name and password authentication, new content-types, access control, CGI setup, and logging. WebSite also allows you to administer the Web server remotely, from any site on the net (including from the Internet).

Figure 16.1 : WebSite Administration.

WebSite comes with integrated tools for Web site management, including the HotDog HTML editor, Spyglass Mosaic for browsing, an easily-configurable built-in search engine, an image map generation tool and p, a tool that shows you all the embedded links in each page on your site and automatically checks to see which links work and resets them all automatically if necessary. Figure 16.2 shows an example of the WebView window.

Figure 16.2 : WebSite WebView.

The standard version of WebSite provides basic authentication and access control. For encryption and security, a package called WebSite Professional provides support for encrypted secure connections using SSL and S-HTTP. At the time I'm writing this, WebSite professional is not yet available but is expected any time now. It will cost $1499.

You can run WebSite on any 386, 486, or Pentium running Windows 95 or Windows NT, although faster machines are recommended. Recommended RAM is 16MB. A three-day demo of the server is available for downloading from O'Reilly's Web site; the full version costs $499. See http://website.ora.com/ for details.

Microsoft Internet Information Server

For Windows NT only, Microsoft provides the Microsoft Internet Information Server (IIS). IIS is three servers in one (Web, FTP, and Gopher), is totally free for everyone (personal, educational, and commercial) and downloadable from Microsoft's Web site at http://www.microsoft.com/infoserv/iisinfo.htm.

IIS supports CGI through Perl and also provides an interface for other forms of server interaction with databases and other programs. That latter interface, called ISAPI (Internet Server Application Programmer Interface), is the heart of many forthcoming Microsoft Internet products including the ActiveX server framework, which provides advanced programming, multimedia, database, and embedded object controls. More may be available about the ISAPI and ActiveX by the time you read this; at the moment information is pretty sparse.

Administering IIS is done through the Internet Service Manager, which can be run from any site that has network access to the server. (Figure 16.3 shows IIS's properties for the WWW service.) The Service Manager tool can be used to administer FTP and Gopher servers as well as the Web server. Logging on all servers is nicely done; log files can be stored in a number of formats (including the standard Web common log format) and stored either as a file or directly into a database.

Figure 16.3 :IIS WWW service properties.

In terms of security features, IIS is integrated with Windows NT's security model, allowing authentication and access control based on Windows NT's users and groups, as well as on IP numbers and domain names. IIS also supports Netscape's SSL encryption.

Other interesting features included as part of Windows NT include "throttling," a mechanism for keeping too many hits on a particular server from swamping the rest of the network, and performance monitoring for keeping track of when the server is busiest.

Netscape Servers for Windows

All the Netscape Web servers, including the Communications and FastTrack servers, will run under Windows NT. See the information on Netscape's servers under the section on UNIX servers earlier in this chapter or Netscape Web pages (http://www.netscape.com/) for information.

Servers for Macintoshes

By far the most popular servers for the Macintosh are MacHTTP and WebStar.

MacHTTP, originally by Chuck Shotton and now supported by StarNine, was one of the first Web servers for the Macintosh and continues to be one of the most popular. MacHTTP is a full-fledged Web server intended for smaller sites. It includes support for forms and image maps through AppleScript, password protection and access control, and can be configured to work with Mac databases such as FileMaker Pro as well as SQL databases. A large number of other utility programs for search engines, access counters, Web cameras, chat systems, and other tools and toys also exist and are available on the StarNine Web site (http://www.starnine.com/).

WebStar is the commercial version of MacHTTP, which runs much faster, can handle many more connections, has more features, and a heftier price. WebStar is intended for professional connections and is the server bundled with Apple's own Web server hardware. It is fully AppleScript compatible and extensible. It can be maintained remotely from any site on the Internet.

Although both MacHTTP and WebStar provide simple access control based on domain name or IP address and can be configured to require a login name and password, for commerce-level security and encryption you'll need WebStar and the optional Security toolkit, available from StarNine.

MacHTTP is exceptionally easy to set up; basic configuration involves double-clicking the MacHTTP icon. There, you're done. Extra configuration (for adding content-types or new AppleScript capabilities) involves editing a simple configuration file.

Figure 16.4 shows the main MacHTTP window.

Figure 16.4 : MacHTTP.

To run either MacHTTP or WebStar, you'll need a Mac running System 7, MacTCP, and AppleScript. At least 8MB of RAM is recommended.

MacHTTP is shareware; you can use it for 30 days, and then you're expected to pay for it. It's $65 for educational users and $95 for everyone else. WebStar is $295 for educational use, $499 for commercial use, or you can upgrade from MacHTTP to WebStar for $169 (educational) or $349 (commercial). The security toolkit for WebStar is $499 (educational) and $599 (commercial). Find out more about MacHTTP, WebStar, and StarNine at
http://www.starnine.com/.

Tips for Good Server Administration

If you've set up your own Web server, there are several simple things you can do to make that server useful on the Web and to your readers.

Alias Your Hostname to www

A common convention on the Web is that the system that serves Web pages to the Network has a name that begins with www, for example, www.sun.com or www.tlg.org. Typically, your network administrator or your network provider will create a hostname alias, called a CNAME, that points to the actual machine on the Network serving Web files. You don't have to follow this convention, of course, but it is helpful for these reasons:

Create a Webmaster Mail Alias

If the system you're using has the ability to send and receive mail, create a globally available mail alias for "webmaster" which points to your e-mail address, so that if someone sends mail to webmaster@yoursite.com, that mail is sent to you. Like other administrative mail aliases such as root (for general problems), postmaster (for e-mail problems), and usenet (for news), the webmaster alias provides a standard contact address for problems or complaints about your Web server. (You may not want to hear about problems or complaints, but it is the polite thing to do.)

Create a Server Home Page

Your server may be home to several different Web presentations, especially if you are serving many different users (for example, if you've set up a Web "storefront"). In cases such as this, you should provide a site-wide home page, typically http://www.yoursite.com/index.html, that provides some general information about your site, legal notices, and perhaps an overview of the contents of your site-with links to the home pages for each presentation, of course.

The configuration file for your server software should have an entry for a site-specific home page.

Create Site-Wide Administrative and Design Guidelines

If you are the Webmaster for a large organization, it may be helpful for you and for your organization to define who is responsible for the Web server: who is the contact for day-to-day complaints or problems, who is the person to set up access control for users, and who can answer questions about policy concerning what can appear in a public Web page on this site.

In addition, your organization may want to have some kind of creative control over the Web pages it publishes on the Web. You can use many of the hints and guidelines in this book to create suggestions for Web page style and create sample pages that your users can use as a basis for their own Web pages.

Summary

When you're publishing pages on the Net, you have several choices for where to publish those pages. For individuals on limited budgets, renting space on servers may work just fine. For other organization or larger presentations, however, you may want to install and run your own Web server. This chapter gave you an overview of what you'll need to run and set up your own server, a general overview of the software available Web sites, and some basic hints for running a Web server.

Table 16.1 shows a summary of the servers you learned about in this chapter, including the platforms they run on, who makes them, their cost, and a URL for more information.

Table 16.1. Server software.
NamePlatform Who Makes It CostURL
NCSAUNIX NCSAfree http://hoohoo.ncsa.uiuc.edu/
ApacheUNIX Apachefree http://www.apache.org/
CERN HTTPDUNIX W3 Consortiumfree http://www.w3.org/pub/WWW/Daemon/
Netscape UNIX, NT Netscape$295 http://home.netscape.com/comprod/server_central/index.html
Communications Server     
Netscape Commerce
Server
UNIX, NTNetscape $995http://home.netscape.com/comprod/server_central/index.html
Netscape FastTrackUNIX, NT Netscape$295 http://home.netscape.com/comprod/server_central/index.html
Netscape Enterprise
Server
UNIX, NTNetscape $995http://home.netscape.com/comprod/server_centralindex.html
Netscape SuiteSpotUNIX, NT Netscape$3995 http://home.netscape.com/comprod/server_central/index.html
WinHTTPDWindows 3.1 Robert Dennyfree for non- commercial use, $99 otherwise http://www.city.net/win-httpd/
WebSiteWindows 95,     
 Windows NT O'Reilly$199 http://website.ora.com/
Microsoft Internet
Information Server
Windows NTMicrosoft freehttp://www.microsoft.com/infoserv/iisinfo.htm/
MacHTTPDMacintosh StarNine$65 educational,
$95 otherwise
http://www.starnine.com
WebStarMacintosh StarNine$169 educational,
$349 otherwise
http://www.starnine.com/

Q&A

QI'm just starting out with Web publishing by creating an online magazine. I have no idea how popular it's going to be; I don't even really know what sort of features I'm going to need. This is all really confusing to me, trying to decide what I need and what I want. Half the stuff you said that servers support I don't understand or even know what it could possibly mean to me. I'm overwhelmed. What should I do?
ADon't panic. If you're just starting out in the Web industry, chances are this chapter is going to be over your head. Renting space on someone else's server, as I described in the previous chapter, is the best way to begin Web publishing, particularly if you have a small budget. Start out there and get a feel for what you can and cannot do, and the sorts of features you want to include on your Web site. If you find that you need more than your Web provider can give you, you can change providers or eventually work up to running your own server.
QHow can I set up a server to do access control (to only let certain sites in), or to run as a proxy across a firewall?
AIf this were a book all about setting up Web servers, I'd have written whole chapters on these subjects. As it is, the documentation for your server should tell you how to do each of these things (and the documentation for all the servers I've mentioned in this chapter is excellent, so with a little poking around you should be able to find what you need).
QI'd really like to run a UNIX Web server because I'm familiar with UNIX, and those servers appear to have the most features and the most flexibility. But UNIX workstations are so incredibly expensive. What can I do?
AYou can get a cheap PC (a high-end 486 or low-end Pentium) and run UNIX on it, and then use many of the UNIX-based Web servers. Several versions of UNIX for PCs exist, including Linux, BSDI, and NetBSD. I like the freeware Linux, which you can usually pick up on CD for under $20, and both NCSA's HTTPD and Apache run seamlessly under it (in fact, my own Web server runs on Linux, and all the scripts you'll learn about in the next couple of chapters were written on Linux).
Or, simply run a server on your existing PC or Macintosh system. Although UNIX servers have the advantage of a lot of new technology appearing there first and do tend to be the most flexible, PC- and Macintosh-based servers are catching up and have been proven to be just as robust as UNIX-based servers. There is nothing on the Web that says you have to use UNIX.
QMy UNIX friends keep telling me that I'm really stupid to run a Web server on a Macintosh, that there are bottlenecks in the MacOS that keep it from handling Web traffic very well. I'm having a hard time believing this isn't my UNIX friends being obnoxious again. Is it true?
AIn an average Web server, it is almost always the network connection that will cause the bottleneck before the Web server does. If you're running a 56KB, 128KB, or ISDN line with a very popular Web server (1000 or more hits an hour), your Web server can keep up fine with the requests that actually make it through the connection. But there will be many more than will hang up on the network itself.
Assuming an unlimited amount of bandwidth and roughly equivalent systems (same speed CPU, RAM, roughly equivalent server software), yes, there are indeed limitations in the MacOS that aren't there in UNIX or in Windows NT (they also exist in Windows 3.1). But few sites will need or require that sort of super-high-end capabilities, so if you want to stay on the Macintosh, you can do so and probably handle all the traffic you're getting just fine