Front cover Using Web-D for or Software Distribution bution Web-based software distribution Easy integration into current network Low cost and complexity Byron Braswell Dudley Miller ibm.com/redbooks Redpaper International Technical Support Organization Using Web-D for Software Distribution October 2003 Note: Before using this information and the product it supports, read the information in “Notices” on page v. First Edition (October 2003) This edition applies to Version 2 of the Web-D service offering. © Copyright International Business Machines Corporation 2003. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii The team that wrote this Redpaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Chapter 1. Web-D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Features and benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Web-D prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Web-D components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Installation considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6 Installing and configuring a Web-D Version 2.0 server . . . . . . . . . . . . . . . . 9 1.6.1 Required software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.6.2 Installing Java Runtime Environment Version 1.3.1_08 . . . . . . . . . . 10 1.6.3 Installing IBM HTTP Server Version 2.0.42.1 . . . . . . . . . . . . . . . . . . 10 1.6.4 Installing ActiveState ActivePerl Version 5.8.0 . . . . . . . . . . . . . . . . . 15 1.6.5 Creating the Web-D directory structure. . . . . . . . . . . . . . . . . . . . . . . 16 1.6.6 Configuring the HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6.7 Installing MySQL Version 3.23.57. . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6.8 Installing and configuring the LogServer daemon. . . . . . . . . . . . . . . 21 1.6.9 Installing and using the LogView program . . . . . . . . . . . . . . . . . . . . 23 1.6.10 Customizing the Web-D Web site . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.6.11 Installing the admin console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.6.12 Accessing the Web-D user interface . . . . . . . . . . . . . . . . . . . . . . . . 31 1.6.13 Accessing the Web-D admin console . . . . . . . . . . . . . . . . . . . . . . . 33 1.6.14 Enabling FTP and Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.7 Using Web-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.7.1 Web-D configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.7.2 Web-D standard directory structure . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.7.3 Package type descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.7.4 PKGS.INI field descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.7.5 Adding a package to the catalog. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 1.7.6 Removing a package from the catalog . . . . . . . . . . . . . . . . . . . . . . . 45 1.7.7 Deleting all of the entries in the MySQL database . . . . . . . . . . . . . . 45 1.7.8 Using the admin console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 © Copyright IBM Corp. 2003. All rights reserved. iii 1.8 Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.8.1 The Java Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.8.2 Web-D logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1.8.3 Apache logs and manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1.8.4 Java security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 1.8.5 Perl not configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.8.6 Java applet compatibility within Internet Explorer . . . . . . . . . . . . . . . 57 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 iv Using Web-D for Software Distribution Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces. © Copyright IBM Corp. 2003. All rights reserved. v Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX® Asset ID™ DB2® IBM® ibm.com® ImageUltra™ Lotus Notes® Lotus® NetVista™ Notes® POWER3™ POWER4+™ Rapid Restore™ Redbooks™ Redbooks (logo) ThinkCentre™ ThinkPad® ThinkVantage™ WebSphere® ™ The following terms are trademarks of other companies: Intel, Intel Inside (logos), MMX, and Pentium are trademarks of Intel Corporation in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, and service names may be trademarks or service marks of others. vi Using Web-D for Software Distribution Preface Many of the software delivery products in the marketplace are not Web based or “Web enabled,” or they provide minimal functionality with a high degree of cost and complexity. Web-based software delivery solutions do exist, but generally do not incorporate all the necessary requirements, or they are too expensive to implement just for distributing software. The Web-D process provides for the electronic delivery of software components to the desktop of machines distributed throughout a corporate enterprise using Web-based tools and technology, while keeping cost and complexity low. Web-D is a Java™-based, Web-enabled software distribution solution that complements and leverages the customer’s investment in PC technologies. Wed-D is simple to manage and easily integrates into an existing customer network infrastructure. It is customizable and is very cost effective, both at the time of implementation and over the long term. This Redpaper is part of a set of IBM® Redpapers and Redbooks™ describing how to create, deploy, maintain, and recover client systems. The other books and papers are: Using ThinkVantage Technologies: Volume 1 Creating and Deploying Client Systems, SG24-7045 Using ThinkVantage Technologies: Volume 2 Maintaining and Recovering Client Systems, SG24-6060 Using Asset Depot for Inventory Management, REDP-3763 The team that wrote this Redpaper This Redpaper was produced by a team of specialists from around the world working at the International Technical Support Organization, Raleigh Center. Byron Braswell is a Networking Professional at the International Technical Support Organization, Raleigh Center. He received a B.S. degree in Physics and an M.S. degree in Computer Sciences from Texas A&M University. He writes extensively in the areas of networking and host integration software. Before joining the ITSO three years ago, Byron worked in IBM Learning Services Development in networking education development. © Copyright IBM Corp. 2003. All rights reserved. vii Dudley Miller is a Senior Systems Management Professional for IBM Global Services, South Delivery Center. He received a B.S. degree in Engineering Science from The University of Texas at Austin. He has more than 15 years of experience in the IT industry. His areas of expertise include object-oriented design and development of electronic software delivery solutions. Thanks to the following people for their contributions to this project: Margaret Ticknor Linda Robinson Rufus Credle David Watts Tamikia Barrow International Technical Support Organization, Raleigh Center Oscar Aguirre IBM Chicago David Gemuenden Syed Irfan Bill Lee IBM Austin Mickey Iqbal IBM Alpharetta Become a published author Join us for a two- to six-week residency program! Help write an IBM Redbook dealing with specific products or solutions, while getting hands-on experience with leading-edge technologies. You'll team with IBM technical professionals, Business Partners and/or customers. Your efforts will help increase product acceptance and customer satisfaction. As a bonus, you'll develop a network of contacts in IBM development labs, and increase your productivity and marketability. Find out more about the residency program, browse the residency index, and apply online at: ibm.com/redbooks/residencies.html viii Using Web-D for Software Distribution Comments welcome Your comments are important to us! We want our papers to be as helpful as possible. Send us your comments about this Redpaper or other Redbooks in one of the following ways: Use the online Contact us review redbook form found at: ibm.com/redbooks Send your comments in an Internet note to: redbook@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HZ8 Building 662 P.O. Box 12195 Research Triangle Park, NC 27709-2195 Preface ix x Using Web-D for Software Distribution 1 Chapter 1. Web-D Web-D is a Java-based, Web-enabled software distribution solution that complements and leverages the customer’s investment in IBM ThinkVantage™ Technologies. Wed-D is simple to manage and easily integrates into an existing customer network infrastructure. It is customizable and is very cost effective, both at the time of implementation and over the long term. In this chapter, we discuss Web-D Version 2.0. We cover the following topics: The components of Web-D The features and benefits of Web-D Installing and configuring a Web-D 2.0 server on the Microsoft® Windows® 2000 Server platform Installing and configuring the Web-D 2.0 admin console Using Web-D Troubleshooting Web-D © Copyright IBM Corp. 2003. All rights reserved. 1 1.1 Introduction With the proliferation of corporate TCP/IP and Web-based intranets, it is logical to use these intranets to deliver software to, and manage software on, enterprise computers. Web-enabled applications have the following advantages: Single programming interface for all clients and platforms Consistent, simple to learn interface Available on demand Low cost of implementation and ownership For the past several years, customers have been migrating their environments to Web-based environments and want products and services to integrate with them. Although this migration is still in progress, many corporations still rely heavily on client-based programs and the traditional client/server model. Many of the software delivery products in the marketplace are not Web based or “Web enabled,” or they provide minimal functionality with a high degree of cost and complexity. Web-based software delivery solutions do exist, but generally do not incorporate all the necessary requirements, or they are too expensive to implement just for distributing software. The Web-D process provides for the electronic delivery of software components to the desktop of machines distributed throughout a corporate enterprise using Web-based tools and technology, while keeping cost and complexity low. Obtaining Web-D: Web-D is an offering from IBM Global Services, South Delivery Center. Customers interested in using Web-D can contact David Gemuenden by e-mail: mailto:dwg@us.ibm.com 1.2 Features and benefits The Web-D software distribution process consists of many valuable features, all of which work together to satisfy current customer requirements. Web-D includes the following features and benefits: Ease of integration into the enterprise environment: Components that make up the Web-D process are readily available, industry-standard components, such as Java, Perl, Apache Tomcat Web Server, and FTP. Each component has demonstrated itself to be reliable within today's information technology industry. 2 Using Web-D for Software Distribution Simple to manage: Configuration files and software packages are easily updated and staged on Web-D servers. Software packages are sent to multiple Web-D servers using FTP or any other reliable file transfer program. This process works for one Web-D server or several hundred Web-D servers. Multi-platform support: The Web-D process can be configured to work on almost any platform that supports Java. This includes Microsoft Windows 98, Windows NT®, Windows 2000, and Linux, AIX®, and Sun Solaris, and applies to both the server infrastructure and client support. Packages can be built for each platform as needed and restricted from being installed on the wrong operating system. Simple packaging requirements: The Web-D software distribution process works with industry-standard packaging tools and utilities and is not dependent on any particular tool. Both autonomous software packages and redirected installation packages are supported. Tools such as InstallShield, Wise, WinZip Self-Extractor, SMS Packager, and other industry-standard tools can all be used with the Web-D process. Incompatible installation prevention check: The Web-D process only allows the installation of software packages that are designed for a given operating system. If a software package has been designed for installation on a Linux computer, an end user with a Windows 2000 computer will not be allowed to install the package. Each software package can be restricted to one or more operating system environments. Free space checking: Before a Web-D software package can be installed on an end-user computer, there must be enough free disk space. Only if there is enough free disk space will an end user be allowed to install the software. Locked down desktop support: Web-D provides the ability to install software in an environment where the end user does not have the necessary access rights to install software. Detailed logging: Detailed information about each package installed through the Web-D process provides the information needed by administrators in order to determine who received a software package. And in the event of a problem, the logs also indicate which workstations had an error during a software package installation. Security and access control: Managing access to software packages within the Web-D process is very simple. Individual users, groups, or the whole enterprise can be set up to see different software packages based on customer requirements. Software packages can be restricted on a per user basis, but in most cases, this is more restrictive than necessary. Typically, access to a given software package is based on the organization, job function, or both. Chapter 1. Web-D 3 Built from industry open standards: The components that make up the Web-D process and program code are built from industry open-standard components. These components include Java, Apache Tomcat Web Server, TCP/IP, and the Perl scripting language. Each of these separate components has proven itself within industry environments for reliability and performance. Familiar interface: The end-user interface behaves in a familiar way because it is Web browser based. The Web-D interface is viewable using any Web browser such as Netscape Navigator or Microsoft Internet Explorer. Most if not all customer environments have been using Web browsers for a while and are comfortable with the interface. Low cost and immediate ROI: All of the software components required for Web-D are either free or insignificant in cost. Most other software delivery solutions necessitate a significant investment in time and money in order to plan, design, devise naming conventions, and purchase hardware and proprietary software. Scalable: The Web-D software distribution solution can be a solution for very small to very large enterprise environments. For very large, high-demand enterprise environments, or where it is important to automatically balance the load on each Web-D server, IBM WebSphere® Edge Server Version 2.0 is recommended to provide load balancing. Self-updating agent: If an update is available for the Web-D agent, it will be automatically detected and installed. National Language Support (NLS): The Web-D applet/application provides NLS support for different language- and location-specific needs for users around the world. The Web-D applet automatically detects the locale of the end user and makes the necessary adjustments to the user interface. 1.3 Web-D prerequisites In general, all that is required to implement Web-D is: An HTTP Server The Java programming language The Perl scripting language A relational database system supporting SQL and JDBC Each of these prerequisites is available on a large number of platforms and from several different vendors. Web-D has been implemented on Windows, Linux, and AIX. Because it is based on open industry-standards, Web-D can also be implemented on platforms such as Solaris and HP-UX. This applies to both the 4 Using Web-D for Software Distribution server infrastructure and client support. This chapter focuses on the implementation of Web-D Version 2.0 on the Windows 2000 platform. 1.4 Web-D components Web-D is composed of the following components: IBM HTTP Web Server HTTP Server software based on the industry-standard Apache Web Server. Java 2 Runtime Environment (JRE) Industry-standard, platform-independent programming language. Web-D Java applet After the user is authenticated, this applet presents a catalog of software packages to the end user. After the user selects a package for installation, the package is downloaded to the client and automatically installed. Detailed logs are sent to the Web-D LogServer daemon during this process. It should be noted that Web-D can also run as a Java application without the aid of a Web browser. Web-D agent The Web-D agent handles the installation of software packages that require administrative rights to install. Relational database Web-D uses a relational database management system supporting SQL and JDBC to store the log information. Any database system, such as IBM DB2®, Microsoft SQL Server, or MySQL, can be used. For the example that follows, we use the MySQL database. Prerequisite install program: esdsetup.exe Esdsetup.exe is a software package that performs several steps. First, it installs the Java 2 Runtime Environment. Next, a Java program is executed to configure the JRE so that the Web-D applet has the appropriate access rights to install software on the client. And finally, the Web-D agent is installed and configured. Web-D LogServer daemon This is a Java-based program that runs on the same machine as the HTTP Web server. It accepts log messages from the clients during the install process and sends these messages to the database. Chapter 1. Web-D 5 Web-D LogView program This is a Java-based program that is used to access the logs from the database. An administrator can use this program to generate reports and queries concerning who installed what and on what date without having to know the SQL programming language. Admin console The admin console is a browser-based user interface used to manage the Web-D process. It provides the ability to manage different catalogs for different groups or business units. Software packages can be added, deleted, and modified using this interface. ESD-U push process Web-D 2.0 provides the ability to push software to clients by means of a utility called ESD-U. ESD-U uses a separate set of INI files to describe the software packages. The ESD-U process is being phased out, and in the next release of Web-D, Version 3.0, the administration of the push process will be completely Web-based. 1.5 Installation considerations There are many factors that must be taken into account when designing and deploying a Web-D infrastructure. These factors include the number of packages, average package size, number of distributions, hardware configurations, network topology, and network bandwidth. As with any software distribution solution, careful attention must be given to the network topology. The Web-D server or servers should be placed as close to the clients as possible. The servers should be connected to the fastest backbone available, preferably 100 Mbps Ethernet or 1 Gbps Ethernet. Figure 1-1 on page 7 shows the typical architecture for a small environment that can handle up to 1500 clients. 6 Using Web-D for Software Distribution Client system with Web-D agent Software package is scheduled and pushed to client Web server Web server with Java support Client system with Web browser Web-D database with JDBC support Software pull package is selected, and installed via a Web browser. Figure 1-1 Sample Web-D infrastructure for small environment If there are a large number of clients, multiple Web-D servers can be used and a load balancing solution put in place, as shown in Figure 1-2 on page 8. For large enterprise environments, either IBM WebSphere Edge Server Version 2, or WebSphere Application Server Version 5 Edge Components (which both include IBM Network Dispatcher) is recommended to provide load balancing among several Web servers. Chapter 1. Web-D 7 Web-D servers Client systems IBM Network Dispatcher for load balancing Web-D database with JDBC support Intranet All of the Web-D servers appear as one logical host name to the clients Figure 1-2 Sample Web-D infrastructure with load balancing The Web-D servers can be either reduced instruction set computer (RISC) or complex instruction set computer (CISC) machines. From a hardware sizing perspective, Web-D is just a standard Web server running Apache. For this reason, the SPECweb99 benchmark can be used to predict the maximum number of simultaneous HTTP connections a particular piece of hardware can accommodate. The SPECweb99 benchmark is used for evaluating the performance of World Wide Web servers and is used to measure a system's ability to act as a Web server. Benchmark results are available at: http://www.spec.org/osg/web99 It should be noted that these benchmarks are often performed with four or more gigabit network cards, with each network card on a separate subnet so that the network will not impact performance. Therefore, these benchmarks should be used with care, because the network is usually the limiting factor. If a Web-D server has only one network interface card (NIC), or has multiple NIC cards connected to the same subnet, a good assumption to use is: The maximum number of concurrent connections per Web-D server will not exceed 500. 8 Using Web-D for Software Distribution Sizing guidelines Here are some guidelines that can be used when determining the configurations of the hardware to be used for Web-D servers: Web-D hardware configuration recommendations for CISC-based machines: – – – – Dual Intel® Xeon processors 15,000 RPM ultra320 SCSI hard drives with RAID card 2 GB ECC memory Multiple NIC cards that match the customer's network Web-D hardware configuration recommendations for RISC-based machines – – – – Dual POWER3™-II, RS64 III/IV, or 64-bit POWER4+™ processors 15,000 RPM ultra320 SCSI hard drives with RAID card 2 GB ECC memory Multiple NIC cards that match the customer's network 1.6 Installing and configuring a Web-D Version 2.0 server In this section, we describe how to install and configure a Web-D server on a Windows 2000 Server platform. We start with the operating system already installed and connected to the network. For the example that follows, all of the Web-D software is installed under the C:\WebD directory. Another directory or driver letter can be used as long as the necessary changes are made to the path names. 1.6.1 Required software For this example Web-D Version 2.0 installation, the following software is used: 1. Microsoft Windows 2000 Server with Service Pack 4 2. IBM HTTP Server Version 2.0.42.1 3. Active State Perl Version 5.8.0 Build 806 4. MySQL Version 3.23.57 5. Java Runtime Environment Version 1.3.1_08 6. Web-D 2.0 files: – – – – – client.jar LogServer.jar LogView.jar sign.jar esdsetup.exe Chapter 1. Web-D 9 – – – – – – – – – – – swdlogin.pl userid.dat login.html index.html pkgs.ini accessdb.txt webd.sql checkfree.exe srvany.exe instsrv.exe webd.war For a description of the functions of these files, refer to 1.7.1, “Web-D configuration files” on page 38. 1.6.2 Installing Java Runtime Environment Version 1.3.1_08 The latest Windows version of JRE can be downloaded from: http://java.sun.com For this example, we use Java 2 Platform, Standard Edition (J2SE) Version 1.3.1_08. To install JRE, simply double-click the downloaded executable and accept the default options. The JRE install path should default to: C:\Program Files\JavaSoft\JRE\1.3.1_08 Running the command java -version at a command prompt should verify that Java was installed correctly and the version of Java that was installed. See Example 1-1. Example 1-1 Java version C:\>java -version java version “1.3.1_08” Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_08-b03) Java HotSpot(TM) Client VM (build 1.3.1_08-b03, mixed mode) 1.6.3 Installing IBM HTTP Server Version 2.0.42.1 The latest version of the IBM HTTP Server can be downloaded from: http://www.ibm.com/software/webservers/httpservers/ Note 1: The IBM HTTP Server install process requires that Java 1.3.1 be installed first. 10 Using Web-D for Software Distribution Note 2: If another Web server, such as IIS, is already installed and running, be sure to uninstall or disable the Web server before continuing. For this example, we use IBM HTTP Server Version 2.0.42.1. To install IBM HTTP Server: 1. After downloading the file HTTPSever.win.2042.zip from the above URL, extract all of the files from the ZIP file into a temporary directory. There is no setup.exe included with the IBM HTTP Server. To begin the installation, type in the following commands: cd IHS-2.0.42 java -jar setup.jar You should see the window shown in Figure 1-3. Figure 1-3 IBM HTTP Installer: Language selection window 2. Click OK. 3. Review and accept the license agreement and then click Next. 4. Type in the directory name, as shown in Figure 1-4 on page 12, where you want the HTTP Server software to be installed. For this example, we use C:\WebD\HTTPServer. Click Next. Chapter 1. Web-D 11 Figure 1-4 IBM HTTP Installer: Directory name window 5. The next window prompts you to choose an installation type of Typical, Custom, or Developer Installation. Typical is already selected, as shown in Figure 1-5 on page 13. Developer Installation is not supported by Web-D. Click Next. 12 Using Web-D for Software Distribution Figure 1-5 IBM HTTP Installer: Setup type window 6. The next window prompts for a user ID and password under which the service will log on and run. Type in LocalSystem for User ID, as shown in Figure 1-6 on page 14. Leave the password fields blank. Click Next. Note: The user ID LocalSystem is a special account that exists on every Windows 2000 Server. It has all of the necessary rights to run a program as a service and has the following advantages: It cannot be used to log on to the machine. There is no password associated with it. Chapter 1. Web-D 13 Figure 1-6 IBM HTTP Installer: Service context window 7. Click Next at the summary window, and the installer begins coping files. Click Finished to complete the installation. 8. To verify that the HTTP Server is operational, start the service and point a browser to the default URL. This can be done as follows: – From the Microsoft start menu, select Programs → IBM HTTP Server 2.0.42 → Start HTTP Server. – From a browser, go to http://localsystem. The Web page shown in Figure 1-7 on page 15 opens. Click the View Documentation link to display the HTTP Server documentation. 14 Using Web-D for Software Distribution Figure 1-7 IBM HTTP Server welcome window 1.6.4 Installing ActiveState ActivePerl Version 5.8.0 The latest version of ActiveState ActivePerl can be downloaded from: http://www.activestate.com/Products/ActivePerl After registering, you will be able to download ActivePerl 5.0.8 either as a package or as a MSI file. For this example, we use the MSI file. Download the file ActivePerl-5.8.0.806-MSWin32-x86.msi and double-click the file to begin the installation. You can accept all of the default install options. Chapter 1. Web-D 15 Important: Verify that the install location is C:\Perl, as shown in Figure 1-8. Figure 1-8 ActivePerl install window 1.6.5 Creating the Web-D directory structure There are a standard set of directories that must be created under the document root of the HTTP Web Server. In this example, we use C:\WebD\wwwroot as the HTTP Server root and C:\WebD\wwwroot\htdocs as the document root. To create the Web-D directory structure and install the default files provided with Web-D 2.0: 1. Create the following directories: – C:\WebD\wwwroot – C:\WebD\wwwroot\htdocs – C:\WebD\wwwroot\cgi-bin 2. Create the following directories under the Web server document root (C:\WebD\wwwroot\htdocs) – – – – – 16 applet details images iconimages packages Using Web-D for Software Distribution – – – – programs programs\win32 signatures updates 3. Copy the following Web-D 2.0 files into the appropriate directories: – – – – – – – – – – – Copy client.jar to C:\WebD\wwwroot\htdocs\applet. Copy pkgs.ini to C:\WebD\wwwroot\htdocs. Copy accessdb.txt to C:\WebD\wwwroot\htdocs. Copy checkfree.exe to C:\WebD\wwwroot\htdocs\programs\win32. copy sign.jar to C:\WebD\wwwroot. Copy swdlogin.pl to C:\WebD\wwwroot\cgi-bin. Copy userid.dat to C:\WebD\wwwroot\cgi-bin. Copy esdsetup.exe to C:\WebD\wwwroot\htdocs\packages. Copy index.html to C:\WebD\wwwroot\htdocs. Copy login.html to C:\WebD\wwwroot\htdocs. Copy all of the images fused by index.html and login.html to C:\WebD\wwwroot\htdocs\images. – Create a text file named webrx.txt with the integer 0 on the first line and copy to C:\WebD\wwwroot\htdocs\updates. For a description of the functions of these files, refer to 1.7.1, “Web-D configuration files” on page 38. 1.6.6 Configuring the HTTP Server The next step is to make some changes to the main HTTP configuration file. This file is called httpd.conf and resides in the directory C:\WebD\HTTPServer\conf. Any text editor can be used to modify this file. Using Notepad or WordPad, edit the httpd.conf file and make the following changes: 1. Change the DocumentRoot keyword. This is the default directory out of which the HTTP Server will serve documents. Change the line that this keyword is on to read as follows: DocumentRoot “C:/WebD/wwwroot/htdocs” 2. Next, find the line: <Directory “C:/WebD/HTTPServer/htdocs/en_US”> Change this line to: <Directory “C:/WebD/wwwroot/htdocs”> Chapter 1. Web-D 17 Next, change the options keyword for this directory to turn off directory listings. Change this line from: Options Indexes FollowSymlinks To: Options -Indexes FollowSymlinks 3. Next, change the ScriptAlias keyword that controls which directories contain server scripts. Change this line from: ScriptAlias /cgi-bin/ “c:/WebD/HTTPServer/cgi-bin/” To: ScriptAlias /cgi-bin/ “c:/WebD/wwwroot/cgi-bin/” You also have to change the <Directory> keyword for this directory. Change this line from: <Directory “c:/WebD/HTTPServer/cgi-bin”> To: <Directory “c:/WebD/wwwroot/cgi-bin”> 4. Change the ServerAdmin keyword. This is an e-mail address that appears on some server-generated pages, such as error documents. Enter the e-mail address of the person to whom problems with the server should be directed to. For example: ServerAdmin webmaster@companyxyz.com 5. To activate these changes, you must restart the HTTP Server. This can be done through the services GUI or by running the following two commands: a. net stop “IBM HTTP Server 2.0.42” b. net start “IBM HTTP Server 2.0.42” 1.6.7 Installing MySQL Version 3.23.57 The latest version of MySQL 3.x can be downloaded from: http://www.mysql.com Note: Be sure to review the license requirements of MySQL, which are available at the URL above. Even though MySQL is open source, you still might be required to purchase a commercial license. After downloading the file mysql-3.23.57-win.zip from the above URL, unzip the contents of the file to a temporary directory and execute setup.exe. Except for the destination folder all of the default install options should be chosen. For the 18 Using Web-D for Software Distribution destination folder, click Browse and type in C:\webd\mysql, as shown in Figure 1-9. Figure 1-9 MySQL destination folder After the installation of MySQL, you must run execute the admin utility for MySQL, which creates the admin user ID and starts the MySQL service. This is done as follows: 1. Navigate to C:\WebD\mysql\bin and execute the following command: winmysqladmin.exe 2. You are prompted for a user name and password, as shown in Figure 1-10 on page 20. Use root for the user name and webd for the password. Note: The window shown in Figure 1-10 is only shown the first time winmysqladmin.exe is run. After the information is entered, it is stored in the C:\WINNT\my.ini file. If this file exists, the window in Figure 1-10 is not shown. Chapter 1. Web-D 19 Figure 1-10 WinMySQLadmin Quick Setup Creating the Web-D database To create the Web-D database using MySQL: 1. Create a temporary directory, C:\temp, if it does not already exist. 2. Copy webd.sql into C:\temp. 3. From a command prompt, change the directory to C:\WebD\mysql\bin and type in the following command to enter the MySQL command console: mysql -u root 4. From the MySQL command console type in the following command: \. C:\temp\webd.sql The output of this command is shown in Figure 1-11 on page 21. 20 Using Web-D for Software Distribution Figure 1-11 MySQL command console 5. Type exit to return to the C: prompt. The Web-D database should now be created. 1.6.8 Installing and configuring the LogServer daemon The Web-D LogServer daemon is a Java program that accepts log messages from clients during the install process and sends these messages to the database. In addition to sending the logs to a database, the LogServer also writes the logs to a comma-delimited text file. A LogServer daemon must be present on each Web-D server, although there is typically only one database where the logs are stored. Chapter 1. Web-D 21 Important: The Web-D applet uses TCP/IP port 6790 to send the logs to the LogServer daemon. Therefore, if there is a firewall between the server and the clients, this port has to be opened. To install the LogServer: 1. Create the directory C:\WebD\LogServer. 2. Copy the following files into the C:\WebD\LogServer directory: – LogServer.jar – instsrv.exe – srvany.exe 3. Run the following command to create the LogServer service: instsrv.exe “WebD LogServer” C:\WebD\LogServer\srvany.exe 4. Next, some keys in the Windows registry must be created in order for the service to function. Run regedit.exe and navigate to the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebD Logserver Create a key named Parameters under the “WebD Logserver” key. Next, create two string values (type REG_SZ) under the Parameters key with the following contents: – Value Name: Application Value Data: “C:\Program Files\JavaSoft\JRE\1.3.1_08\bin\javaw.exe” – Value Name: AppParameters Value Data: -Xrs -cp “C:\WebD\LogServer\LogServer.jar webd.log.LogServerMysql file=C:\WebD\\LogServer\logs.txt host=127.0.0.1 The host parameter should point to the host name or IP address of the server that contains the Web-D database. If the database is on the same server, as is the case in this example, then 127.0.0.1 can be used. 5. You should now be able to start the Web-D LogServer service by running the command: net start “WebD LogServer” The LogServer now automatically starts each time the server reboots. Debug version of the Web-D LogServer The is another version of the Web-D LogServer that provides a graphical user interface that can be very helpful in determining which clients are currently using Web-D, as well as aid in troubleshooting any setup problems. It is important to 22 Using Web-D for Software Distribution note that only one LogServer can be running on a Web-D server at any given time. To start the debug LogServer, execute the following command: javaw -cp C:\WebD\LogServer\LogServer.jar webd.log.LogServerDebug file=C:\WebD\LogServer\logs.txt host=127.0.0.1 You should see the window shown in Figure 1-12. Figure 1-12 Web-D LogServer with user interface Notes: Only one LogServer can be running on a Web-D server at any given time. The non-graphical LogServer should be used for production because it runs as a server and automatically starts up when the server is rebooted. 1.6.9 Installing and using the LogView program In order to use the LogView program, a Java Runtime Environment must already be installed. If Java is not already installed, refer to 1.6.2, “Installing Java Runtime Environment Version 1.3.1_08” on page 10. Chapter 1. Web-D 23 To install the LogView program, simply create a directory named C:\LogView and copy the LogView.jar in the directory. Next, create a shortcut on the desktop with the following target: javaw.exe -cp C:\LogView\LogView.jar webd.log.LogView Important: The parameter webd.log.LogView is case sensitive. Double-clicking the shortcut opens the window shown in Figure 1-13. Figure 1-13 LogView initial window Important: When connecting to the Web-D log database, do not change anything in the Port, Database, User, or Password fields in the Connect to window. Note: The LogView program uses TCP/IP port 3306 to connect the MySQL database. Therefore, if there is a firewall between the database and the LogView program, TCP port 3306 needs to be opened. Replace the Hostname field with the IP address (or host name) of the database server and click OK to open the window shown in Figure 1-14 on page 25. 24 Using Web-D for Software Distribution Figure 1-14 LogView window with logs The initial LogView window displays four fields per log entry. There are actually many more fields per log entry. Click Fields and the window shown in Figure 1-15 on page 26 opens, where the user can select which fields will be displayed. Select a log entry and click Details to display all of the fields for a particular log entry. Chapter 1. Web-D 25 Figure 1-15 LogView field selection The LogView program initially displays all of the entries currently in the database. You can use the query function to narrow down the number of records displayed. For example, you might want to view logs for one particular date or one particular package only. Click Query in the window shown in Figure 1-14 on page 25 and the window shown in Figure 1-16 opens, where these types of operations can be done without having to know the SQL programming language. Figure 1-16 LogView query window 26 Using Web-D for Software Distribution Click the Export function to export the current query to a comma-delimited text file, which can then easily be imported into a spreadsheet. Each row in the log database represents one particular log entry with the log message being the last field. Below is a brief description of each of the log fields: ID The database record ID ip The IP address of the host name that generated the log entry User The user name with which the client used to log in to Windows pkg alias The package alias of the package involved webd user The Web-D user name that was used to access the catalog java vendor The Java vendor of the JRE used by the client java version The Java version of the JRE used by the client Hostname The host name of the client Date The date and time of the log entry pkg name The name of the software package involved os The operating system of the client os version The version number of the operating system version used by the client log server The IP address or host name of the log server daemon that collected the log message The actual log message 1.6.10 Customizing the Web-D Web site The HTML files provided with Web-D can and should be customized for each customer’s environment. Corporate logos, colors, and graphics can be can easily be included into these HTML files. This requires some skill in HTML programming, but the process can usually be completed is less than a day. 1.6.11 Installing the admin console The admin console is an optional component of Web-D Version 2.0 that allows for the management of all of the configuration files used by Web-D 2.0 to be managed using a Web browser. With the next release of Web-D, Version 3.0, the entire Web-D process will be managed using an enhanced version of this interface. Only authorized users can access the Web-D admin console. The Chapter 1. Web-D 27 admin console uses Apache Tomcat security to manage authorized users. An administrator who wants to access the admin console must obtain a user ID and password from the Web-D server administrator. Important: The admin console overwrites the Web-D configuration files and does not save any comments that might have been placed in these files. The Web-D 2.0 admin console is stored in a Web application archive file called webd.war. To install the admin console, follow these steps: 1. Download and install the Java 2 SDK 1.3.1_08 from Sun Microsystems using the default settings for the installation. Important: After the installation of the Java SDK, set the following system environment variables: JAVA_HOME=C:\jdk1.3.1_08 JDK_PATH=C:\jdk1.3.1_08 2. Download and install the latest stable version of Apache Tomcat Version 4.1.x. Apache Tomcat 4.1.x can be downloaded from: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release For this example, we use Apache Tomcat Version 4.1.24. After the license agreement, the window shown Figure 1-17 opens. Be sure to select the NT Service (NT/2k/XP only) check box, as shown in Figure 1-17. Figure 1-17 Apache Tomcat Setup: Installation Options 28 Using Web-D for Software Distribution For the installation directory, use C:\WebD\Tomcat 4.1 as shown in Figure 1-18. Figure 1-18 Apache Tomcat: Installation directory Click Next, and the installation begins copying files. 3. Next, the window shown in Figure 1-19 opens. The HTTP/1.1 Connector Port must be set to 8080, as shown in Figure 1-19. Define a password for the administrator user name and click Next to complete the install. The Tomcat environment can be modified from a Web interface by anyone who has this user ID and password. Figure 1-19 Apache Tomcat: Testing Installer Options Chapter 1. Web-D 29 4. Edit the C:\WebD\Tomcat 4.1\conf\tomcat-users.xml file to define the security role for the WebdAdmin servlet. Add one or more lines in the following format to define the user name and password pairs who will be able to access the Web-D admin console: <user username="webd" password="webd" roles="manager"/> Note: All Web-D admin users must include “manager” in the roles definition. 5. Extract the webd.war file under the C:\WebD\Tomcat 4.1\webapps directory. Use following commands to extract the webd.war file: – cd “C:\WebD\Tomcat 4.1\webapps” – C:\jdk1.3.1_08\bin\jar -xvf webd.war 6. Edit the C:\WebD\Tomcat 4.1\webapps\webd\WEB-INF\web.xml file and change the value for initpath of the webdAdmin servlet and the webdSync servlet, as shown in Example 1-2. The initpath parameter should point it to the HTTP Server root for both of these servlets. Example 1-2 Web.xml edits <servlet> <servlet-name>webdAdmin</servlet-name> <servlet-class>webd.admin.webdAdmin</servlet-class> <init-param> <param-name>initpath</param-name> <param-value>C:/WebD/wwwroot/</param-value> </init-param> </servlet> <servlet> <servlet-name>webdSync</servlet-name> <servlet-class>webd.admin.webdAdmin</servlet-class> <init-param> <param-name>initpath</param-name> <param-value>C:/WebD/wwwroot/</param-value> </init-param> </servlet> 7. To activate these changes, restart the Apache Tomcat Server. This can be done through the services GUI or by running the following two commands: 30 – net stop “Apache Tomcat 4.1“ – net start “Apache Tomcat 4.1” Using Web-D for Software Distribution 8. You should now be able to access the admin console by using the following URL: http://hostname:8080/webd/webdAdmin Important: The URL used to access the Web-D admin console is case sensitive. 1.6.12 Accessing the Web-D user interface The Web-D server should now be operational. Prior to using the Web-D software distribution process, each client needs to download and install the Web-D prerequisite program esdsetup.exe. There is a link to download and install this program on the initial Web-D HTML page. From a test client, download and run the esdsetup.exe program. Important: After running the esdsetup.exe program, you must completely exit all browser windows that are open and restart the browser. After restarting the browser, return to the Web-D server URL and click the login link. You should be presented with a window similar to the one shown in Figure 1-20. Figure 1-20 Web-D login window To open the Web-D catalog, enter a valid user ID and password, and click Sign in. The Wed-D catalog shown in Figure 1-21 on page 32 opens. Chapter 1. Web-D 31 Figure 1-21 Sample Web-D catalog Notes: The user name and password prompts are case sensitive. Refer to the cgi-bin\userid.dat file to view the list of valid Web-D user IDs and passwords. 32 Using Web-D for Software Distribution 1.6.13 Accessing the Web-D admin console If you installed and configured the admin console, you can access the Web-D admin console by pointing a browser to: http://hostname:8080/webd/webdAdmin Important: The URL used to access the Web-D admin console is case sensitive. After the window in Figure 1-22 opens, enter the user name and password to gain access to the Web-D control panel. The user name and password pairs that are authorized to access the admin console are defined in the tomcat-users.xml file. Figure 1-22 Admin console password prompt After the password prompt, the Web-D control panel opens, as shown in Figure 1-23 on page 34. For more information concerning the admin console, refer to 1.7.8, “Using the admin console” on page 45. Chapter 1. Web-D 33 Figure 1-23 Web-D Control Panel 1.6.14 Enabling FTP and Telnet In order to manage the Web-D process remotely, you need to enable FTP and Telnet access. Both of these tools are included with Microsoft Windows 2000 Server. FTP To install and enable FTP: 1. From Windows Control Panel, open the Add/Remove Programs window and click Add/Remove Windows Components. Select Internet Information Services (IIS) and click Details. The window shown in Figure 1-24 on page 35 opens. 34 Using Web-D for Software Distribution Figure 1-24 Internet Information Services add/remove programs Make sure the check box for File Transfer Protocol (FTP) Server is selected. Scroll down and make sure the World Wide Web Sever check box is not selected. Click OK. Important: Do not install the World Wide Web Server piece of IIS because this produces a port 80 conflict with the IBM HTTP Server. Although Web-D will work under the IIS Web server, the IBM HTTP Server, which is based on Apache is recommended. 2. Next, change the default home directory for FTP access. From the Start menu, bring up the Internet Information Services window shown in Figure 1-25 on page 36 by clicking Start → Programs → Administrative Tools → Internet Services Manager. Chapter 1. Web-D 35 Figure 1-25 Internet Information Services with FTP running 3. Select Default FTP Site and click the properties icon to bring up the window shown in Figure 1-26. Change the FTP Site directory to C:\. If a more restrictive FTP access policy is desired, then C:\WebD can be used as the FTP default site. Figure 1-26 Default FTP Site Properties 36 Using Web-D for Software Distribution Telnet Telnet typically is installed by default for the Windows 2000 Server platform. However, it still needs to be turned on and configured as follows: 1. The Telnet service should be set to start automatically when the server boots up. Select Start → Programs → Administrative Tools → Services. 2. Select the Telnet service and click the properties icon to open the window shown in Figure 1-27. Change the Startup type from Manual to Automatic, and click OK. Figure 1-27 Telnet service properties 3. You have to configure the Telnet service to not require NTLM authentication. From a command prompt, run tlntadmn.exe. Then, select the following: – Choose option 3, Display / change registry settings. – Choose option 7, NTLM. – Change the default setting from 2 to 0 to disable the NTLM requirement. Chapter 1. Web-D 37 1.7 Using Web-D Web-D 2.0 uses configuration files to provide system management. These files describe the software packages allowed for a given user ID and also the details of a software package. These files can be edited with any text editor, such as Notepad, as long as the files are saved as plain text. 1.7.1 Web-D configuration files The following is a brief description of the Web-D 2.0 configuration files. PKGS.INI This file describes each software package in detail so that the Web-D applet knows how to process a request for the package. The Web-D applet reads this file on startup and dynamically builds the catalog to display to the user. Each package is defined on one line by a set of fields separated by spaces. The fields include items such as package name, package type, target operating system, and disk space required. A sample pkgs.ini file defining three type 1 packages is shown in Example 1-3. Because of space limitations, only the first nine fields are shown. This file must reside in the document root directory of the HTTP Server. For a description of each of the fields used with the pkgs.ini file, refer to 1.7.4, “PKGS.INI field descriptions” on page 42. Example 1-3 Sample pkgs.ini file # PKGS.INI # # Type Alias URL Parameters Package name # ---- ---------------- -----------1 adobe packages/ar301.exe “/s“ “Acrobat Reader 3.01“ 1 lotus packages/lotus.exe “/s“ “Lotus Notes 6.01“ 1 nav AntiVirus“ packages/nav.exe C:\\Webd\\s1 PKG ACCESSDB.TXT 38 Stamp File ---------C:\\Webd\\ar1 C:\\Webd\\ln1 “/s“ “Norton details/Adobe.txt Smode ----PKG PKG Details file -----------details/Adobe.txt details/Lotus.txt TempFree -------15 200 45 This file lists all the Web-D authorized IDs and the software packages that each ID is allowed to see. This is how software is restricted to certain Web-D user IDs. An end user will not see a software package in the catalog until it has been granted access using this file. A sample accessdb.txt file is shown in Example 1-4 on page 39. This file must reside in the document root directory of the HTTP Server. Using Web-D for Software Distribution Example 1-4 Sample accessdb.txt file # ACCESSDB.TXT # # UserID Package Alias's # -------------------johndoe adobe nav admin adobe lotus nav SWDLOGIN.PL This is a Perl script that authenticates the user and then launches the Web-D applet. This file is located in the cgi-bin folder of the Web server's root directory. USERID.DAT This file is used to define the user IDs and passwords for accessing the Web-D catalog. It is used by swdlogin.pl and is also located in the cgi-bin folder of the Web server's root directory. The format used is: userid|password LOGIN.HTML This file is a generic login page for Web-D. This file can be renamed and linked from a main page or simply left the way it is and accessed as the main page for your Web-D server. However, the HTML code might need to be edited once, depending of the type of Web server used. If your Web server’s alias for its cgi-bin or scripts directory is set to “cgi-bin” no changes are necessary. Otherwise, the file needs to be updated with the correct alias. WEBDRX.TXT This file is used to indicate that an update is available for the Web-D agent. This file resides in the updates directory of the document root and should initially contain the value 0. If an update is available for Web-D, simply increment the integer in this file by one and place the new webdrx.jar file into the updates directory. Web-D executables Below is a brief description of each of the Web-D 2.0 executables: CLIENT.JAR This JAR file contains all of the class files and resources required to run the Web-D applet. It is launched from the swdlogon.pl script through the Java Plug-in. Chapter 1. Web-D 39 CHECKFREE.EXE This program is used by Web-D to check for the required amount of free disk space prior to installing a package. It is a separate program because it must be written C++ or another language that is not platform independent. This program is used to by Web-D for all of the Windows platforms. If you are building packages for other platforms, such as Linux or AIX, you need the platform-specific version of this program. The Web-D applet expects this program to reside in the programs/win32 directory of the document root. LOGSERVER.JAR This JAR file contains all of the necessary class files required to run the LogServer daemon. LOGVIEW.JAR This JAR file contains all of the necessary class files required to run the LogView program. SIGN.JAR This JAR file contains the Java program that is used to generate the digital signatures required for type 4 or type 24 packages. This program parses the pkgs.ini file and generates the required signatures. To generate a signature for a newly added type 4 or type 24 package, run the following command: java -cp sign.jar webd.rx.updatesigs .\pkgs.ini The newly created signature should be present in the signatures directory. To remake all of the digital signatures, invoke this program using the following syntax: java -cp sign.jar webd.rx.updatesigs .\pkgs.ini all The parameter pkgs.ini must be preceded by the appropriate relative or absolute path name. WEBD.SQL This is the SQL script used to create the Web-D database. ESDSETUP.EXE Esdsetup.exe is a program that must be run on each client once prior to using Web-D. It is present on the Web-D Web site for users to download and run. It can also be included in a image or rollout to all of the clients. Esdsetup.exe performs the following functions: 1. Installs the appropriate Java 2 Runtime Environment if it is not already installed. 2. Configures the security policy file for the JRE so that the Web-D applet has the appropriate access rights to install software using a browser. 3. Installs and configures the Web-D agent. 40 Using Web-D for Software Distribution WEBD.WAR This Web application archive contains all of the necessary files for the Web-D 2.0 admin console. 1.7.2 Web-D standard directory structure The following is the standard directory structure used by Web-D 2.0. These directories reside under the document root directory of the HTTP Server. packages This directory should contain all of the type 1 and type 4 packages. programs This directory contains the platform-specific programs that are used by Web-D. Currently, the only component stored here is the program that is responsible for checking the amount of free disk space. details This directory contains all of the details files for each package. applet This directory holds the Web-D applet. signatures This is the directory where all of the digital signatures are stored for type 4 and type 24 packages. images The images directory contains all of the images used by the HTML files. iconimages The iconimages directory contains the icon GIFs for each package. updates This directory is used by the self-updating agent. If an update is available for the agent, it should be placed in this directory. 1.7.3 Package type descriptions Web-D 2.0 currently supports four different types of pull packages. The following is a description of each of these package types: TYPE 1 Type 1 packages are a single executable file that is sent to the end user’s computer through HTTP port 80 and then installed. Type 1 packages can be used in environments where the desktop is not locked down. Type 1 packages do not require the Web-D agent to be running, nor do they require a digital signature to be computed. Chapter 1. Web-D 41 TYPE 20 Type 20 packages are stored on a logical drive to which the clients have access. For type 20 packages, the download step is skipped, and the package does not need to be packaged into a single file. This type of package is very useful in environments such as Novell where each user will have a mapped drive letter when they log in. Like type 1 packages, type 20 packages do not need administrator privileges to install. TYPE 4 Type 4 packages are a single executable file that is stored on Web-D server just like type 1 packages. However, type 4 packages function in a locked-down desktop environment. These packages are invoked through the Web-D agent, and thus will inherit the necessary rights to install the package. For security reasons, these packages require a digital signature to be generated, and this digital signature is verified by the agent before the installation begins. TYPE 24 Type 24 packages are similar to type 20 packages in that they are stored on a logical drive. However, type 24 packages function in a locked-down desktop environment. Like type 4 packages, type 24 packages are invoked through the Web-D agent and require a digital signature. 1.7.4 PKGS.INI field descriptions The pkgs.ini file is a simple text file that describes each of the packages in the Web-D catalog. A package is define on one line by a set of fields separated by spaces. If a particular field contains spaces, the field must be enclosed in quotation marks. A comment line is allowed by placing the # character in column one. The following is a description of each of the fields used within the pkgs.ini file: 42 Type This is the package type. It must be one of the following values: 1, 20, 4, 24. Alias This is the package alias. The package alias must be unique as it is used to identify the package in the accessdb.txt file. URL This is the relative URL of the package executable. This field applies to package types 1 and 4. Parameters This field specifies the parameters that are should be passed to the package executable URL. Name This is the package name that is displayed in the Web-D catalog. Using Web-D for Software Distribution Stamp file This field specifies the path name of the stamp file. The existence of the stamp file indicates that the package installed successfully on the client. The stamp file is used as a means of getting a return code from the package. The package must create the stamp file after the package has been successfully installed. The package is responsible for writing the stamp file, because there is no agreed upon standard among software vendors that indicates a particular install was successful. Often, an install program will return with a return code of zero for a successful install, but this is not always the case. Therefore, each individual package must determine if the software installed successfully, and if so, create the stamp file. Stamp file mode This field indicates stamp file mode. The stamp file mode can be either PKG or AUTO. The PKG mode operates as described in the definition of the stamp file field. The other stamp file mode, AUTO, is provided for development and testing of packages. In AUTO mode, the Web-D applet automatically creates the stamp file after the install program completes. Details file This field specifies the readme file that gets displayed when the users clicks the Details button. All warnings and relevant information about the software package should be placed in this file. Temp free This is the amount of temporary disk space required to install the package. This is usually the temporary space required to unzip a package prior to installation. The drive that is checked is the same drive that the Java Runtime Environment uses for temp. Target free This is the amount of disk space required to install the package. Target directory This field specifies the drive letter on which the package will be installed. For UNIX® systems, this can be a path name to a directory. This directory will be checked for the required amount of free disk space prior to the installation of the package. Chapter 1. Web-D 43 Prereq program This is the path name of the prerequisite program that is executed prior to installing the package. If this program returns with a return code of zero, Web-D assumes that all of the prerequisites for this package have been met. A non-zero return code indicates to Web-D that the prerequisites have not been met. If there are no prerequisites, specify NULL for this field. Icon URL This is the path name for an icon of the package that is displayed on the Web-D catalog. The icon must be in GIF format. NULL can be specified if there is no icon. Target platforms This field indicates that a package is to be installed only on certain operating systems. One or more operating systems can be specified, and the entire set of operating system keywords must be enclosed in quotation marks. The acceptable keywords for this field are: Win95, Win98, WinXP, Win2000, Linux, AIX, Solaris, and HP-UX. Command This is the path name of the command to use to install the package for type 20 and type 24 packages. 1.7.5 Adding a package to the catalog A package can be added to the Web-D catalog by simply copying the package to the server and editing the pkgs.ini and accessdb.txt files. To add a package of type 1 to the Web-D catalog, follow these steps: 1. Copy the package executable to the packages directory. 2. Create the details file using a text editor and place it in the details directory. 3. Copy the package icon GIF to the IconImages directory. Note, this step is optional. 4. Add a line to the pkgs.ini file and fill in the necessary fields. 5. Edit the accessdb.txt file to give access to the appropriate Web-D IDs. To add a package of type 4 or 24, the additional step of creating the digital certificate must be performed. This is accomplished by executing the following command: java -cp sign.jar webd.rx.updatesigs .\pkgs.ini Important: The parameter pkgs.ini must be preceded by the appropriate relative or absolute path name. 44 Using Web-D for Software Distribution Note: Steps 4 and 5 above can be accomplished using the Web-D admin console or by using a text editor. 1.7.6 Removing a package from the catalog To remove a package from the Web-D catalog, simply delete or comment out the line that defines the package from the pkgs.ini file. Next, remove all references to the package alias from the accessdb.txt file. 1.7.7 Deleting all of the entries in the MySQL database To delete all of the Web-D logs from the MySQL database, enter the following commands: 1. C:\WebD\mysql\bin\mysql.exe -u root 2. mysql> use webd 3. mysql> delete from event; 4. mysql> exit Important: Unless they are backed up, the Web-D logs will be lost forever if these steps are performed. 1.7.8 Using the admin console As an alternative to editing the configuration files of Web-D to manage the Web-D process, you can use a browser and the admin console. To access the the admin console, point a browser to http://hostname:8080/webd/webdAdmin and log in. After entering a valid user name and password, the Web-D control panel shown in Figure 1-28 on page 46 opens. Chapter 1. Web-D 45 Figure 1-28 Control Panel There are three management functions that the Web-D 2.0 control panel provides: User Management: From this view, you can add a new user, modify a user’s password, delete a specified user, and set packages that the user will have access to. Package Management: From this view, you can add a new package definition, update a package, and delete a package. Server Management: This view is useful when there are multiple Web-D servers. From this view, you can add a server, delete a selected server, and synchronize the configuration files of multiple servers. 46 Using Web-D for Software Distribution Click the Package Management link from the Web-D Control Panel to open the window shown in Figure 1-29. From here, you can add a new package to the catalog, remove a package, and update an existing package. Figure 1-29 Package Management Chapter 1. Web-D 47 Figure 1-30 shows the package definition window used to update a package definition. To update the package, simply type in the changes to the required field and click Submit. Figure 1-30 Package Management: Update Package 48 Using Web-D for Software Distribution Click the User Management link form the Web-D Control Panel shown in Figure 1-28 on page 46 to open the window shown in Figure 1-31. From here, you can add a new user ID, remove an existing ID, and set the packages that a particular user will have access to. Figure 1-31 User Management: User Accounts Chapter 1. Web-D 49 To set the packages that a particular user ID will see in the Web-D catalog, select the user ID and click Access. This opens a window similar to the one shown in Figure 1-32. The selected user will have access to each package that has a check mark in the check box next to the package name. Figure 1-32 Package Management: Package Access Figure 1-33 shows the window used to create a new Web-D user ID. Figure 1-33 User Management: Add user Click the Server Management link from the Web-D Control Panel to open the window shown in Figure 1-34 on page 51. 50 Using Web-D for Software Distribution Figure 1-34 Server Management This interface can be used to synchronize the configuration files for a group of Web-D servers. To make all of the Web-D configuration files from a group of servers match the server to which you are currently logged in, highlight one or more servers and click Sync Svrs. Note 1: Clicking Sync Svrs synchronizes the configuration files only. The actual package executables need to be present on the other servers already, or they need to be copied using FTP or another file transfer method. Note 2: Each of the Web-D servers to be synchronized must be running Apache and have the same directory structure as the current Web-D server. Chapter 1. Web-D 51 Figure 1-35 shows the window used to add a new Web-D server to the list of servers that can be synchronized. To add a new server, create a unique alias and type in the server address or host name and click Submit. Figure 1-35 Server Management: Add server Important: In the Server Address field, be sure to include the port number, for example: webd.companyname.com:8080 1.8 Troubleshooting In this section, we discuss several methods for troubleshooting Web-D 2.0. 1.8.1 The Java Console A good place to look for error messages for any problems with the Web-D process is the Java Console. To change the settings of the Java Plug-in to show the Java Console, click Start → Settings → Control Panel → Java Plug-in 1.3.1_07. Then, select the Show Java Console check box, as shown in Figure 1-36 on page 53. 52 Using Web-D for Software Distribution Figure 1-36 Java Plug-in Control Panel After the Web-D catalog begins to load, the Java Console opens. Chapter 1. Web-D 53 Figure 1-37 shows the Java Console with two error messages that typically indicate that the Web-D LogServer daemon is not running. Figure 1-37 Java Console 1.8.2 Web-D logs In addition to showing information about software distributions, the Web-D logs show error messages for any problems that are encountered. Therefore, it is very important to check the Web-D logs using the LogView program when a problem is encountered. If there are any problems with the Web-D agent, you can examine a file named webdrx.err that is present in the C:\program files\webesd\ directory. 1.8.3 Apache logs and manual The IBM HTTP Server provides comprehensive and flexible logging capabilities that can be very useful in troubleshooting any problems with the Web site. These logs are located in the C:\WebD\HTTPServer\logs directory. In addition the Apache manual can be viewed by pointing a browser to the following URL: http://127.0.0.1/manual 54 Using Web-D for Software Distribution 1.8.4 Java security A problem that often arises occurs when end users try to access the Web-D catalog without first running the esdsetup.exe prerequisite. When this happens, window shown in Figure 1-38 opens. Figure 1-38 Java Plug-in Security Warning Important: If you select Grant this session or Grant always, you will be able to install type 1 and type 20 packages, but type 4 and type 24 packages will not function because the Web-D agent has never been installed. The esdsetup.exe prerequisite program appends the statement shown in Example 1-5 to the file: C:\Program Files \Javasoft\JRE\1.3.1_08\lib\security\java.policy Example 1-5 java.policy addition grant codeBase "http://webdhostname.companyxyz.com/-" { permission java.security.AllPermission; }; There should be one of these statements for each Web-D server. These statements grant the necessary access rights required for the Web-D applet to install software and prevent the window shown in Figure 1-38 from appearing. Chapter 1. Web-D 55 Another error that sometimes occurs is shown in Figure 1-39. This can arise if the user re-installs the Java Runtime Environment. It is a result of the statements shown in Example 1-5 on page 55 not being present in the correct java.policy file. This can be corrected by running the esdsetup.exe program again. Esdsetup.exe will detect that Java is already installed and make the necessary changes to the java.policy file. Figure 1-39 Security exception message 1.8.5 Perl not configured If Perl is not installed, or is installed in a location other than C:\Perl, the error message shown in Figure 1-40 opens after the user clicks Sign in from the login page. Figure 1-40 Error message when Perl is not installed or not configured On the first line of each Perl script is a comment line that indicates to the HTTP Server where Perl is installed. Therefore, if Perl is installed in a location other than C:\Perl, this line needs to be edited. Example 1-6 on page 57 shows what 56 Using Web-D for Software Distribution the first line of the Perl script swdlogin.pl should look like if Perl is installed to the C:\Perl directory. Example 1-6 First line of swdlogin.pl script #!C:\Perl\bin\perl.exe 1.8.6 Java applet compatibility within Internet Explorer If there are any compatibility problems with the Java Runtime Environment installed with Web-D and existing customer Java applications or applets, or both, these can be resolved by a setting within Microsoft Internet Explorer. This setting should have been set correctly with the esdsetup program, but might have been changed by the user or the installation of additional Java Runtime Environments. To verify this Internet Explorer setting, follow these steps: 1. From the Internet Explorer menu bar, click Tools → Internet Options. 2. Click the Advanced tab. 3. Verify that the “Use Java 2 v1.3.1_08 for <applet> (requires restart)” check box is not checked, as shown in Figure 1-41. Figure 1-41 Internet Explorer Advanced Internet Options Chapter 1. Web-D 57 4. Restart Internet Explorer. Note: The Web-D applet has special HTML code to invoke the Java Plug-in even when the setting shown in Figure 1-41 is not set. 58 Using Web-D for Software Distribution Abbreviations and acronyms AD Asset Depot GSK Global Security Toolkit AES Advanced Encryption Standard GUI graphical user interface HDD hard disk drive ANSI American National Standards Institute HPA Hidden Protected Area API application programming interface HTML Hypertext Markup Language IBM International Business Machines Corporation IDE Integrated Drive Electronics IP Internet Protocol ISO International Standards Organization ATAPI Advanced Technology Attachment Packet Interface BEER Boot Engineering Extension Record BIOS Basic Input/Output System CA Certificate Authority ITSO CAPI cryptographic application programming interface International Technical Support Organization IUB ImageUltra™ Builder CHS cylinders, heads, sectors JDBC Java Database Connection CISC complex instruction set computer JDK Java Development Kit JRE Java Runtime Environment CSS Client Security Software LBA Logical Block Addressing DLL dynamic link library LDAP DLT digital linear tape Lightweight Directory Access Protocol ECC error checking and correcting LPC low pin count electrically erasable programmable read-only memory LTO linear tape open MBR Master Boot Record MDAC Microsoft Data Access Components EEPROM EFS Encrypted File System ESD electronic software distribution MSCAPI Microsoft Crypto API MSI Microsoft Software Installation ESS Embedded Security Subsystem NIC Network Interface Card FFE File and Folder Encryption NLS National Language Support NTFS New Technology File System OEM Original Equipment Manufacturer PARTIES Protected Area Runtime Interface Extension Services GIF GINA CompuServe Graphics Interchange Format Graphical Identification and Authentication © Copyright IBM Corp. 2003. All rights reserved. 59 PKCS Public Key Cryptographic Standard PKI Public Key Infrastructure PTA Personal Trust Agent RAID Redundant Array of Inexpensive Disks RDM Remote Deployment Manager RISC reduced instruction set computer ROI return on investment RRU Rapid Restore™ Ultra RSA Rivest, Shamir, and Adleman SCSI Small Computer Systems Interface SDA Software Delivery Assistant SDD Secure Data Disposal SDK Software Developer’s Kit SMA System Migration Assistant SMBIOS Systems Management Basic Input Output System SQL Structured Query Language TCG Trusted Computing Group TCO total cost of ownership TCPA Trusted Computing Platform Alliance TFTP Trivial File Transfer Protocol UDB Universal Database USB Universal Serial Bus UVM User Verification Manager VPN Virtual Private Network WMI Windows Management Instrumentation XML Extensible Markup Language 60 Using Web-D for Software Distribution Related publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this Redpaper. IBM Redbooks For information on ordering these publications, see “How to get IBM Redbooks” on page 62. Note that some of the documents referenced here may be available in softcopy only. DB2 UDB Evaluation Guide for Linux and Windows, SG24-6934 Implementing Asset ID, SG24-6165 Implementing Systems Management Solutions using IBM Director, SG24-6188 Using Asset Depot for Inventory Management, REDP-3763 Using the System Installation Tool Kit to Streamline Client Rollout, SG24-6178 Using ThinkVantage Technologies: Volume 1 Creating and Deploying Client Systems, SG24-7045 Using ThinkVantage Technologies: Volume 2 Maintaining and Recovering Client Systems, SG24-6060 Other publications This publication is also relevant as further information source: IBM DB2 Application Development Guide: Building and Running Applications Version 8, SC09-4825 © Copyright IBM Corp. 2003. All rights reserved. 61 Online resources These Web sites and URLs are also relevant as further information sources: Introduction to IBM ThinkVantage Technologies: Security (TXW14) course in IBM PC Institute. This is a Web-based course that covers the security features of IBM ThinkVantage Technologies that are used in NetVista™ and ThinkCentre™ desktops and ThinkPad® notebooks. To view the course description and take the course, go to: http://www.pc.ibm.com/training/txw14.html Introduction to IBM ThinkVantage Technologies: Wireless (TXW15) course in IBM PC Institute. This is a Web-based course that covers the wireless features of IBM ThinkVantage Technologies that are used in NetVista and ThinkCentre desktops and ThinkPad notebooks. It also covers industry standard wireless terminology. To view the course description and take the course, go to: http://www.pc.ibm.com/training/txw15.html How to get IBM Redbooks You can search for, view, or download Redbooks, Redpapers, Hints and Tips, draft publications and Additional materials, as well as order hardcopy Redbooks or CD-ROMs, at this Web site: ibm.com/redbooks Help from IBM IBM Support and downloads ibm.com/support IBM Global Services ibm.com/services 62 Using Web-D for Software Distribution Index A Apache Tomcat Web-D 2, 4, 28, 30 E ESD-U 6 J Java security 55 L load balancing 7 M MySQL Web-D 5, 9, 18–20, 45 P package types 41–42 TYPE 1 41 TYPE 20 42 TYPE 24 42 TYPE 4 42 R Redbooks Web site 62 Contact us ix W Web-D 1–58 ACCESSDB.TXT 38, 42, 44–45 description 38 adding a package 44 admin console 6, 27–28, 30–31, 33, 41, 45–52 accessing 33 description 6 installing 27–28, 30–31 using 45–52 agent 4–5, 39–42, 54–55 defined 5 © Copyright IBM Corp. 2003. All rights reserved. components 5 configuration files 38–41 directory structure 41 enabling FTP access 34–36 enabling Telnet access 37 ESDSETUP.EXE 31, 40, 55–56 description 5, 40 ESD-U 6 features 2 installing and configuring 9–37 ActiveState ActivePerl 15 admin console 27 directory structure 16 IBM HTTP Server 10, 17 Java Runtime Environment 10 LogServer daemon 21 LogView program 23 MySQL 18 Web-D database 20 Java security 55 load balancing 7 LOGIN.HTML 39 description 39 LogServer daemon 5, 21–23 debug version 22–23 description 5 installing 21–22 LOGSERVER.JAR 22, 40 description 40 LogView 6, 23–26, 54 description 6 installing 23–24 LOGVIEW.JAR 24, 40 description 40 package types 41–42 TYPE 1 41 TYPE 20 42 TYPE 24 42 TYPE 4 42 PKGS.INI 38, 40, 42, 44–45 description 38 fields 42 removing a package 45 removing a package 45 63 requirements 4, 9 sizing guidelines 9 SWDLOGIN.PL 39, 57 description 39 troubleshooting 52 user interface 31 USERID.DAT 39 description 39 WEBDRX.TXT 39 description 39 64 Using Web-D for Software Distribution Back cover ® Using Web-D for Software Distribution Redpaper Web-based software distribution Easy integration into current network Low cost and complexity Many of the software delivery products in the marketplace are not Web based or “Web enabled,” or they provide minimal functionality with a high degree of cost and complexity. Web-based software delivery solutions do exist, but generally do not incorporate all the necessary requirements, or they are too expensive to implement just for distributing software. The Web-D process provides for the electronic delivery of software components to the desktop of machines distributed throughout a corporate enterprise using Web-based tools and technology, while keeping cost and complexity low. Web-D is a Java-based, Web-enabled software distribution solution that complements and leverages the customer’s investment in PC technologies. Wed-D is simple to manage and easily integrates into an existing customer network infrastructure. It is customizable and is very cost effective, both at the time of implementation and over the long term. INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment. For more information: ibm.com/redbooks