Using UnixWare 2 to Set Up a Web Server: A Case Study
Articles and Tips: article
Vice President Engineering
Network Publishing Inc.
DAVID B. DOERING
Network Technical Services
01 Sep 1995
This Application Note is a case study that describes how an independent contractor set up World Wide Web sites for Novell and why they chose Novell's UnixWare as the operating system platform for the Web servers. This information will be of value to anyone who is looking into ways of establishing a presence on the Internet, which is rapidly becoming a necessity to remain competitive in capturing customer mindshare.
Network Publishing, Inc., is a small but growing company specializing in creating and enhancing World Wide Web (WWW or Web) sites on the Internet. Located in Provo, Utah, Network Publishing maintains the Web sites for the following Novell products and divisions:
Business Applications (WordPerfect)
Information Access and Management Group (IAMG)
Novell Embedded Systems Technology (NEST)
These Web sites currently process over 100,000 transactions per day from dial-in users. This figure indicates the burgeoning demand for information via the Internet, especially considering that most of these sites opened after September of 1994.
This Application Note is a case study that describes how Network Publishing set up these Web sites and why they chose Novell's UnixWare as the operating system platform for the Web servers. This information will be of value to anyone who is looking into ways of establishing a presence on the Internet, which is rapidly becoming a competitive necessity to capture customer mindshare.
Identifying Key Requirements
Network Publishing began by looking at the needs of businesses wanting to develop a presence on the Internet and specifically on the Web. We identified two key requirements as (1) skilled assistance in building Web sites and (2) enhancing those sites to establish a profitable presence on the Internet.
We then established three main goals, from which we would derive our hardware and software requirements. These goals were:
Guaranteed uptime so that our Web servers are always visible to users
Speedy access to home pages and the resources underneath them
Effective use of Web server technology to fulfill a solid business need
We initially tested out our Web servers using Sun workstations. They worked well, but the cost of the workstations was too high. Our clients required a cheaper means of creating Web servers.
We then looked at other flavors of Unix in hopes of finding a platform-independent version that suited our needs. We tried SGI, Linux, and BSD versions of Unix but discarded each for various reasons. For example, Linux didn't have good support and we were concerned about its ability to perform under heavy loads. SGI had good support, but was also expensive.
We also tested Windows 3.x, Windows NT, and the Apple Macintosh as Web server platforms. While many systems such as the Macintosh or even Windows 3.1 can run the server software, they simply don't have the horsepower needed to keep up with an active Web site. An effective Web site has to support a large number of simultaneous users - an average of 30,000 transactions a day. You can tell online which Web sites come from which type of machine. Web servers on Macintosh or Windows 3.x machines deliver data much more slowly to users, which for our purposes was unacceptable.
Windows NT, on the other hand, handled the chores okay, but it lacks a wide developer base. As a result, few tools are available for working with Windows NT. For example, we needed to integrate with our text retrieval engine. A number of pertinent tools were available for Unix platforms, but none were available for Windows NT.
The Winner - UnixWare
We then looked at UnixWare, a product that some of us had already worked with while employed at Novell. We decided on UnixWare for a number of reasons:
Tight integration with NetWare
Complete Unix capabilities
Wide developer support
More robust file system
Better technical support
The following paragraphs explain each of these reasons in more detail.
Cost/Performance. UnixWare's cost/performance ratio was superior to that of the other solutions. In fact, UnixWare has set new records in terms of providing the most transactions for the least cost of any Unix flavor.
NetWare Integration. UnixWare offers tight integration with the NetWare environment. This is important since our designers work on DOS/Windows workstations connected to a NetWare 4.1 network to create HyperText Markup Language (HTML) text. We didn't want to have to retrain our designers to handle file services on a UnixWare box, and we didn't have to with UnixWare. We used the NetWare for NFS product to transfer appropriate files over to the UnixWare server without the end-users having to perform that task. As far as they are concerned, they are still using NetWare.
UnixWare is Unix. UnixWare offers a solution with all the standard Unix capabilities, such as NFS. It also comes with a complete software developer's kit so we had all the developer's tools we needed to work with it.
Platform Independence. UnixWare supports many types of Intel-based hardware platforms. This makes it much easier to choose an appropriate platform scaled to either ours or a client's specific needs, compared to a Sun system which comes in only five models. A limited model line would force us to have either too little or too much machine for our needs. Scalability is quite important since we wanted to have a less-expensive upgrade path.
Multiprocessor Support. UnixWare provides support for Symmetric MultiProcessing (SMP, which is critical in handling back-end services. Such services include full text searches of databases - a valuable tool, but one which requires additional horsepower. We needed strong back-end services since we wanted to do more than simply provide pre-generated HTML documents on the Web.
For example, full text searches allow the Novell YES program to store their latest approved product listings in one location, while allowing users to search and view only that portion of the information they want. Pre-generated HTML documents don't allow for that. They are complete in and of themselves.
Wide Developer Support. UnixWare has many thousands of experienced Unix developers who can enhance its capabilities. There are also numerous available tools for developing and maintaining the Web server, as well as integrating back-end services such as database engines.
On the UnixWare side, the C SDK costs $100 and is familiar to developers. UnixWare also supports perl, the most-used scripting language on the Web. UnixWare is easy to integrate into mail processes, subscription lists, file archives, and so on.
Better Security. UnixWare is based on the SVR 4.2 standard, which has a number of security enhancements over older versions of Unix. The basic 4.2 architecture is also more secure. For example, instead of all passwords being stored in one file (where Internet hackers knew where to look), UnixWare creates a shadow file for storing passwords.
UnixWare also includes a more secure mail system called MAILSURR. MAILSURR isn't as susceptible to hacker attacks as the Unix-standard mail system "sendmail" is. Since sendmail can be a security hole waiting for a hacker, UnixWare doesn't install this package as a default.
More Robust File System. The UnixWare file system is the Veritas file system, which ensures maximum uptime despite crashes. If a crash occurs, Veritas has a secure journaling file system to recover from. This journaling system knows how to roll back transactions, whereas the standard Unix file system doesn't. UnixWare therefore will come up much faster after a crash. (Typically it takes about 30 seconds to recover, while regular Unix might take many minutes.) Also, it is less likely that any significant damage has occurred, since UnixWare can do an effective rollback.
Easy Installation. Installation is simpler with UnixWare. You don't need to know much about UnixWare to get it installed. We found we could install it in an hour to an hour-and-a-half from the time we power up the server. Configuring the Web server in a basic configuration is also simple. We can put together a Web server in 40 minutes.
Technical Support. We found that no only did UnixWare have better support, but we felt comfortable with the direction in which Novell is taking the product.
If there is a drawback to UnixWare, it is the lack of version specific tools such as an httpd daemon (used to run the Web server), ftp daemons, Gopher daemons, and so on. Existing versions of these daemons are not tailored or compiled specifically for UnixWare. They are generic Unix software. We had to customize the daemons ourselves so that they more closely matched our needs.
Internet Access and Hardware Configuration
Since one of our goals was to provide continuous uptime for our Web sites, we installed two T1 lines (one via CompuServe, one via a local service provider). In the event that one of these loses its connection, the other remains a viable path.
Each T1 line provides a 1.44Mbps link, which can handle the number of transactions we anticipated coming through our Web sites. Since we were planning on supporting several of these sites from our office, we opted not to use ISDN. ISDN would provide two 56 Kbps channels on one phone line, for a total of only 112 Kbps throughput using both lines. This simply wouldn't support the level of activity we anticipated.
Our service providers then connected their lines to two DSUs: one a D-Serv from Kentrox and the other a Verilink Access System 2000 ConnectT1 Plus.
These two DSUs in turn connect to several Cisco routers for access to our 10BaseT hubs and the UnixWare and NetWare servers and workstations. We chose Cisco because they have a solid reputation and their routers have good support for filtering. (Filtering is a complex subject, but essentially it enforces the firewall security concept.) Many service providers want their clients to have standard hardware, so they request Cisco.
From the Cisco routers, we tie in to several 10BaseT hubs from Synoptics (Model 2000 +), but these could have been any other brand. We selected the Synoptics on the basis of who provided the best cost/benefit at that time.
3ComSanta Clara, CA(800) 638-3266, (408) 764-5000www.3com.com
American Power ConversionWest Kingston, RI(800) 800-4272, (401) 789-5735
Bay NetworksSanta Clara, CA(800) 822-9638, (408) 988-2400www.baynetworks.com
Cheyenne SoftwareRoslyn Heights, NY(800) 243-9462, (516) 484-5110www.chey.com
Cisco SystemsSan Jose, CA(800) 553-6387, (408) 526-4000www.cisco.com
NovellOrem, UT(800) 638-9273, (801) 429-7000www.novell.com
Hewlett-PackardSanta Clara, CA(800) 752-0900, (408) 246-4300www.hp.com
Thunderstone SoftwareCleveland, OH(216) 631-8544 www.thunderstone.com
Zenith Data SystemsBuffalo Grove, IL(800) 582-0524, (708) 808-5000www.zds.com
Our actual Web servers run on four Zenith Z-Server LT P60E computers, which have 128MB of RAM and 5GB of hard disk space. They communicate with the NetWare server using NetWare for NFS running as an NLM on NetWare 4.1. Backup services come from a Cheyenne ARCServe system and HP JetStore tape drive. The uninterruptible power supply (UPS) units and PowerChute software are from American Power Conversion. Figure 1 shows the resulting hardware configuration.
Figure 1: Hardware configuration for Novell's Web servers.
Our system has multiple Web servers running on a single box. For example, our WordPerfect and NetWare servers are both on the same box. Most sites won't do this, but we needed to do so. UnixWare has no problem handling this load. We do use a faster Ethernet card (3Com 3C509) to provide adequate throughput.
Web Server Software
Once we settled on our hardware, we next turned to acquiring and configuring appropriate software for our Web servers. To run a Web site, you need to have a mail package, a good version of which comes with UnixWare. You also need a hypertext transfer protocol daemon (httpd) to run the actual Web server, and you need tools to create HTML documents.
Finding the Right httpd
Where to Find It
NCSA httpd daemon ftp.ncsa.uiuc.edu
CERN httpd daemon ftp.w3.org
We tested both the CERN and the National Center for Super-computing Applications (NCSA) versions of the precompiled Web server daemon. We found the NCSA was not only the most commonly used, but it is updated more frequently than the CERN edition. We could also have used a commercial package, such as NetScape's Commerce Server, but such packages aren't tailored specifically for UnixWare. Rather than purchase such a package, we modified the NCSA version of the daemon to compile it for and work better with UnixWare.
Once we loaded the httpd daemon, we immediately modified its default username ROOT as a security precaution. We did this because many Unix hackers are aware of it, although the danger of any problems coming from that direction is slight.
We also replaced the wooftpdaemon with the wuftpd version which provides additional accounting and auditing of user activity. It can also restrict groups of users from accessing the Web server. For example, if a dial-in user is from MS.COM, that user can be prevented from accessing NOVELL.COM.
The directory structure for a default Web server installation on a UnixWare server is as follows:
Web server root
Access and error logs
One last thing we decided on was to follow the DOS 8.3 file naming scheme. Although UnixWare supports extended name spaces, we standardized on 8.3 since this would reduce confusion for our various DOS and Windows users.
With the daemon up and running, it became a matter of populating the Web sites with attractive graphics and other bonuses of HTML.
Working with HTML
As mentioned earlier, all material for the Web must use the HTML format. HTML is essentially ASCII text with special coding embedded in it. These codes instruct the user's Web browser on how to reconstruct the image using text, images, buttons, hot spots, links, and so on.
We create most of our HTML content in Word or WordPerfect, using some custom macros we created. We could have used one of the commercial extensions to these word processors for creating HTML documents. For example, there's the new Internet Publisher for WordPerfect and one for Word 6 called the Internet Assistant. However, we chose to use our own macros since they are faster.
Many of our clients have existing material created with a layout program such as QuarkXPress. In such cases, we also use QuarkXPress to translate the existing material into HTML documents.
Finally, we test all home pages and related documents using each of the major Web browsers (NetScape, Mosaic, AirMosaic, and so on) to ensure that the pages look right no matter which browser is used to access them.
Figures 2 through 4 show some examples of the Web pages we have developed.
What the Future Holds
Now that we have a stable infrastructure in place, we are moving on into improving the content of each Web site, especially our back-end services. We use Thunderstone Software's TEXis Text Information Server (available from Expansion Programs International, Inc.) as our online full-text search and retrieval engine. As we mentioned earlier, such searches provide users with faster access to more pertinent information than they could get by simply wandering through HTML documents.
One thing we might still change would be to run TCPIP.NLM on our NetWare 4.1 server. We could then mount our NetWare volume on the UnixWare box and remove the NetWare for NFS process. We first need to test this to see if there's a performance hit over using NetWare for NFS.
Otherwise the existing system, which is very much the same hardware and software we began with in September 1994, continues to deliver without our having to do a lot of tweaking or performance tuning.
Network Publishing One East Center Street, Suite 310 Provo, Utah 84601 Contact Rich Farr or Rick Maw 801-377-9399 voice, 801-377-9390 fax On the internet: rfarr or firstname.lastname@example.org or set your Web browser to www.netpub.com
Figure 2: Novell's corporate home page on the World Wide Web (location www.novell.com).
Figure 3: Novell's Web page for UnixWare 2 (location http://unixware.novell.com).
Figure 4: Network Publishing's home page on the World Wide Web (location http://www.netpub.com).
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.