IPlanet Web Server 6.0 Administrator's Guide
IPlanet Web Server 6.0 Administrator's Guide
IPlanet Web Server 6.0 Administrator's Guide
Version 6.0
816-1379-01
May 2001
Copyright 2001 Sun Microsystems, Inc. Some preexisting portions Copyright 2001 Netscape
Communications Corporation. All rights reserved.
Sun, Sun Microsystems, and the Sun logo, iPlanet, and the iPlanet logo are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other countries. Netscape and the
Netscape N logo are registered trademarks of Netscape Communications Corporation in the U.S.
and other countries. Other Netscape logos, product names, and service names are also trademarks
of Netscape Communications Corporation, which may be registered in other countries.
This product includes software developed by Apache Software Foundation
(http://www.apache.org/). Copyright (c) 1999 The Apache Software Foundation. All rights
reserved.
This product includes software developed by the University of California, Berkeley and its
contributors. Copyright (c) 1990, 1993, 1994 The Regents of the University of California. All rights
reserved.
Federal Acquisitions: Commercial SoftwareGovernment Users Subject to Standard License Terms
and Conditions
The product described in this document is distributed under licenses restricting its use, copying,
distribution, and decompilation. No part of the product or this document may be reproduced in any
form by any means without prior written authorization of the Sun-Netscape Alliance and its
licensors, if any.
THIS DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED
CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH
DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
________________________________________________________________________________________
Copyright 2001 Sun Microsystems, Inc. Pour certaines parties prexistantes, Copyright 2001
Netscape Communication Corp. Tous droits rservs.
Sun, Sun Microsystems, et the Sun logo, iPlanet, and the iPlanet logo sont des marques de fabrique
ou des marques dposes de Sun Microsystems, Inc. aux Etats-Unis et dautre pays. Netscape et the
Netscape N logo sont des marques dposes de Netscape Communications Corporation aux
Etats-Unis et dautre pays. Les autres logos, les noms de produit, et les noms de service de Netscape
sont des marques dposes de Netscape Communications Corporation dans certains autres pays.
Le produit dcrit dans ce document est distribu selon des conditions de licence qui en restreignent
l'utilisation, la copie, la distribution et la dcompilation. Aucune partie de ce produit ni de ce
document ne peut tre reproduite sous quelque forme ou par quelque moyen que ce soit sans
lautorisation crite pralable de lAlliance Sun-Netscape et, le cas chant, de ses bailleurs de
licence.
CETTE DOCUMENTATION EST FOURNIE EN L'TAT, ET TOUTES CONDITIONS EXPRESSES
OU IMPLICITES, TOUTES REPRSENTATIONS ET TOUTES GARANTIES, Y COMPRIS TOUTE
Contents
Part
1 Server Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapter 1 Introduction to iPlanet Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
iPlanet Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
iPlanet Web Server Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Administering and Managing iPlanet Web Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9
iPlanet Web Server Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Content Engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Server Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Runtime Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Application Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
iPlanet Web Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
iPlanet Web Server Component Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
iPlanet Web Server Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Dynamic Reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Single-Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Part
All Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unix and Linux Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiple-Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Administration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Resource Picker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wildcards Used in the Resource Picker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
37
38
38
38
39
40
40
41
41
43
43
43
44
44
45
45
46
46
49
49
50
50
51
53
54
55
55
55
55
56
56
57
58
117
118
118
120
122
123
125
126
127
127
127
128
128
129
129
130
130
130
130
130
131
132
132
Part
148
148
148
149
149
150
151
151
152
152
153
154
154
154
155
155
155
155
157
158
158
159
159
160
161
164
164
165
165
166
168
169
172
177
177
177
179
180
181
182
182
183
213
214
214
215
215
216
217
218
219
221
222
226
228
228
229
229
230
230
231
232
232
232
233
234
234
235
235
236
236
236
236
237
241
241
242
243
243
245
246
246
11
Part
12
291
291
292
293
293
293
294
294
295
295
296
296
296
297
297
298
299
299
299
300
300
301
301
301
302
302
302
303
303
303
304
305
305
306
306
306
306
309
310
310
310
312
313
316
13
14
339
339
339
340
341
342
342
343
343
344
347
348
349
350
351
351
352
352
352
353
353
353
354
354
355
355
356
356
358
359
359
360
361
361
363
363
365
365
366
367
Part
5 Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Appendix A Command Line Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Formatting LDIF Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Modifying Database Entries Using ldapmodify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
HttpServerAdmin (Virtual Server Administration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
HttpServerAdmin Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
control Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
create Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Create Virtual Server Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Create Connection Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Create Listen Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Create Virtual Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
delete Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Delete Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Delete Connection Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Delete Listen Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Delete Virtual Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
list Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Appendix B HyperText Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
About HyperText Transfer Protocol (HTTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Request Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Request Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Request Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Status Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Response Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Response Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Appendix C ACL File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
ACL File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
15
16
Authentication Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Authorization Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hierarchy of Authorization Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attribute Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operators For Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Default ACL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Syntax Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Referencing ACL Files in obj.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
392
393
394
395
396
397
397
398
399
399
399
400
400
400
400
401
402
402
403
403
403
404
404
405
405
405
406
406
407
409
409
410
411
411
412
413
413
414
414
414
418
17
18
This guide describes how to configure and administer iPlanet Web Server, Enterprise
Edition 6.0. It is intended for information technology administrators in the corporate
enterprise who want to extend client-server applications to a broader audience through the
World Wide Web.
This preface includes the following sections:
Further Reading
Once you are familiar with the fundamentals of using the Administration Server, you can
refer to Part III, Configuring, Monitoring, and Performance Tuning, which includes
examples of how to configure and monitor your iPlanet Web Servers. Part IV, Managing
Virtual Servers and Services provides information for using programs and configuration
styles.
Finally, Part V, Appendixes addresses specific reference topics that describe the various
topics, including: HyperText Transfer Protocol (HTTP), server configuration files, ACL
files, internationalization issues, server extensions, and the iPlanet Web Server user
interface reference, which you may want to review. Note that the user interface appendix is
available in the online version only.
Chapter 2, Administering iPlanet Web Servers describes how to manage your iPlanet
Web Servers with the Administration Server.
20
Chapter 4, Managing Users and Groups describes how to how to use the
Administration Server Users and Groups forms to configure your iPlanet Web Servers.
Chapter 5, Securing Your Web Server describes how to configure your iPlanet Web
Server security. Note that before reading this chapter you should be familiar with the
basic concepts of public-key cryptography and the SSL protocol. These concepts
include encryption and decryption; keys; digital certificates and signatures; and SSL
encryption, ciphers, and the major steps of the SSL handshake.
Chapter 6, Managing Server Clusters describes the concept of clustering servers and
explains how you can use them to share configurations among servers.
Chapter 8, Controlling Access to Your Server describes how to specify who can
access parts of your server.
Chapter 9, Using Log Files describes how to monitor your iPlanet Web Server using
the Hypertext Transfer Protocol (HTTP), by recording and viewing log files, or by
using the performance monitoring tools provided with your operating system.
Chapter 10, Monitoring Servers describes how to monitor your iPlanet Web Server
using SNMP (Simple Network Management Protocol).
Chapter 11, Tuning Your Server for Performance refers you to the online document,
Performance Tuning and Sizing Guide found in the following location:
http://docs.iplanet.com/docs/manuals/enterprise.html.
Chapter 12, Using Search describes how to search the contents and attributes of
documents on the server. In addition, this chapter describes how to create a customized
text search interface thats tailored to your user community.
Chapter 13, Using Virtual Servers describes how to set up and administer virtual
servers using your iPlanet Web Server.
Chapter 14, Creating and Configuring Virtual Servers describes how you can create
and configure individual virtual servers.
Chapter 15, Extending Your Server With Programs describes how to install Java
applets, CGI programs, JavaScript applications, and other plug-ins onto your server.
Chapter 16, Content Management describes how you can configure and manage your
servers content.
Chapter 17, Applying Configuration Styles describes how to use configuration styles
with iPlanet Web Server.
About This Guide
21
Part V: Appendixes
This section includes various appendixes with reference material that you may wish to
review. This section includes the following appendixes:
Appendix A, Command Line Utilities provides instructions for using command line
utilities in place of the user interface screens.
Appendix C, ACL File Syntax describes the access-control list (ACL) files and their
syntax.
In addition, a glossary is included to define frequently used terms that may be unfamiliar to
iPlanet Web Server administrators.
This typeface is used for any text that you should type. Its also used for functions,
examples, URLs, filenames, and directory paths.
NOTE
Table 1
Printed manuals are also available as online files in PDF and HTML format.
http://docs.iplanet.com
Monitoring your servers using HTTP, via log files, SNMP, or via the
tools provided with your OS.
Defining your server workload and sizing your system to meet your
performance needs.
Planning your directory service. How you can use the directory server to
support simple usage that involves only a few hundred users and some key
server applications, as well as how you can scale the directory server to
support millions of users. You are also introduced to the basic directory
service concepts and specific guidelines that you will need to deploy a
production-grade directory service.
23
Further Reading
Table 1
Further Reading
The iPlanet documentation site contains documentation for administrators, users, and
developers, including:
Netscape Internet Service Broker programmers guides and reference guides for Java
and C++
24
Part
Server Basics
25
26
Chapter
This chapter introduces iPlanet Web Server and discusses some of the fundamental server
concepts. Read it to obtain an overview of how iPlanet Web Server works.
This chapter includes the following sections:
Administration Server
Server Manager
Class Manager
27
28
High performanceDelivers high performance for dynamic and secure content with
features such as HTTP1.1, multi-threading, and support for SSL hardware accelerators.
Server Manager
Class Manager
In previous releases, the Enterprise Server and other Netscape servers were administered by
a single server, called the Administration Server. In the 4.x release, the administration
server became simply an additional instance of the iPlanet Web Server, called iPlanet Web
Server Administration Server, or Administration Server. You use the Administration Server
to administer all of your iPlanet Web Server instances. For more information, see
Administration Server, on page 38.
NOTE
For managing individual instances of iPlanet Web Server, you can use the Server Manager.
For more information, see Server Manager, on page 39.
To manage virtual servers, use the Class Manager. For more information, see Virtual
Server Configuration, on page 38.
Content Engines
Server Extensions
Chapter
29
Runtime Environments
Application Services
Content Engines
iPlanet Web Server content engines are designed for manipulating customer data. The
following three content engines make up the Web Publishing layer of the iPlanet Web
Server architecture: HTTP (Web Server), Content Management, and Search.
The HTTP engine represents the core of the iPlanet Web Server. From a functional
perspective, the rest of the iPlanet Web Server architecture resides on top of this engine for
performance and integration functionality.
The Content Management engine enables you to manage your servers content. You create
and store HTML pages, JavaServer Pages, and other files such as graphics, text, sound, or
video on your server. When clients connect to your server, they can view your files
provided they have access to them.
The Search engine enables iPlanet Web Server users to search the contents and attributes of
documents on the server. As the server administrator, you can create a customized text
search interface that works with various types of documents formats, such as HTML,
Microsoft Word, Adobe PDF, and WordPerfect. iPlanet Web Server converts many types of
non-HTML documents into HTML as it indexes them so that users can use your web
browser to view the documents that are found for their search.
Server Extensions
The iPlanet Web Server extensions enable you to extend or replace the function of the
server to better suit your business operations. The following server extensions are part of
the core iPlanet Web Server architecture:
30
Runtime Environments
In addition to the various server extensions, iPlanet Web Server includes a set of runtime
environments which support the server extensions. These runtime environments include the
following:
CGI Processor
NSAPI Engine
Application Services
Finally, the iPlanet Web Server architecture includes a set of application services for
various application-specific functions. These application services include the following:
Mail Service
Chapter
31
Single-Server Configuration
Multiple-Server Configuration
SNMP
32
The main iPlanet Web Server configuration files are: magnus.conf, obj.conf,
mime.types, server.xml, and admpw. These configuration files are described in this
section.
NOTE
There are a number of configuration files iPlanet Web Server uses when
your server is set up as part of a cluster of iPlanet Web Servers (these files
include a .clfilter file extension). For more information regarding how
you can configure a cluster of iPlanet Web Servers, including important
guidelines, see About Clusters, on page 135 in Chapter 6, Managing
Server Clusters.
Chapter
33
For more information, see Specifying a Default MIME Type, on page 354 in Chapter 16,
Content Management. Note that you must restart the server every time you make changes
to this file.
admpw: the user name and password file for the Administrator Server superuser. For more
information, see Changing the Superuser Settings, on page 51 in Chapter 3, Setting
Administration Preferences.
Dynamic Reconfiguration
Dynamic reconfiguration allows you to make configuration changes to a live web server
without having to stop and restart the web server for the changes to take effect. You can
dynamically change all configuration settings and attributes in server.xml and its
associated files without restarting the server.
To access the dynamic reconfiguration screen and install a new configuration dynamically,
click the Apply link found in the upper right corner of the Server Manager, Class Manager,
and Virtual Server Manager pages, then click the Load Configuration Files button on the
Apply Changes page. If there are errors in installing the new configuration, the previous
configuration is restored.
Single-Server Configuration
If you have installed iPlanet Web Server on a single server machine, the installation process
places all the files under the server root directory that you specified during installation.
All Platforms
For all platforms, the following directories are created under the server root directory:
alias contains the key and certificate files for all iPlanet servers (for example,
https-admserv-server_id-cert7.db and secmod.db).
34
bin contains the binary files for the server, such as the actual server, the Administration
Server forms, and so on. In addition, this directory includes the https/install
folder that contains files needed for migrating server settings and default configuration
files needed for backward compatibility.
docs is the servers default primary document directory, where your servers content
files are usually kept. If you are migrating settings from an existing server, this
directory doesnt appear until you finish the migration process.
The flexanlg directory contains a command-line log analyzer. This log analyzer
analyzes files in flexlog format.
The log_anly directory contains the log analysis tool that runs through the Server
Manager. This log analyzer analyzes files in common log format only.
httpacl contains the files that store access control configuration information in the
generated.server-id.acl and genwork.server-id.acl files. The file
generated.server-id.acl contains changes you make using the Server Manager
access control forms after saving your changes; genwork.server-id.acl contains your
changes before you save your changes.
https-admserv contains the directories for the Administration Server. This directory
has the following subdirectories and files:
For Unix/Linux platforms, this directory contains shell scripts to start, stop, and
restart the server and a script to rotate log files.
ClassCache contains classes and Java files, generated as result of the compilation
of JavaServer pages.
conf_bk contains backup copies of the administration servers configuration files.
config contains the servers configuration files: admpw, admin.conf,
cluster.xml, contexts.properties, cron.conf, dsgw.conf,
dsgwfilter.conf, dsgw-language.conf, dsgw-orgperson.conf,
dsgwserarchprefs.conf, jvm12.conf, magnus.conf,
magnus.conf.clfilter, mime.types, ns-cron.conf, obj.conf,
obj.conf.clfilter, server.dtd, servers.lst, server.xml,
server.xml.clfilter, servlets.properties, ssl.xml,
user-apps.xml, userclass.obj.conf, and web-apps.xml. Working
copies are kept here. For more information on magnus.conf and obj.conf, see
machines.
https-server_id.domain are the directories for each server you have installed on the
machine. Each server directory has the following subdirectories and files:
Chapter
35
reconfig is the script used to reconfigure the server dynamically. If you make
non-global changes to the server, you can use this script to reconfigure the server
without stopping and starting it. Note that changes to ACL files and magnus.conf
require you to stop and restart the server.
restart is the script that restarts the server.
rotate rotates server log files without affecting users who may be connected to
the server.
startsvr.bat is the script that starts the Server Manager. The Server Manager
lets you configure all servers installed in the server root directory.
stopsvr.bat is the script that stops the Server Manager.
plugins contains directories for Java, search, and other plugins. This directory has the
following subdirectories:
36
ClassCache contains classes and Java files, generated as result of the compilation
of JavaServer pages.
htaccess contains server plugin for .htaccess access control and htconvert,
an .nsconfig to .htaccess converter.
digest contains the Digest Authentication Plugin for iPlanet Directory Server
5.0, as well as information about the plugin.
samples contains samples and example components, plugins and technologies
supported by the iPlanet Web Server servlet engine. This includes binaries, all
code, and a build enviroment.
loadbal contains the required files for the Resonate load-balancer integration
plugin.
nsapi contains header files and example code for creating your own functions
using NSAPI. For more information, see the iPlanet documentation web site at:
http://docs.iplanet.com/docs/manuals/enterprise.html.
setup contains the various iPlanet Web Server setup files, including setup.log and
uninstall.inf.
README.txt is the readme file that contains a link to the iPlanet Web Server Release
Notes.
The following files are created under the server-root/https-admserv directory for Unix
and Linux platforms:
ClassCache contains classes and Java files, generated as result of the compilation
of JavaServer pages.
start is the script that starts the Server Manager. The Server Manager lets you
configure all servers installed in the server root directory.
stop is the script that stops the Server Manager.
Chapter
37
Administration Server
Multiple-Server Configuration
You can have multiple web servers running on the same server machine. Multiple web
servers can be configured from a single-server administration interface called the
Administration Server.
Administration Server
The Administration Server is a web-based server that contains the Java forms you use to
configure all of your iPlanet Web Servers.
After installing iPlanet Web Server, you use your browser to navigate to the Administration
Server page and use its forms to configure your iPlanet Web Servers. When you submit the
forms, the Administration Server modifies the configuration for the server you were
administering.
The URL you use to navigate to the Administration Server page depends on the computer
host name and the port number you choose for the Administration Server when you install
iPlanet Web Server. For example, if you installed the Administration Server on port 1234,
the URL would look like this:
http://myserver.mozilla.com:1234
Before you can get to any forms, the Administration Server prompts you to authenticate
yourself. This means you need to type a user name and password. You set up the
superuser user name and password when you install iPlanet Web Server on your
computer. After installation, you can use distributed administration to give multiple people
access to different forms in the Administration Server. For more information about
distributed administration, see Allowing Multiple Administrators, on page 53 in Chapter
3, Setting Administration Preferences.
38
Server Manager
The first page you see when you access the Administration Server, is called Servers. You
use the buttons on this page to manage, add, remove, and migrate your iPlanet Web Servers.
The Administration Server provides the following tabs for your administration-level tasks:
Servers
Preferences
Global Settings
Security
You must enable cookies in your browser to run the CGI programs
necessary for configuring your server.
For more information on using the Administration Server, including information regarding
these administration-level tasks, see Chapter 2, Administering iPlanet Web Servers.
Server Manager
The Server Manager is a web-based interface that contains the Java forms you use to
configure individual instances of iPlanet Web Server.
You can access the Server Manager for iPlanet Web Server by performing the following
steps:
1.
2.
In the Manage Servers area, select the desired server and click Manage.
iPlanet Web Server displays the Server Manager Preferences page.
NOTE
Note that you must enable cookies in your browser to run the CGI
programs necessary for configuring your server.
You use the links on the Preferences page to manage options such as thread pool settings,
and to turn the web server on and off.
Chapter
39
Server Manager
In addition, the Server Manager provides the following tabs for additional iPlanet Web
Server managerial tasks:
Security
Logs
Monitor
Java
Legacy Servlets
Search
For more information, see the Server Manager in the online help.
Resource Picker
The Resource Picker appears on a number of pages, including the Server Managers Log
Preferences page and most screens accessible from the Class Managers Content
Management tab.
To use the Resource Picker, choose a resource from the drop-down list for configuration.
Click Browse to browse your primary document directory; clicking Options allows you to
choose other directories. Click Wildcard to configure files with a specific extension.
Class Manager
Wildcard patterns use special characters. If you want to use one of these characters without
the special meaning, precede it with a backslash (\) character.
Class Manager
The Class Manager is a web-based interface that contains the Java forms you use to
configure your virtual iPlanet Web Servers. The user interface for virtual servers has two
parts, the Server Manager and the Class Manager. The Class Manager contains settings that
affect a single class or single virtual server. You can set services for the class in the Class
Manager, as well as add virtual servers (members of the class) and configure settings for an
individual virtual server.
You can access the Class Manager for iPlanet Web Server by performing the following
steps:
1.
From the Server Manager, click the Virtual Server Class tab.
The Server Manager displays the Select a Class of Virtual Server page.
2.
From the drop-down list, select a virtual server class and click Manage.
iPlanet Web Server displays the Class Managers Select a Virtual Server page.
The Class Manager provides the following tabs to manage your iPlanet Web Server virtual
servers:
Virtual Servers
Programs
Content Management
Styles
For more information, see the Class Manager in the online help.
Chapter
41
42
Chapter
This chapter describes how to administer iPlanet Web Server, Enterprise Edition 6.0 with
the iPlanet Web Server Administration Server. Using the Administration Server, you can
manage servers, add and remove servers, and migrate servers from a previous release.
This chapter includes the following sections:
Removing a Server
Unix/Linux Platforms
To access the Administration Server in Unix or Linux platforms, go to the
server_root/https-admserv/ directory (for example,
/usr/iplanet/servers/https-admserv/) and type ./start. This command starts
the Administration Server using the port number you specified during installation.
43
Windows NT Platforms
The iPlanet Web Server installation program creates a program group with several icons for
Windows NT platforms. The program group includes the following icons:
Release Notes
Note that the Administration Server runs as a services applet; thus, you can also use the
Control Panel to start this service directly.
To access the Administration Server in Windows NT 4.0, perform the following steps:
1.
Double-click the Start Administration Server icon, or type the following URL for
starting the administration server in your browser:
http://hostname.domain-name:administration_port
iPlanet Web Server then displays a window prompting you for a user name and
password.
2.
Type the administration user name and password you specified during installation.
iPlanet Web Server displays the Administration Server page.
You must enable cookies in your browser to run the CGI programs
necessary for configuring your server.
You can also access the Administration Server from a remote location as long as you have
access to client software such as Netscape Navigator. Since the Administrator Server is
accessed through a browser, you can access it from any machine that can reach the server
over the network.
44
Virtual Servers
Virtual servers allow you, with a single installed server, to offer companies or individuals
domain names, IP addresses, and some server administration capabilities. For the users, it is
almost as if they have their own web server, though you provide the hardware and basic
web server maintenance.
The settings for virtual servers are stored in the server.xml file, found in the
server_root/server_id/config directory. You do not need to edit this file to use virtual
servers, but if you would like to learn more about this file, see the NSAPI Programmers
Guide.
For more information about virtual servers, see Chapter 13, Using Virtual Servers.
Install multiple copies of the server on NT as separate instances, each with a different
IP address.
Configure a set of servers that all use the same IP address, but different port numbers.
If your system is configured to listen to multiple IP addresses enter one of the IP addresses
that your system is hosting for each server you install.
If you installed your server before configuring your system to host multiple IP addresses,
configure your system to respond to different IP addresses. Then you can either install
hardware virtual servers or change the servers bind address using the Server Manager and
install separate instances of the server for each IP address.
To add another server instance, perform the following steps:
1.
2.
Chapter 2
45
Removing a Server
3.
For more information, see The Add Server Page in the online help.
Removing a Server
You can remove a server from your system using the Administration Server. Be sure that
you dont need the server anymore before you remove it, since this process cannot be
undone.
NOTE
Some NT servers have an uninstall program that you can use to remove a
server and its associated administration server. For details, check with
your product documentation.
2.
The Administration Server subsequently deletes the servers configuration files, Server
Manager forms, and the following directory (and any subdirectories):
server_root/https-server-id
For more information, see The Remove Server Page in the online help.
46
Part
47
48
Chapter
You can configure your Administration Server using the pages on the Preferences and
Global Settings tabs. Note that you must enable cookies in your browser to run the CGI
programs necessary for configuring your server.
This chapter includes the following sections:
49
You can stop the server using one of the following methods:
Access the Administration Server, choose the Preferences tab, select the Shut Down
link, and click Shut down the administration server button!.
For more information, see The Shut Down Page in the online help.
Use stop, which shuts down the server completely, interrupting service until it is
restarted.
After you shut down the server, it may take a few seconds for the server to complete its
shut-down process and for the status to change to Off.
2.
3.
For more information, see Chapter 13, Using Virtual Servers and the online help for The
Edit Listen Sockets Page.
50
You do not need to specify a server user if you chose a port number greater than 1024 and
are not running as the root user (in this case, you do not need to be logged on as root to
start the server). If you do not specify a user account here, the server runs with the user
account you start it with. Make sure that when you start the server, you use the correct user
account.
NOTE
If you do not know how to create a new user on your system, contact your system
administrator or consult your system documentation.
Even if you start the server as root, you should not run the server as root all the time. You
want the server to have restricted access to your system resources and run as a
non-privileged user. The user name you enter as the server user should already exist as a
normal Unix/Linux user account. After the server starts, it runs as this user.
If you want to avoid creating a new user account, you can choose the user nobody or an
account used by another HTTP server running on the same host. On some systems,
however, the user nobody can own files but not run programs.
To access the Server Settings page, perform the following steps:
1.
2.
3.
If you use iPlanet Directory Server to manage users and groups, you need to update
the superuser entry in the directory before you change the superuser user name or
password. If you dont update the directory first, you wont be able to access the
Users & Groups forms in the Administration Server. To fix this, youll need to either
access the Administration Server with an administrator account that does have
access to the directory, or youll need to update the directory using the iPlanet
Directory Servers Console or configuration files.
Chapter 3
51
To change the superuser settings for the Administration Server, perform the following
steps:
1.
2.
3.
NOTE
You can change the Administration Server user from root to another user on the
operating system to enable multiple users (belonging to the group) to edit/manage
the configuration files. However, note that while on Unix/Linux platforms, the
installer can give rw (read/write) permissions to a group for the configuration
files, on Windows NT platforms, the user must belong to the Administrators
group.
The superusers user name and password are kept in a file called
server_root/https-admserv/config/admpw. If you forget the user name, you can
view this file to obtain the actual name; however, note that the password is encrypted and
unreadable. The file has the format username:password. If you forget the password, you
can edit the admpw file and simply delete the encrypted password. You can then go to the
Server Manager forms and specify a new password.
CAUTION
52
Because you can edit the admpw file, it is very important that you keep the server
computer in a secure place and restrict access to its file system:
password) you specified during installation. This user has full access to all forms in the
Administration Server, except the Users & Groups forms, which depend on the
superuser having a valid account in an LDAP server such as iPlanet Directory Server.
administrators go directly to the Server Manager forms for a specific server, including
the Administration Server. The forms they see depend on the access control rules set up
for them (usually done by the superuser). Administrators can perform limited
administrative tasks and can make changes that affect other users, such as adding users
or changing access control.
end users can view read-only data stored in the database. Additionally, end users may
be granted access permissions to change only specific data.
For an in-depth discussion of access control for iPlanet Web Server, see What Is Access
Control?, on page 158 in Chapter 8, Controlling Access to Your Server.
NOTE
Before you can enable distributed administration, you must install a Directory
Server. For more information, see the iPlanet Web Server Installation and
Migration Guide and the iPlanet Directory Server Administrators Guide.
2.
3.
One youve installed a Directory Server, you may also need to create an administration
group, if you have not previously done so.
To create a group, perform the following steps:
a.
b.
Chapter 3
53
c.
Create an administrators group in the LDAP directory and add the names of the
users you want to have permission to configure the Administration Server, or any
of the servers installed in its server root. All users in the administrators group
have full access to the Administration Server, but you can use access control to
limit the servers and forms they will be allowed to configure.
CAUTION
Once you create an access-control list, the distributed administration group is added
to that list. If you change the name of the administrators group, you must
manually edit the access-control list to change the group it references.
4.
5.
6.
For more information, see The Distributed Administration Page in the online help.
54
2.
For more information, see The View Error Log Page in the online help, and Chapter 9,
Using Log Files.
2.
For more information, see The View Access Log Page in the online help, and Chapter 9,
Using Log Files.
Chapter 3
55
Access log rotation is initialized at server startup. If rotation is turned on, iPlanet Web
Server creates a time-stamped access log file and rotation starts at server startup.
Once the rotation starts, iPlanet Web Server creates a new time stamped access log file
when there is a request that needs to be logged to the access log file and it occurs after the
previously-scheduled next rotate time.
Access the Administration Server and choose the Global Settings tab.
2.
3.
Note that any time you add a task to cron, you need to restart the daemon.
56
Access the Administration Server and choose the Global Settings tab.
2.
3.
For more information, see The Configure Directory Service Page in the online help.
You must turn on distributed administration before you can restrict server access.
To restrict access to your iPlanet Web Servers, perform the following steps:
1.
Access the Administration Server and choose the Global Settings tab.
2.
3.
Make the desired access control changes and click OK. For more information, see The
Restrict Access Page in the online help.
Chapter 3
57
2.
3.
4.
5.
58
Chapter
This chapter describes how to add, delete, and edit the users and groups who can access
your iPlanet Web Server.
This chapter includes the following sections:
Creating Users
Managing Users
Creating Groups
Managing Groups
The abbreviations before each equal sign in this example have the following meanings:
uid: user ID
e: email address
o: organization
c: country
DNs may include a variety of name-value pairs. They are used to identify both certificate
subjects and entries in directories that support LDAP.
60
Creating Users
Using LDIF
If you do not currently have a directory, or if you want to add a new subtree to an existing
directory, you can use the Directory Servers Administration Server LDIF import function.
This function accepts a file containing LDIF and attempts to build a directory or a new
subtree from the LDIF entries. You can also export your current directory to LDIF using the
Directory Servers LDIF export function. This function creates an LDIF-formatted file that
represents your directory. Add or edit entries using the ldapmodify command along with
the appropriate LDIF update statements.
To add entries to the database using LDIF, first define the entries in an LDIF file, then
import the LDIF file from Directory Server. For more information, see Formatting LDIF
Entries, on page 371 of Appendix A, Command Line Utilities.
Creating Users
Use the Users and Groups tab of the Administration Server to create or modify user entries.
A user entry contains information about an individual person or object in the database.
This section includes the following topics:
Chapter
61
Creating Users
If you enter a given name (or first name) and a surname, then the form automatically
fills in the users full name and user ID for you. The user ID is generated as the first
initial of the users first name followed by the users last name. For example, if the
users name is Billie Holiday, then the user ID is automatically set to bholiday. You can
replace this user ID with an ID of your own choosing if you wish.
The user ID must be unique. The Administration Server ensures that the user ID is
unique by searching the entire directory from the search base (base DN) down to see if
the user ID is in use. Be aware, however, that if you use the Directory Server
ldapmodify command line utility (if available) to create a user, that it does not ensure
unique user IDs. If duplicate user IDs exist in your directory, the affected users will not
be able to authenticate to the directory.
Note that the base DN specifies the distinguished name where directory lookups will
occur by default, and where all iPlanet Web Administration Servers entries are placed
in your directory tree. A DN is the string representation for the name of an entry in a
directory server.
Note that at a minimum, you must specify the following user information when
creating a new user entry:
full name
user ID
If any organizational units have been defined for your directory, you can specify where
you want the new user to be placed using the Add New User To list. The default
location is your directorys base DN (or root point).
NOTE
62
The user edit text fields for international information differs between the
Administration Server and Netscape Console. In Netscape Console, in addition to
the untagged cn fields, there is a preferred language cn field which doesnt exist
in the Administration Server.
Creating Users
Access the Administration Server and choose the Users & Groups tab.
2.
Click the New User link and add the associated information to the displayed page.
For more information, see The New User Page in the online help.
For example, if a user entry for Billie Holiday is created within the organizational unit
Marketing, and the directorys base DN is o=Ace Industry, c=US, then the persons DN
is:
cn=Billie Holiday, ou=Marketing, o=Ace Industry, c=US
However, note that you can change this format to a uid-based distinguished name.
The values on the user form fields are stored as the following LDAP attributes (note
that any stored information other than user and group requires a full Directory
Server license):
Table 4-1
LDAP Attributes
User Field
Given Name
givenName
Surname
sn
Full Name
cn
User ID
uid
Password
userPassword
Email Address
Chapter
63
Managing Users
The following fields are also available when editing the user entry:
Table 4-2
User Field
Title
title
Telephone
telephoneNumber
Managing Users
You edit user attributes from the Administration Server Manage Users form. From this form
you can find, change, rename, and delete user entries; manage user licenses; and potentially
change product-specific information.
Some, but not all, Netscape/iPlanet servers add additional forms to this area that allow you
to manage product-specific information. For example, if a messaging server is installed
under your Administration Server, then an additional form is added that allows you to edit
messaging server-specific information. See the server documentation for details on these
additional management capabilities.
This section includes the following topics:
64
Renaming Users
Removing Users
Managing Users
Access the Administration Server and choose the Users & Groups tab.
2.
3.
In the Find User field, enter some descriptive value for the entry that you want to edit.
You can enter any of the following in the search field:
A name. Enter a full name or a partial name. All entries that equally match the
search string will be returned. If no such entries are found, all entries that contain
the search string will be found. If no such entries are found, any entries that sounds
like the search string are found.
A user ID.
A telephone number. If you enter only a partial number, any entries that have
telephone numbers ending in the search number will be returned.
An email address. Any search string containing an at (@) symbol is assumed to be
an email address. If an exact match cannot be found, then a search is performed to
find all email addresses that begin with the search string.
An asterisk (*) to see all of the entries currently in your directory. You can achieve
the same effect by simply leaving the field blank.
Any LDAP search filter. Any string that contains an equal sign (=) is considered a
search filter.
As an alternative, use the pull down menus in the Find all users whose field to narrow
the results of your search.
4.
In the Look within field, select the organizational unit under which you want to search
for entries.
The default is the directorys root point (or top most entry).
5.
6.
Click Find.
All the users in the selected organizational unit are displayed.
Chapter
65
Managing Users
7.
In the resulting table, click the name of the entry that you want to edit.
The user edit form is displayed.
8.
The left-most pull-down list allows you to specify the attribute on which the search will
be based.
The available search attribute options are described in the following table:
Table 4-3
Option Name
Description
full name
last name
user id
phone number
email address
unit name
description
66
In the center pull-down list, select the type of search you want to perform.
Managing Users
The available search type options are described in the following table:
Table 4-4
Option Name
Description
contains
is
Causes an exact match to be found. That is, this option specifies an equality
search. Use this option when you know the exact value of an users attribute.
For example, if you know the exact spelling of the users name, use this
option.
isnt
Returns all the entries whose attribute value does not exactly match the
search string. That is, if you want to find all the users in the directory whose
name is not John Smith, use this option. Be aware, however, that use of
this option can cause an extremely large number of entries to be returned to
you.
sounds like
starts with
ends with
To display all of the users entries contained in the Look Within directory, enter either an
asterisk (*) or simply leave this text field blank.
Chapter
67
Managing Users
Access the Administration Server and choose the Users & Groups tab.
2.
Display the user entry as described in Finding User Information, on page 65.
3.
Edit the field corresponding to the attribute that you wish to change.
For more information, see The Edit Users Page in the online help.
NOTE
It is possible that you will want to change an attribute value that is not
displayed by the edit user form. In this situation, use the Directory Server
ldapmodify command line utility, if available.
In addition, note that you can change the users first, last, and full name field from this
form, but to fully rename the entry (including the entrys distinguished name), you need to
use the Rename User form. For more information on how to rename an entry, see
Renaming Users, on page 69.
Access the Administration Server and choose Users & Groups tab.
2.
Display the user entry as described in Finding User Information, on page 65.
3.
For more information, see The Manage Users Page in the online help.
NOTE
68
You can change the Administration Server user from root to another user
on the operating system to enable multiple users (belonging to the group)
to edit/manage the configuration files. However, note that while on
Unix/Linux platforms, the installer can give rw permissions to a group
for the configuration files, on Windows NT platforms, the user must
belong to the Administrators group.
Managing Users
You can also disable the users password by clicking the Disable Password button. Doing
this prevents the user from logging into a server without deleting the users directory entry.
You can allow access for the user again by using the Password Management Form to enter a
new password.
Access the Administration Server and choose the Users & Groups tab.
2.
Display the user entry as described in Finding User Information, on page 65.
3.
Click the Licenses link at the top of the User Edit form.
4.
For more information, see The Manage Users Page in the online help.
Renaming Users
The rename feature changes only the users name; all other fields are left intact. In addition,
the users old name is still preserved so searches against the old name will still find the new
entry.
When you rename a user entry, you can only change the users name; you cannot use the
rename feature to move the entry from one organizational unit to another. For example,
suppose you have organizational units for Marketing and Accounting and an entry named
Billie Holiday under the Marketing organizational unit. You can rename the entry from
Billie Holiday to Doc Holiday, but you cannot rename the entry such that Billie
Holiday under the Marketing organizational unit becomes Billie Holiday under the
Accounting organizational unit.
To rename a user entry, perform the following steps:
1.
Access the Administration Server and choose the Users & Groups tab.
2.
Display the user entry as described in Finding User Information, on page 65.
Note that if you are using common name-based DNs, specify the users full name. If
you are using uid-based distinguished names, enter the new uid value that you want to
use for the entry.
Chapter
69
Creating Groups
3.
4.
Change the Given Name, Surname, Full Name, or UID fields as is appropriate to match
the new distinguished name for the entry.
5.
You can specify that the Administration Server no longer retains the old full name or
uid values when you rename the entry by setting the keepOldValueWhenRenaming
parameter to false. You can find this parameter in the following file:
server_root/admin-serv/config/dsgw-orgperson.conf
For more information, see The Manage Users Page in the online help.
Removing Users
To delete a user entry, perform the following steps:
1.
Access the Administration Server and choose the Users & Groups tab.
2.
Display the user entry as described in Finding User Information, on page 65.
3.
For more information, see The Manage Users Page in the online help.
Creating Groups
A group is an object that describes a set of objects in an LDAP database. An iPlanet Web
Server group consists of users who share a common attribute. For instance, the set of
objects might be a number of employees who work in the marketing division of your
company. These employees might belong to a group called Marketing.
There are two ways to define membership of a group: statically and dynamically. Static
groups enumerate their member objects explicitly. A static group is a CN and contains
uniqueMembers and/or memberURLs and/or memberCertDescriptions. For static
groups, the members do not share a common attribute except for the CN=<Groupname>
attribute.
Dynamic groups allow you to use a LDAP URL to define a set of rules that match only for
group members. For Dynamic Groups, the members do share a common attribute or set of
attributes that are defined in the memberURL filter. For example, if you need a group that
contains all employees in Sales, and they are already in the LDAP database under
70
Creating Groups
This group would subsequently contain all objects that have an uid attribute in the tree
below the ou=Sales,o=iplanet point; thus, all the Sales members.
For static and dynamic groups, members can share a common attribute from a certificate if
you use the memberCertDescription. Note that these will only work if the ACL uses the
SSL method.
Once you create a new group, you can add users, or members, to it.
This section includes the following topics for creating groups:
Static Groups
Dynamic Groups
Static Groups
The Administration Server enables you to create a static group by specifying the same
group attribute in the DNs of any number of users. A static group doesnt change unless you
add a user to it or delete a user from it.
You can optionally also add a description for the new group.
If any organizational units have been defined for your directory, you can specify where
you want the new group to be placed using the Add New Group To list. The default
location is your directorys root point, or top-most entry.
When you are finished entering the desired information, click Create Group to add the
group and immediately return to the New Group form. Alternatively, click Create and
Edit Group to add the group and then proceed to the Edit Group form for the group you
have just added. For information on editing groups, see Editing Group Attributes, on
page 77.
Chapter
71
Creating Groups
Access the Administration Server and choose the Users & Groups tab.
2.
3.
For more information, see The New Group Page in the online help.
Dynamic Groups
A dynamic group has an objectclass of groupOfURLs, and has zero or more
memberURL attributes, each of which is a LDAP URL that describes a set of objects.
iPlanet Web Server enables you to create a dynamic group when you want to group users
automatically based on any attribute, or when you want to apply ACLs to specific groups
which contain matching DNs. For example, you can create a group that automatically
includes any DN that contains the attribute department=marketing. If you apply a
search filter for department=marketing, the search returns a group including all DNs
containing the attribute department=marketing. You can then define a dynamic group
from the search results based on this filter. Subsequently, you can define an ACL for the
resulting dynamic group.
This section includes the following topics:
72
Creating Groups
This example describes a set that consists of all objects below o=mcom.com whose
department is marketing.
The LDAP URL can contain a search base DN, a scope and filter, however, not a hostname
and port. This means that you can only refer to objects on the same LDAP server. All
scopes are supported.
The DNs are included automatically, without your having to add each individual to the
group. The group changes dynamically, because iPlanet Web Server performs an LDAP
server search each time a group lookup is needed for ACL verification. The user and group
names used in the ACL file correspond to the cn attribute of the objects in the LDAP
database.
NOTE
iPlanet Web Server uses the cn (commonName) attribute as group name for
ACLs.
The mapping from an ACL to an LDAP database is defined both in the dbswitch.conf
configuration file (which associates the ACL database names with actual LDAP database
URLs) and the ACL file (which defines which databases are to be used for which ACL). For
example, if you want base access rights on membership in a group named staff, the ACL
code looks up an object that has an object class of groupOf<anything> and a CN set to
staff. The object defines the members of the group, either by explicitly enumerating the
member DNs (as is done for groupOfUniqueNames for static groups), or by specifying
LDAP URLs (for example, groupOfURLs).
Chapter
73
Creating Groups
Enter the groups LDAP URL using the following format (without host and port
info, since these parameters are ignored):
ldap:///<basedn>?<attributes>?<scope>?<(filter)>
Parameter Name
Description
<base_dn>
The Distinguished Name (DN) of the search base, or point from which
all searches are performed in the LDAP directory. This parameter is
often set to the suffix or root of the directory, such as o=mcom.com.
<attributes>
<scope>
Search filter to apply to entries within the specified scope of the search.
If you are using the Administration Server forms, you must specify this
attribute. Note that the parentheses are required.
This parameter is required.
74
Managing Groups
Note that the <attributes>, <scope>, and <(filter)> parameters are identified
by their positions in the URL. If you do not want to specify any attributes, you still
need to include the question marks delimiting that field.
You can optionally also add a description for the new group.
If any organizational units have been defined for your directory, you can specify where
you want the new group to be placed using the Add New Group To list. The default
location is your directorys root point, or top-most entry.
When you are finished entering the desired information, click Create Group to add the
group and immediately return to the New Group form. Alternatively, click Create and
Edit Group to add the group and then proceed to the Edit Group form for the group you
have just added. For information on editing groups, see Editing Group Attributes, on
page 77.
Access the Administration Server and choose the Users & Groups tab.
2.
3.
4.
For more information, see The New Group Page in the online help.
Managing Groups
The Administration Server enables you to edit groups and manage group memberships from
the Manage Group form. This section describes the following topics:
Managing Owners
Chapter
75
Managing Groups
Removing Groups
Renaming Groups
Access the Administration Server and choose the Users & Groups tab.
2.
3.
Enter the name of the group that you want to find in the Find Group field.
You can enter any of the following values in the search field:
A name. Enter a full name or a partial name. All entries that equally match the
search string are returned. If no such entries are found, all entries that contain the
search string will be found. If no such entries are found, any entries that sounds
like the search string are found.
An asterisk (*) to see all of the groups currently residing in your directory. You
can achieve the same effect by simply leaving the field blank.
Any LDAP search filter. Any string that contains an equal sign (=) is considered to
be a search filter.
As an alternative, use the pull down menus in Find all groups whose to narrow the
results of your search.
4.
In the Look within field, select the organizational unit under which you want to search
for entries.
The default is the directorys root point, or top-most entry.
5.
6.
Click Find.
All the groups matching your search criteria are displayed.
7.
In the resulting table, click the name of the entry that you want to edit.
Managing Groups
To display all of the group entries contained in the Look Within directory, enter either an
asterisk (*) or simply leave this text field blank.
For more information regarding how to build a custom search filter, see Building Custom
Search Queries, on page 66.
Access the Administration Server and choose the Users & Groups tab.
2.
3.
Locate the group you want to edit, and type the desired changes.
For more information regarding how to find specific entries, refer to the concepts
outlined in Finding Group Entries, on page 76.
NOTE
You can change the Administration Server user from root to another user on the
operating system to enable multiple users (belonging to the group) to edit/manage
the configuration files. However, note that while on Unix/Linux platforms, the
installer can give rw permissions to a group for the configuration files, on
Windows NT platforms, the user must belong to the Administrators group.
For more information about editing group attributes, see The Manage Groups Page in the
online help.
NOTE
It is possible that you will want to change an attribute value that is not displayed by
the group edit form. In this situation, use the Directory Server ldapmodify
command line utility, if available.
Access the Administration Server and choose the Users & Groups tab.
2.
Chapter
77
Managing Groups
3.
Locate the group you want to manage as described in Finding Group Entries, on
page 76, and click the Edit button under Group Members.
iPlanet Web Server displays a new form that enables you to search for entries. If you
want to add user entries to the list, make sure Users is shown in the Find pull-down
menu. If you want to add group entries to the group, make sure Group is shown.
4.
In the right-most text field, enter a search string. Enter any of the following options:
5.
A name. Enter a full name or a partial name. All entries whose name matches the
search string is returned. If no such entries are found, all entries that contain the
search string are found. If no such entries are found, any entries that sounds like
the search string are found.
A user ID if you are searching for user entries.
A telephone number. If you enter only a partial number, any entries that have
telephone numbers ending in the search number are returned.
An email address. any search string containing an at (@) symbol is assumed to be
an email address. If an exact match cannot be found, then a search is performed to
find all email addresses that begin with the search string.
Enter either an asterisk (*) or simply leave this text field blank to see all of the
entries or groups currently residing in your directory.
Any LDAP search filter. Any string that contains an equal sign (=) is considered to
be a search filter.
Click Find and Add to find all the matching entries and add them to the group.
If the search returns any entries that you do not want add to the group, click the box in
the Remove from list? column. You can also construct a search filter to match the
entries you want removed and then click Find and Remove.
6.
For more information about adding groups members, see The Edit Members Page in the
online help.
78
Managing Groups
Access the Administration Server and choose the Users & Groups tab.
2.
Click the Manage Groups link, locate the group you want to manage as described in
Finding Group Entries, on page 76, and click the Edit button under Group Members.
3.
For each member that you want to remove from the list, click the corresponding box
under the Remove from list? column.
Alternatively, you can construct a filter to find the entries you want to remove and click
the Find and Remove button. For more information on creating a search filter, see
Adding Group Members, on page 77.
4.
Click Save Changes. The entry(s) are deleted from the group members list.
Managing Owners
You manage a groups owners list the same way as you manage the group members list.
The following table identifies which section to read for more information:
Table 4-6
Additional Information
Read Section
Chapter
79
Managing Groups
Additional Information
Read Section
Removing Groups
To delete a group, perform the following steps:
1.
Access the Administration Server and choose the Users & Groups tab.
2.
Click the Manage Groups link, locate the group you want to manage as described in
Finding Group Entries, on page 76, and click Delete Group.
NOTE
The Administration Server does not remove the individual members of the
group(s) you remove; only the group entry is removed.
Renaming Groups
To rename a group, perform the following steps:
80
1.
Access the Administration Server and choose the Users & Groups tab.
2.
Click the Manage Groups link and locate the group you want to manage as described in
Finding Group Entries, on page 76.
3.
Click the Rename Group button and type the new group name in the resulting dialog
box.
When you rename a group entry, you only change the groups name; you cannot use the
Rename Group feature to move the entry from one organizational unit to another. For
example, a business might have the following organizations:
In this example, you can rename the group from Online Sales to Internet Investments, but
you cannot rename the entry such that Online Sales under the Marketing organizational unit
becomes Online Sales under the Product Management organizational unit.
Access the Administration Server and choose the Users & Groups tab.
2.
Click the New Organizational Unit link and enter the required information.
For more information, see The New Organizational Unit Page in the online help.
The following notes may be of interest to the directory administrator:
New organizational units are created using the organizationalUnit object class.
For example, if you create a new organization called Accounting within the organizational
unit West Coast, and your Base DN is o=Ace Industry, c=US, then the new organization
units DN is:
ou=Accounting, ou=West Coast, o=Ace Industry, c=US
Chapter
81
Access the Administration Server and choose the Users & Groups tab.
2.
3.
Type the name of the unit you want to find in the Find organizational unit field. You
can enter any of the following in the search field:
A name. Enter a full name or a partial name. All entries that equally match the
search string will be returned. If no such entries are found, all entries that contain
the search string will be found. If no such entries are found, any entries that sounds
like the search string are found.
An asterisk (*) to see all of the groups currently residing in your directory. You
can achieve this same result by simply leaving the field blank.
Any LDAP search filter. Any string that contains an equal sign (=) is considered to
be a search filter.
As an alternative, use the pull down menus in the Find all units whose field to narrow
the results of your search.
4.
In the Look within field, select the organizational unit under which you want to search
for entries.
The default is the root point of the directory.
5.
82
6.
Click Find.
All the organizational units matching your search criteria are displayed.
7.
In the resulting table, click the name of the organizational unit that you want to find.
Locate the organizational unit you want to edit as described in Finding Organizational
Units, on page 82.
The organizational unit edit form is displayed.
2.
NOTE
It is possible that you will want to change an attribute value that is not displayed by
the organizational unit edit form. In this situation, use the Directory Server
ldapmodify command line utility, if available.
Make sure no other entries exist in the directory under the organizational unit that you
want to rename.
2.
Locate the organizational unit you want to edit as described in Finding Organizational
Units, on page 82.
Chapter
83
3.
4.
Enter the new organizational unit name in the resulting dialog box.
NOTE
When you rename an organizational unit entry, you can only change the
organizational units name; you cannot use the rename feature to move the entry
from one organizational unit to another. For more information, see Renaming
Organizational Units, on page 83.
Make sure no other entries exist in the directory under the organizational unit that you
want to rename.
2.
3.
4.
84
1.
Access the Administration Server and choose the Users & Groups tab.
2.
3.
In the Display Language Selection List field, click Yes or No to specify whether
iPlanet Web Server displays the Language Selection List.
4.
In the Languages in the Selection List field, click the Add to List checkbox to add each
language you want specified as part of the Preferred Language List.
5.
Click the default value for the language you want to specify as the default language in
the Preferred Language List.
6.
Chapter
85
86
Chapter
This chapter describes how to activate the various security features designed to safeguard
your data, deny intruders access, and allow access to those you want. iPlanet Web Server
6.0 incorporates the security architecture of all iPlanet servers: its built on industry
standards and public protocols for maximum interoperability and consistency.
Before reading this chapter you should be familiar with the basic concepts of public-key
cryptography. These concepts include encryption and decryption; public and private keys;
digital certificates; and the encryption protocols. For more information, see Introduction to
SSL located at:
http://docs.iplanet.com/docs/manuals/security/sslin/index.htm
The process of securing your web server will be explained in detail in the following
sections:
Requiring Authentication
Managing Certificates
Requiring Authentication
Requiring Authentication
Authentication is the process of confirming an identity. In the context of network
interactions, authentication is the confident identification of one party by another party.
Certificates are one way of supporting authentication.
Server Authentication
Server authentication refers to the confident identification of a server by a client; that is,
identification of the organization assumed to be responsible for the server at a particular
network address.
Client Authentication
Client authentication refers to the confident identification of a client by a server; that is,
identification of the person assumed to be using the client software. Clients can have
multiple certificates, much like a person might have several different pieces of
identification.
88
The Administration Server can only have one trust database. Each server instance can have
its own trust database. Virtual servers are covered by the trust database created for their
server instance.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
4.
Repeat.
5.
Click OK.
6.
For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter 5
89
Using password.conf
By default, the web server prompts the administrator for the key database password before
starting up. If you want to be able to restart an unattended web server, you need to save the
password in a password.conf file. Only do this if your system is adequately protected so
that this file and the key databases are not compromised.
Normally, you cannot start an Unix SSL-enabled server with the /etc/rc.local or the
etc/inittab files because the server requires a password before starting. Although you
can start an SSL-enabled server automatically if you keep the password in plain text in a
file, this is not recommended. The servers password.conf file should be owned by root
or the user who installed the server, with only the owner having read and write access to
them.
On Unix, leaving the SSL-enabled server's password in the password.conf file is a large
security risk. Anyone who can access the file has access to the SSL-enabled servers
password. Consider the security risks before keeping the SSL-enabled servers password in
the password.conf file.
On NT, if you have an NTFS file system, you should protect the directory that contains the
password.conf file by restricting its access, even if you do not use the file. The directory
should have read/write permissions for the administration server user and the web server
user. Protecting the directory prevents others from creating a false password.conf file.
You cannot protect directories or files on FAT file systems by restricting access to them.
2.
Create a new password.conf file in the config subdirectory of the server instance.
If you are using the internal PKCS#11 software encryption module that comes
with the server, enter the following information:
internal:your_password
3.
90
Stop and restart your server for the new setting to take effect.
You will always be prompted to supply a password when starting the web server, even after
the password.conf file has been created.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
4.
5.
Chapter 5
91
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Choose internal (software) from the drop-down list for cryptographic module, unless
you will use an external encryption module.
4.
5.
6.
Click Install.
7.
For the Server Manager, click Apply, and then Restart for changes to take effect.
92
Required CA Information
Before you begin the request process, make sure you know what information your CA
requires. Whether you are requesting a server certificate from a commercial CA or an
internal CA, you need to provide the following information:
Common Name must be the fully qualified hostname used in DNS lookups (for
example, www.iplanet.com). This is the hostname in the URL that a browser uses to
connect to your site. If these two names dont match, a client is notified that the
certificate name doesnt match the site name, creating doubt about the authenticity of
your certificate. Some CAs might have different requirements, so its important to
check with them.
You can also enter wildcard and regular expressions in this field if you are requesting a
certificate from an internal CA. Most vendors would not approve a certificate request
with a wildcard or regular expression entered for common name.
Email Address is your business email address. This is used for correspondence
between you and the CA.
Locality is an optional field that usually describes the city, principality, or country for
the organization.
State or Province is usually required, but can be optional for some CAs. Note that
most CAs wont accept abbreviations, but check with them to be sure.
All this information is combined as a series of attribute-value pairs called the distinguished
name (DN), which uniquely identifies the subject of the certificate.
If you are purchasing your certificate from a commercial CA, you must contact the CA to
find out what additional information they require before they issue a certificate. Most CAs
require that you prove your identity. For example, they want to verify your company name
and who is authorized by the company to administer the server, and they might ask whether
you have the legal right to use the information you provide.
Chapter 5
93
Some commercial CAs offer certificates with greater detail and veracity to organizations or
individuals who provide more thorough identification. For example, you might be able to
purchase a certificate stating that the CA has not only verified that you are the rightful
administrator of the www.iplanet.com computer, but that you are a company that has been
in business for three years, and have no outstanding customer litigation.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
4.
Perform the following steps to specify how you want to submit the request for the
certificate:
If the CA expects to receive the request in an email message, check CA Email and
enter the email address of the CA. For a list of CAs, click List of available
certificate authorities.
If you are requesting the certificate from an internal CA that is using Netscape
Certificate Server, click CA URL and enter the URL for the Certificate Server.
This URL should point to the certificate servers program that handles certificate
requests. A sample URL might be: https://CA.mozilla.com:444/cms.
5.
Select the cryptographic module for the key-pair file you want to use when requesting
the certificate from the drop-down list.
6.
94
7.
8.
9.
Click OK.
10. For the Server Manager, click Apply, and then Restart for changes to take effect.
The server generates a certificate request that contains your information. The request has a
digital signature created with your private key. The CA uses a digital signature to verify that
the request wasnt tampered with during routing from your server machine to the CA. In the
rare event that the request is tampered with, the CA will usually contact you by phone.
If you choose to email the request, the server composes an email message containing the
request and sends the message to the CA. Typically, the certificate is then returned to you
via email. If instead you specified a URL to a certificate server, your server uses the URL to
submit the request to the Certificate Server. You might get a response via email or other
means depending on the CA.
The CA will notify you if it agrees to issue you a certificate. In most cases, the CA will send
your certificate via email. If your organization is using a certificate server, you may be able
to search for the certificate by using the certificate servers forms.
NOTE
Once you receive the certificate, you can install it. In the meantime, you can still use your
server without SSL.
Chapter 5
95
When you receive a certificate from the CA, it will be encrypted with your public key so
that only you can decrypt it. The server will use the key-pair file password you specify to
decrypt the certificate when you install it. You can either save the email somewhere
accessible to the server, or copy the text of the email and be ready to paste the text into the
Install Certificate form, as described here.
Installing a Certificate
To install a certificate, perform the following steps:
1.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
96
3.
This Server is for a single certificate associated only with your server.
4.
5.
6.
Leave the a name for the certificate field blank if it will be the only one used for this
server instance, unless:
If a name is entered, it will be displayed in the Manage Certificates list, and should be
descriptive. For example, United States Postal Service CA is the name of a CA, and
VeriSign Class 2 Primary CA describes both a CA and the type of certificate. When
no certificate name is entered, the default value is applied.
7.
Select either:
Message is in this file and enter the full pathname to the saved email
8.
Click OK.
9.
Select either:
10. For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter 5
97
The certificate is stored in the servers certificate database. The filename will be
<alias>-cert7.db. For example:
https-serverid-hostname-cert7.db
98
Migrating a Certificate
To migrate a certificate, perform the following steps:
1.
From your local machine, access either the Administration Server or the Server
Manager and choose the Security tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
Choose:
3.
4.
5.
6.
Click OK.
7.
For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter 5
99
Managing Certificates
If you later wish to restore the root certificate module, you can copy the extension from
bin/https/lib (Unix and HP) or bin\https\bin (NT) back into the alias
subdirectory.
You can modify the trust information of the root certificates. The trust information is
written to the certificate database for the server instance being edited, not back to the root
certificate module itself.
Managing Certificates
You can view, delete, or edit the trust settings of the various certificates installed on your
server. This includes your own certificate and certificates from CAs.
To manage certificate lists, perform the following steps:
1.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
If you are managing a certificate for a default configuration using the internal
cryptographic module, a list of all installed certificates with their type and
expiration date is displayed. All certificates are stored in the directory
server_root/alias.
3.
100
Managing Certificates
Figure 5-1
4.
5.
Click OK.
6.
For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter
101
2.
3.
Follow the CA's instructions for downloading the CRL or CKL to a local directory.
4.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
5.
6.
Select either:
7.
8.
Click OK.
NOTE
102
If you selected Certificate Revocation List, the Add Certificate Revocation List
page will appear listing CRL information.
If you selected Compromised Key List, the Add Compromised Key List page will
appear listing CKL information.
If a CRL or CKL list already exists in the database, a Replace Certificate
Revocation List or Replace Compromised Key List page will appear.
9.
Click Add.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Select a Certificate Name from either the Server CRLs or Server CKLs list.
4.
Choose:
5.
Delete CRL
Delete CKL
For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter
103
In any two-way encryption process, both parties must use the same ciphers. Because a
number of ciphers are available, you need to enable your server for those most commonly
used.
During a secure connection, the client and the server agree to use the strongest cipher they
can both have for communication. You can choose ciphers from the SSL2, SSL3, and TLS
protocols.
NOTE
The encryption process alone isnt enough to secure your servers confidential information.
A key must be used with the encrypting cipher to produce the actual encrypted result, or to
decrypt previously encrypted information. The encryption process uses two keys to achieve
this result: a public key and a private key. Information encrypted with a public key can be
decrypted only with the associated private key. The public key is published as part of a
certificate; only the associated private key is safeguarded.
For description of the various cipher suites, and more information about keys and
certificates, see Introduction to SSL.
To specify which ciphers your server can use, check them in the list. Unless you have a
compelling reason not to use a specific cipher, you should check them all. However, you
may not wish to enabling ciphers with less than optimal encryption.
CAUTION
104
SSL and TLS protocols support a variety of ciphers used to authenticate the server and
client to each other, transmit certificates, and establish session keys. Clients and servers
may support different cipher suites, or sets of ciphers, depending on factors such as which
protocol they support, company policies on encryption strength, and government
restrictions on export of encrypted software. Among other functions, the SSL and TLS
handshake protocols determine how the server and client negotiate which cipher suites they
will use to communicate.
Access the Administration Server and choose the Global Settings tab.
2.
3.
4.
5.
Click OK to change your port to the standard port for LDAP over SSL.
Selecting ciphers
Turning Security On
You must turn security on before you can configure the other security settings for your
connection group. You can turn security on when you create a new listen socket, or when
you edit an existing listen socket.
Chapter
105
Access the Server Manager and select the server instance the listen socket will be
created in from the drop-down list.
2.
3.
4.
5.
6.
Click OK
7.
NOTE
You will need to use the Edit Listen Sockets link to configure the security
settings after a listen socket is created.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
106
4.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you want to secure.
5.
Use the drop-down list in the Security column to turn security on for the connection
group.
6.
Click OK.
The Attributes link will now be displayed in the Security column.
7.
For the Server Manager, click Apply, and then Restart for changes to take effect.
To select a server certificate for your connection group to use, perform the following steps:
1.
Access either the Administration Server or the Server Manager and choose the
Preferences tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you are selecting a certificate for.
4.
Use the drop-down list to turn Security on for that connection group, if it is off.
5.
NOTE
6.
Select a server certificate from the drop-down CertificateName list for the connection
group.
The list contains all internal and external certificates installed.
7.
Click OK
8.
For the Server Manager, click Apply, and then Restart for changes to take effect.
Chapter
107
Selecting Ciphers
To protect the security of your web server, you should enable SSL. You can enable the SSL
2.0, SSL 3.0, and TLS encryption protocols and select the various cipher suites. SSL and
TLS can be enabled on the connection group for the Administration Server. Enabling SSL
and TLS on a connection group for the Server Manager will set those security preferences
for all virtual servers associated with that connection group.
If you wish to have unsecured virtual servers, they must all be configured to the same
connection group with security turned off.
The default settings allow the most commonly used ciphers. Unless you have a compelling
reason why you dont want to use a specific cipher suite, you should allow them all. For
more information regarding specific ciphers, see Introduction to SSL.
NOTE
Access either the Administration Server or the Server Manager and choose the
Preferences tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you are enabling security for.
4.
Use the drop-down list to turn Security on for that connection group, if it is off.
5.
Click OK.
The Attributes link now appears.
6.
NOTE
108
7.
8.
Select either:
Cipher Default
SSL2
SSL3 /TLS
(Optional) If you selected SSL2 or SSL3/TLS, in the Security Features window either:
Accept Allow and check only desired ciphers, or uncheck unwanted ciphers
NOTE
9.
Check both TLS and SSL3 for Netscape Navigator 6.0. Use the TLS
Rollback option for Microsoft Internet Explorer 5.0 and 5.5. TLS must
also be enabled on the browser seeking access to your server. For TLS
Rollback also check TLS, and make sure both SSL3 and SSL2 are
disabled.
10. Click OK
11. For the Server Manager, click Apply, and then Restart for changes to take effect.
NOTE
When you apply changes after turning on security for a connection group,
the magnus.conf file is automatically modified to show security on, and
all virtual servers associated with the connection group are automatically
assigned the default security parameters.
Once you have enabled SSL on a server, its URLs use https instead of http. URLs that
point to documents on an SSL-enabled server have this format:
https://servername.[domain.[dom]]:[port#]
Chapter
109
Access the Server Manager and select the server instance of the virtual server from the
drop-down list.
2.
3.
4.
Turn Security On for the listen socket you will set values for, if it isnt already on.
5.
Click OK.
6.
7.
Select SSL Settings from the drop-down list and click Manage.
8.
9.
SSLSessionTimeout
SSLCacheEntires
SSL3SessionTimeout
Click OK
10. Click Apply, and then Restart for changes to take effect.
SSLSessionTimeout
The SSLSessionTimeout directive controls SSL2 session caching.
Syntax
SSLSessionTimeout seconds
seconds is the number of seconds until a cached SSL session becomes invalid. The default
value is 100. If the SSLSessionTimeout directive is specified, the value of seconds is
silently constrained to be between 5 and 100 seconds.
110
SSLCacheEntries
Specifies the number of SSL sessions that can be cached.
SSL3SessionTimeout
The SSL3SessionTimeout directive controls SSL3 and TLS session caching.
Syntax
SSL3SessionTimeout seconds
seconds is the number of seconds until a cached SSL3 session becomes invalid. The
default value is 86400 (24 hours). If the SSL3SessionTimeout directive is specified, the
value of seconds is silently constrained to be between 5 and 86400 seconds.
NOTE
PKCS#11
FIPS-140
You will need to add the PKCS #11 module before activating the FIPS-140 encryption
standard.
Chapter
111
To install the PKCS#11 module using modutil, perform the following steps:
1.
Make sure all servers, including the Administration server, are turned off.
2.
3.
4.
5.
On Unix: setenv
LD_LIBRARY_PATH server_root/bin/https/lib:${LD_LIBRARY_PATH}
On IBM-AIX: LIBPATH
On HP-UX: SHLIB_PATH
You can find the PATH for your machine listed under:
server_root/https-admin/start.
6.
7.
Using pk12util
The pk12util allows you to export certificates and keys from your internal database and
to import them into an internal or external PKCS#11 module. You can always export
certificates and keys to your internal database, but most external tokens will not allow you
to export certificates and keys. By default, pk12util uses certificate and key databases
named cert7.db and key3.db.
112
2.
3.
4.
On Unix: setenv
LD_LIBRARY_PATH/server_root/bin/https/lib:${LD_LIBRARY_PATH}
On IBM-AIX: LIBPATH
On HP-UX: SHLIB_PATH
You can find the PATH for your machine listed under:
server_root/https-admin/start.
5.
6.
7.
8.
2.
3.
Chapter
113
4.
On Unix: setenv
LD_LIBRARY_PATH/server_root/bin/https/lib:${LD_LIBRARY_PATH}
On IBM-AIX: LIBPATH
On HP-UX: SHLIB_PATH
You can find the PATH for your machine listed under:
server_root/https-admin/start.
5.
6.
8.
If you install a certificate for your server into an external PKCS#11 module (for example, a
hardware accelerator), the server will not be able to start using that certificate until you edit
the server.xml, or specify the certificate name as described below.
The server always tries to start with the certificate named Server-Cert. However,
certificates in external PKCS#11 modules include one of the modules token names in their
identifier. For example, a server certificate installed on an external smartcard reader called
smartcard0 would be named smartcard0:Server-Cert.
To start a server with a certificate installed in an external module, youll need to specify the
certificate name for the connection group it runs on.
114
Access either the Administration Server or the Server Manager and choose the
Preferences tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
4.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you are enabling security for.
5.
Use the drop-down list to turn Security on for that connection group, if it is off.
6.
Click OK.
The Attributes link now appears.
7.
8.
Use the drop-down CertificateName list to select the external server certificate.
9.
Click OK
10. For the Server Manager, click Apply, and then Restart for changes to take effect.
You could also tell the server to start with that server certificate instead, by manually
editing the server.xml file. Change the servercertnickname attribute in the
SSLPARAMS to:
$TOKENNAME:Server-Cert
To find what value to use for $TOKENNAME, go to the servers Security tab and select the
Manage Certificates link. When you log in to the external module where Server-Cert is
stored, its certificates are displayed in the list in the $TOKENNAME:$NICKNAME form.
NOTE
If you did not create a trust database, one will be created for you when you
request or install a certificate for an external PKCS#11 module. The
default database created has no password and cannot be accessed. Your
external module will work, but you will not be able to request and install
server certificates. If a default database has been created without a
password, use the Security tab Create Database page to set the password.
Chapter
115
FIPS-140 Standard
PKCS#11 APIs enable communication with software or hardware modules that perform
cryptographic operations. Once PKCS#11 is installed on your server, you can configure
iPlanet Web Server to be Federal Information Processing Standards (FIPS)-140 compliant.
These libraries are included only in SSL version 3.0.
To enable FIPS-140, perform the following steps:
1.
2.
Access either the Administration Server or the Server Manager and choose the
Preferences tab.
For the Server Manager you must first select the server instance from the drop-down
list.
3.
4.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you are enabling FIPS-140 on.
5.
Use the drop-down list to turn Security on for that connection group, if it is off.
6.
Click OK.
The Attributes link now appears.
7.
8.
9.
(FIPS) Triple DES with 168 bit encryption and SHA message authentication
116
You can configure the web server to refuse any client that doesnt have a client certificate
from a trusted CA. To accept or reject trusted CAs, you must have set client trust for the
CA. For more information, see Managing Certificates, on page 113.
iPlanet Web Server will log an error, reject the certificate, and return a message to the client
if the certificate has expired. You can also view which certificates have expired in the
Administration Servers Manage Certificates page.
You can configure your server to gather information from the client certificate and match it
with a user entry in an LDAP directory. This ensures that the client has a valid certificate
and an entry in the LDAP directory. It can also ensure that the client certificate matches the
one in the LDAP directory. To learn how to do this, see Mapping Client Certificates to
LDAP, on page 125.
You can combine client certificates with access control, so that in addition to being from a
trusted CA, the user associated with the certificate must match the access control rules
(ACLs). For more information, see Using Access Control Files, on page 173.
You can also process information from client certificates. For more information, see the
NSAPI Programmers Guide for iPlanet Web Server.
Chapter
117
Access either the Administration Server or the Server Manager and choose the
Preferences tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Use the drop-down Action list to select Edit, if not already displayed, for the
connection group you are requiring client authentication for.
4.
Use the drop-down list to turn Security on for that connection group, if it is off.
5.
6.
7.
Click OK.
8.
For the Server Manager, click Apply, and then Restart for changes to take effect.
NOTE
Currently, there is a single certificate trust database per web server instance. All
the secure virtual servers running under that server instance share the same list of
trusted client CAs. If two virtual servers require different trusted CAs, then these
virtual servers should be run in different server instances with separate trust
databases.
118
Before mapping client certificates to LDAP, you also need to set up the
required ACLs; for more information, see Chapter 8, Controlling Access
to Your Server
The server tries to match the CA to the list of trusted CAs in the Administration Server. If
there isnt a match, iPlanet Web Server ends the connection. If there is a match, the server
continues processing the request.
After the verifying the certificate is from a trusted CA, the server maps the certificate to an
LDAP entry by:
Mapping the issuer and subject DN from the client certificate to a branch point in the
LDAP directory.
Searching the LDAP directory for an entry that matches the information about the
subject (end-user) of the client certificate.
(Optional) Verifying the client certificate with one in the LDAP entry that corresponds
to the DN.
The server uses a certificate mapping file called certmap.conf to determine how to do the
LDAP search. The mapping file tells the server what values to take from the client
certificate (such as the end-users name, email address, and so on). The server uses these
values to search for a user entry in the LDAP directory, but first the server needs to
determine where in the LDAP directory it needs to start its search. The certificate mapping
file also tells the server where to start.
Once the server knows where to start its search and what it needs to search for (step 1), it
performs the search in the LDAP directory (step 2). If it finds no matching entry or more
than one matching entry, and the mapping is not set to verify the certificate, the search fails.
For a complete list of the expected search result behavior, see the following Table 5-1 table.
Note that you can specify the expected behavior in the ACL; for example, you can specify
that iPlanet Web Server accepts only you if the certificate match fails. For more information
regarding how to set the ACL preferences, see Using Access Control Files, on page 173.
Table 5-1
Certificate Verification ON
No entry found
Authentication fails
Authentication fails
Authentication fails
Authentication succeeds
Authentication fails
Authorization fails
After the server finds a matching entry and certificate in the LDAP directory, it can use that
information to process the transaction. For example, some servers use certificate-to-LDAP
mapping to determine access to a server.
Chapter
119
Where in the LDAP tree the server should begin its search
What certificate attributes the server should use as search criteria when searching for
the entry in the LDAP directory
The file contains one or more named mappings, each applying to a different CA. A mapping
has the following syntax:
certmap <name> <issuerDN>
<name>:<property> [<value>]
The first line specifies a name for the entry and the attributes that form the distinguished
name found in the CA certificate. The name is arbitrary; you can define it to be whatever
you want. However, issuerDN must exactly match the issuer DN of the CA who issued the
client certificate. For example, the following two issuerDN lines differ only in the spaces
separating the attributes, but the server treats these two entries as different:
certmap iplanet1 ou=iPlanet Certificate Authority,o=iPlanet,c=US
certmap iplanet2 ou=iPlanet Certificate Authority,o=iPlanet, c=US
TIP
If you are using iPlanet Directory Server and experiencing problems in matching
the issuerDN, check the Directory Server error logs for useful information.
The second and subsequent lines in the named mapping match properties with values. The
certmap.conf file has six default properties (you can use the certificate API to customize
your own properties):
120
then determines where the server starts its search in the LDAP directory. For example,
if you set DNComps to use the o and c attributes of the DN, the server starts the search
from the o=<org>, c=<country> entry in the LDAP directory, where <org> and
<country> are replaced with values from the DN in the certificate.
Note the following situations:
If there isnt a DNComps entry in the mapping, the server uses either the
CmapLdapAttr setting or the entire subject DN in the client certificate (that is, the
end-users information).
If the DNComps entry is present but has no value, the server searches the entire
LDAP tree for entries matching the filter.
For example, if FilterComps is set to use the email and userid attributes
(FilterComps=e,uid), the server searches the directory for an entry whose values
for email and userid match the end users information gathered from the client
certificate. Email addresses and userids are good filters because they are usually unique
entries in the directory. The filter needs to be specific enough to match one and only
one entry in the LDAP database.
For a list of the x509v3 certificate attributes, see the following table:
Table 5-2
Attribute
Description
Country
Organization
cn
Common name
Location
st
State
ou
Organizational unit
uid
Unix/Linux userid
Email address
Chapter
121
The attribute names for the filters need to be attribute names from the certificate, not
from the LDAP directory. For example, some certificates have an e attribute for the
users email address; whereas LDAP calls that attribute mail.
verifycert tells the server whether it should compare the clients certificate with the
certificate found in the LDAP directory. It takes two values: on, and off. You should
only use this property if your LDAP directory contains certificates. This feature is
useful to ensure your end-users have a valid, unrevoked certificate.
CmapLdapAttr is a name for the attribute in the LDAP directory that contains subject
DNs from all certificates belonging to the user. The default for this property is
certSubjectDN. This attribute isnt a standard LDAP attribute, so to use this
property, you have to extend the LDAP schema. For more information, see
Introduction to SSL.
If this property exists in the certmap.conf file, the server searches the entire LDAP
directory for an entry whose attribute (named with this property) matches the subjects
full DN (taken from the certificate). If the search doesnt find any entries, the server
retries the search using the DNComps and FilterComps mappings.
This approach to matching a certificate to an LDAP entry is useful when its difficult to
match entries using DNComps and FilterComps.
Library is a property whose value is a pathname to a shared library or DLL. You only
need to use this property if you create your own properties using the certificate API.
For more information, see the NSAPI Programmers Guide for iPlanet Web Server..
InitFn is a property whose value is the name of an init function from a custom library.
You only need to use this property if you create your own properties using the
certificate API.
For more information on these properties, refer to the examples described in Sample
Mappings, on page 130
122
For example:
certmap default1 o=Netscape Communications, c=US
default1:library /usr/netscape/enterprise/userdb/plugin.so
default1:InitFn plugin_init_fn
default1:DNComps ou o c
default1:FilterComps l
default1:verifycert on
Sample Mappings
The certmap.conf file should have at least one entry. The following examples illustrate
the different ways you can use the certmap.conf file.
Example #1
This example represents a certmap.conf file with only one default mapping:
certmap default default
default:DNComps ou, o, c
default:FilterComps e, uid
default:verifycert on
Using this example, the server starts its search at the LDAP branch point containing the
entry ou=<orgunit>, o=<org>, c=<country> where the text in <> is replaced with the
values from the subjects DN in the client certificate.
The server then uses the values for email address and userid from the certificate to search
for a match in the LDAP directory. When it finds an entry, the server verifies the certificate
by comparing the one the client sent to the one stored in the directory.
Example #2
The following example file has two mappings: one for default and another for the US Postal
Service:
certmap default default
default:DNComps
default:FilterComps e, uid
certmap usps ou=United States Postal Service, o=usps, c=US
usps:DNComps ou,o,c
usps:FilterComps e
usps:verifycert on
Chapter
123
When the server gets a certificate from anyone other than the US Postal Service, it uses the
default mapping, which starts at the top of the LDAP tree and searches for an entry
matching the clients email and userid. If the certificate is from the US Postal Service, the
server starts its search at the LDAP branch containing the organizational unit and searches
for matching email addresses. Also note that if the certificate is from the USPS, the server
verifies the certificate; other certificates are not verified.
CAUTION
The issuer DN (that is, the CAs information) in the certificate must be
identical to the issuer DN listed in the first line of the mapping. In the
previous example, a certificate from an issuer DN that is o=United
States Postal Service,c=US wont match because there isnt a space
between the o and the c attributes.
Example #3
The following example uses the CmapLdapAttr property to search the LDAP database for
an attribute called certSubjectDN whose value exactly matches the entire subject DN
taken from the client certificate.
certmap myco ou=My Company Inc, o=myco, c=US
myco:CmapLdapAttr certSubjectDN
myco:DNComps o, c
myco:FilterComps mail, uid
myco:verifycert on
the server first searches for entries that contain the following information:
certSubjectDN=uid=Walt Whitman, o=LeavesOfGrass Inc, c=US
If one or more matching entries are found, the server proceeds to verify the entries. If no
matching entries are found, the server will use DNComps and FilterComps to search for
matching entries. In this example, the server would search for uid=Walt Whitman in all
entries under o=LeavesOfGrass Inc, c=US.
NOTE
124
This example assumes the LDAP directory contains entries with the
attribute certSubjectDN.
where <nbits> is the minimum number of bits required in the secret key, and
<filename> is the name of a file (not a URI) to be served if the restriction is not met.
PathCheck returns REQ_NOACTION if SSL is not enabled, or if the secret-keysize
parameter is not specified. If the secret key size for the current session is less than the
specified secret-keysize, the function returns REQ_ABORTED with a status of
PROTOCOL_FORBIDDEN if bong-file is not specified, or else REQ_PROCEED, and the
path variable is set to the bong-file <filename>. Also, when a key size restriction is
not met, the SSL session cache entry for the current session is invalidated, so that a full SSL
handshake will occur the next time the same client connects to the server.
NOTE
Access the Server Manager and select the server instance from the drop-down list.
2.
3.
4.
5.
Chapter
125
6.
7.
Choose to edit:
by clicking Browse
by clicking Wildcard
56 bit or larger
No restrictions
8.
9.
Click OK.
126
Limiting Ports
Chapter
127
A good password is one youll remember but others wont guess. For example, you could
remember MCi12!mo as My Child is 12 months old! A bad password is your childs
name or birthdate.
Passwords should be 6-14 characters long. (Mac passwords cannot be longer than 8
characters)
Uppercase letters
Lowercase letters
Numbers
Symbols
128
Changing Passwords
To change your trust database/key-pair file password for the Administration Server or an
server instance, perform the following steps:
1.
Access either the Administration Server or the Server Manager and choose the Security
tab.
For the Server Manager you must first select the server instance from the drop-down
list.
2.
3.
Select the security token on which you want to change the password from the
drop-down list.
By default this is internal for the internal key database. If you have PKCS#11
modules installed, you will see all the tokens listed. Click the Change Password link.
4.
5.
6.
Enter it again.
7.
Click OK.
8.
For the Server Manager, click Apply, and then Restart for changes to take effect
Make sure your key-pair file is protected. The Administration Server stores key-pair files in
the directory server_root/alias. Consider making the files and directory readable only
to iPlanet servers installed on your computer.
Its also important to know if the file is stored on backup tapes or is otherwise available for
someone to intercept. If so, you must protect your backups as completely as your server.
Chapter
129
Windows NT
Carefully consider which drives and directories you share with other machines. Also,
consider which users have accounts or Guest privileges.
Similarly, be careful about what programs you put on your server, or allow other people to
install on your server. Other peoples programs might have security holes. Worst of all,
someone might upload a malicious program designed specifically to subvert your security.
Always examine programs carefully before you allow them on your server.
Limiting Ports
Disable any ports not used on the machine. Use routers or firewall configurations to prevent
incoming connections to anything other than the absolute minimum set of ports. This means
that the only way to get a shell on the machine is to physically use the servers machine,
which should be in a restricted area already.
130
Assign proper port numbers. Make sure that the protected server and the unprotected
server are assigned different port numbers. The registered default port numbers are:
For Unix or Linux, enable the chroot feature for the document root directory. The
unprotected server should have references to its document root redirected using
chroot.
chroot allows you to create a second root directory to limit the server to specific
directories. Youd use this feature to safeguard an unprotected server. For example, you
could say that the root directory is /d1/ms. Then any time the web server tries to access the
root directory, it really gets /d1/ms. If it tries to access /dev, it gets /d1/ms/dev and so
on. This allows you to run the web server on your Unix/Linux system, without giving it
access to all the files under the actual root directory.
However, if you use chroot, you need to set up the full directory structure required by
iPlanet Web Server under the alternative root directory, as shown in the following
illustration:
Chapter
131
Figure 5-2
Access the Server Manager and select the server instance from the drop-down list.
2.
3.
4.
Make sure the Option is set to Edit for the class in which you wish to specify chroot.
5.
6.
7.
Click OK.
8.
Click Apply.
9.
132
1.
Access the Server Manager and select the server instance from the drop-down list.
2.
3.
Click on the link for the virtual server you wish to specify the chroot directory for
from the Tree View of the Server.
4.
5.
Enter the full pathname in the Set to field next to Chroot Directory.
6.
Click OK.
7.
Click Apply.
8.
You can also specify the chroot directory for a virtual server using the Class Manager
Virtual Servers tab and the CGI Settings link.
For more information regarding how to specify a chroot directory for a virtual server, see
the Programmers Guide for iPlanet Web Server.
Chapter
133
134
Chapter
This chapter describes the concept of clustering iPlanet Web server s and explains how you
can use them to share configurations among servers.
This chapter includes the following sections:
About Clusters
Setting Up a Cluster
Adding Variables
About Clusters
A cluster is a group of iPlanet Web Servers that can be administered from a single
Administration Server. Each cluster must include one server designated as the
administration server. If you have more than one cluster, you can administer all clusters
from a single master Administration Server. The master administration server retrieves
the information about all the clusters and provides the interface for managing the iPlanet
Web Servers installed in their respective clusters.
135
Here are some of the tasks you can accomplish by organizing your servers into clusters:
Start and stop all servers from one master Administration Server
View the access and error logs for the servers you selected
By clustering your iPlanet Web Servers, youre able to specify a master Administration
Server for administering all of your clusters.
NOTE
Install all of the servers on the computers where theyll run using the same
administration user name and password as the master Administration Server.
2.
Configure one of the iPlanet Web Servers in each cluster as the Administration Server.
3.
CAUTION
136
Clusters can only be homogeneous. All servers in the cluster must be either
Unix or NT. Combining Unix and NT servers in the same cluster may cause
the server to hang or crash.
Setting Up a Cluster
The following list provides some guidelines for configuring groups of servers into clusters:
Install all of the servers you want to include in a particular cluster prior to creating any
clusters.
Make sure all servers in a cluster must be version 6.0 iPlanet Web Servers.
Make sure all cluster-specific Administration Servers have the same userid and
password as the master administration server. You can use distributed administration to
set up multiple administrators on each Administration Server.
Install servers on any computer in a network, as long as all computers in the cluster are
NT or Unix.
Make sure the master Administration Server has access to each cluster-specific
Administration Server. The master Administration Server retrieves information about
all installed iPlanet Web Servers.
Make sure all Administration Servers are iPlanet Web Server version 6.0 and use the
same protocol, HTTP or HTTPS. Only iPlanet Web Server 6.0 servers are supported
for addition to clusters.
If you change the protocol of one Administration Server in a cluster, you must change
the protocols for all Administration Servers. Then use the Modify Server interface to
modify the individual servers in the cluster.
Setting Up a Cluster
To set up a iPlanet Web Server cluster, perform the following steps:
1.
Install the iPlanet Web Servers on the computers you want to include in the cluster.
Make sure the Administration Server for the cluster has a username and password that
the master Administration Server can use for authentication. You can do this either by
using the default username and password or by setting up distributed administration.
2.
Install the server that will contain the master Administration Server, making sure the
username and password matches the one set in Step 1.
3.
Chapter 6
137
4.
Administer a remote server by accessing its Server Manager forms from the cluster
form or by copying a configuration file from one server in the cluster to another.
NOTE
After changing the configuration for a remote server, restart the remote
server.
2.
Access the Administration Server and choose the Cluster Mgmt tab.
3.
4.
5.
Enter the fully qualified domain name as it appears in the magnus.conf file of the
remote server in the Admin Server Hostname field.
For example: jodib.iplanet.com
6.
138
7.
Click OK.
Your master Administration Server now attempts to contact the remote server. This can
take a few minutes. You will receive a message confirming the server is added to the
cluster.
8.
Click OK.
NOTE
If you have two or more servers on different computers that use the same
identifier, the server identifier and the hostname for each computer are
displayed. When both server identifier and hostnames are the same, the
port number is also displayed.
Go to the master Administration Server and choose the Cluster Mgmt tab.
2.
3.
5.
Click OK.
Chapter 6
139
Go to the master Administration Server and choose the Cluster Mgmt tab.
2.
3.
Click OK.
A message appears confirming that the server is removed from the cluster. You can no
longer access the removed server through the cluster; you can only access it now through
its own Administration Server.
CAUTION
140
1.
Go to the Server Manager for the master Administration Server, and choose the Cluster
Mgmt tab.
2.
Adding Variables
3.
Select Start or Stop remote servers from the drop down menu.
5.
Select View Access or View Error log records from the drop down menu and enter the
number of lines you wish to view.
6.
Select the configuration file you want to transfer in the drop down menu
b.
Select server you want to transfer it from in the drop down menu
c.
Click Transfer.
Adding Variables
Variables are used when servers in a cluster need to be configured with different values.
These values might be macros to define slaves using different port numbers, or plug-ins to
define different shlib paths.
Adding variables affects only the master cluster database. The remote administration
servers will not be affected unless their files have been transferred through Cluster Control.
When variables are defined, the Administration Server can no longer run independently.
To add variables for a remote server within your cluster, perform the following steps:
1.
From the master Administration Server, and choose the Cluster Mgmt tab.
2.
3.
4.
In the Name field enter the type of variable you are adding.
For example: Port.
5.
Chapter 6
141
Adding Variables
6.
Click OK.
A message appears confirming that the server variable has been added.
7.
Click OK.
The variable must also be added to the servers configuration file you are transferring to the
slave. For example:
SERVERPORT $Port if port was the variable added.
You can set variables with different values for each slave in the configuration file.
Once added, variables can also be edited and deleted using the drop-down Option list in the
Add Variables page.
142
Part
143
144
Chapter
This chapter describes how to configure server preferences for your iPlanet Web Server.
This chapter contains the following sections:
Restricting Access
145
The status of the server appears in the Server On/Off page. You can start and stop the server
using one of the following methods:
Use start. If you want to use this script with init, you must include the start
command http:2:respawn:server_root/type-identifier/start -start
-i in /etc/inittab. (Unix/Linux)
Use stop, which shuts down the server completely, interrupting service until it is
restarted. If you set the etc/inittab file to automatically restart (using respawn),
you must remove the line pertaining to the web server in etc/inittab before shutting
down the server; otherwise, the server automatically restarts. (Unix/Linux)
After you shut down the server, it may take a few seconds for the server to complete its
shut-down process and for the status to change to Off.
If your machine crashes or is taken offline, the server stops and any requests it was
servicing may be lost.
NOTE
If you have a security module installed with your server, you will be required to
enter the appropriate passwords before starting or stopping the server.
NOTE
On Unix, some iPlanet Web Server installations may require access to more
memory and/or file descriptors than your operating system allows by default. If
you are unable to start the server, check the resource limits imposed by your
operating system using the ulimit command. Your operating systems ulimit
man page should provide more information.
where seconds represents the number of seconds the server will wait before timing out.
146
The advantages to configuring this value is that the server will wait longer for connections
to complete. However, because servers often have connections open from nonresponsive
clients, increasing the termination timeout may increase the time it takes for the server to
shut down.
Restart it manually.
Because the installation scripts cannot edit the /etc/rc.local or /etc/inittab files,
you must edit those files with a text editor. If you do not know how to edit these files,
consult your system administrator or system documentation.
Normally, you cannot start an SSL-enabled server with either of these files because the
server requires a password before starting. Although you can start an SSL-enabled server
automatically if you keep the password in plain text in a file, this is not recommended.
CAUTION
Leaving the SSL-enabled servers password in plain text in the servers start script is
a large security risk. Anyone who can access the file has access to the SSL-enabled
servers password. Consider the security risks before keeping the SSL-enabled
servers password in plain text.
The servers start script, key pair file, and the key password should be owned by root (or, if
a non-root user installed the server, that user account), with only the owner having read and
write access to them.
Chapter
147
Using a text editor, open the start file, which is located in server_root/https-server_id.
2.
Locate the -start line in the script and insert the following:
echo "password"|
where server_root is the directory where you installed the server, and type-identifier is the
servers directory.
The -i option prevents the server from putting itself in a background process.
You must remove this line before you stop the server.
Replace server_root with the directory where you installed the server.
148
You can use the optional parameter -i at the end of the line. The -i option runs the server
in inittab mode, so that if the server process is ever killed or crashed, inittab will
restart the server for you. This option also prevents the server from putting itself in a
background process.
NOTE
If the server is already running, the start command will fail. You must stop the
server first, then use the start command. Also, if the server startup fails, you
should kill the process before trying to restart it.
Using the Services Control Panel to configure the operating system to restart the server
or the administration server each time the machine is restarted.
2.
Scroll through the list of services and select the service for your server.
3.
Check Automatic to have your computer start the server each time the computer starts
or reboots.
4.
Click OK.
NOTE
You can also use the Services dialog box to change the account the server uses. For
more information about changing the account the server uses, see Changing the
User Account (Unix/Linux), on page 50.
Chapter
149
By default, the web server prompts the administrator for the key database password before
starting up. If you want to be able to restart an unattended web server, you need to save the
password in a password.conf file. Only do this if your system is adequately protected so
that this file and the key databases are not compromised.
2.
Select your servers key (in the left side of the Registry Editor window, located in
HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Enterprise\6.0).
3.
Choose Add Value from the Edit menu. The Add Key dialog box appears.
4.
5.
6.
7.
Type the time interval (in seconds) that will elapse between startup and the time the
server can restart automatically.
The interval can be in binary, decimal, or hexadecimal format.
8.
Click the numerical format for the value you entered in the previous step (binary,
decimal, or hexadecimal).
9.
Click OK.
The MortalityTimeSecs value appears in hexadecimal format at the right side of the
Registry Editor window.
150
To turn off the debugging dialog box that appears if the server crashes, perform the
following steps:
1.
2.
Select the AeDebug key, located in the left side of the Registry window in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion.
3.
4.
2.
3.
For additional information, see the online help for the Performance Tuning page.
151
For a complete description of the magnus.conf file and information about editing the file
using a text editor, see the NSAPI Programmers Guide.
To access the Magnus Editor, perform the following steps:
1.
2.
3.
Select the settings to edit from the drop-down list and click Manage.
The Server Manager displays the editor for the settings you specified.
4.
For more information about each Settings page, see The Magnus Editor Page in the online
help.
2.
3.
152
Restricting Access
You dont need to create a separate MIME types file for each virtual server. Instead, you
create as many MIME types files as you need and associate them with a virtual server. One
MIME types file, mime.types, exists by default on the server.
To access the MIME Types page, perform the following steps:
1.
2.
3.
For more information, see The Create Mime Type Page in the online help and Chapter 13,
Using Virtual Servers.
Restricting Access
You can control access to the entire server or to parts of the server (that is, directories, files,
file types) using the Server Managers Restrict Access page. When the server evaluates an
incoming request, it determines access based on a hierarchy of rules called access-control
entries (ACEs), and then it uses the matching entries to determine if the request is allowed
or denied. Each ACE specifies whether or not the server should continue to the next ACE in
the hierarchy. The collection of ACEs is called an access-control list (ACL). When a
request comes in to the server, the server looks in vsclass.obj.conf (where vsclass is the
virtual server class name) for a reference to an ACL, which is then used to determine
access. By default, the server has one ACL file that contains multiple ACLs.
You can set access control globally for all servers through the Administration Server or for
a resource within a specific server instance through the Server Manager. For more
information about setting access control for a resource, see Setting Access Control, on
page 168 in Chapter 8, Controlling Access to Your Server.
NOTE
You must turn on distributed administration before you can restrict server access.
To restrict access to your iPlanet Web Servers, perform the following steps:
1.
2.
For more information, see Chapter 8, Controlling Access to Your Server and The Restrict
Access Page in the online help.
Chapter
153
On Windows NT, use this page only to roll back your own changes to the
configuration files. Do not roll back to backup versions created during installation;
they may not be complete.
For more information, see The Restore Configuration Page in the online help.
154
Use the following parameters to change the pool: MinThreads, MaxThreads, QueueSize,
and StackSize.
Windows NT users can always edit the settings for the native pool using the Server
Manager.
155
To configure a thread pool, go to the Server Manager Preferences tab and select Thread
Pool. Once a thread pool is configured, then the Thread Pool list will show the thread pool
available to be used for the specific service youve designated.
You can also designate a thread pool by using the pool parameter of the load-modules
function in vsclass.obj.conf, where vsclass is the virtual server class name.
pool=name_of_pool
In addition, you can use the pool parameter on any NSAPI function so that only that
NSAPI function runs on the pool you specify.
156
Chapter
This chapter discusses the various methods you can use to control access to the
Administration Server and to the files or directories on your web site. For example, for the
Administration Server, you can specify who has full control of all the servers installed on a
machine and who has partial control of one or more servers. Before you can use access
control on the Administration Server, you must enable distributed administration from and
set up an administration group in your LDAP database. This chapter assumes you have
already configured distributed administration and have defined users and groups in your
LDAP database.
You should also ensure the security of the web server as discussed in Chapter 5, Securing
Your Web Server.
This chapter contains the following sections:
157
You can control access to the entire server or to parts of the server, or the files or directories
on your web site. You create a hierarchy of rules called access control entries (ACEs) to
allow or deny access. Each ACE specifies whether or not the server should check the next
ACE in the hierarchy. The collection of ACEs you create is called an access control list
(ACL).
By default, the server has one ACL file that contains multiple ACLs. After determining the
virtual server to use for an incoming request, iPlanet Web Server checks if any ACLs are
configured for that virtual server. If ACLs are found that apply for the current request,
iPlanet Web Server evaluates their ACEs to determine whether access should be granted or
denied.
You allow or deny access based on:
158
Default
Basic
SSL
Digest
Other
Default Authentication
Default authentication is the preferred method. The Default setting uses the default method
you specify in the obj.conf file, or Basic if there is no setting in obj.conf. If you
check Default, the ACL rule doesnt specify a method in the ACL file. Choosing Default
allows you to easily change the methods for all ACLs by editing one line in the obj.conf
file.
Basic Authentication
Basic authentication requires users to enter a username and password to access your web
server or web site. It is the default setting. You must create and store a list of users and
groups in an LDAP database, such as the iPlanet Directory Server. You must use a direstory
server installed on a different server root than your web server, or a directory server
installed on a remote machine.
When users attempt to access a resource that has User-Group authentication in the
Administration Server or on your web site, the web browser displays a dialog box asking
the user to enter a username and password. The server receives this information encrypted
or unencrypted, depending on whether encryption is turned on for your server.
NOTE
Using Basic Authentication without SSL encryption, sends the username and
password in unencrypted text across the network. The network packets could be
intercepted, and the username and password could be pirated. Basic authentication
is most effective when combined with SSL encryption, Host-IP authentication, or
both. Using Digest Authentication avoids this problem.
Chapter
159
The following dialog appears when users authenticate themselves to the server:
Figure 8-1
You can customize the access denied message that unauthorized users receive in the Access
Denied Response page.
SSL Authentication
The server can confirm users identities with security certificates in two ways:
When you set the server to use certificate information for authenticating the client, the
server:
160
Checks first if the certificate is from a trusted CA. If not, the authentication fails and
the transaction is ended. To learn how to turn on client authentication, see Requiring
Client Authentication, on page 117.
Maps the certificate to a users entry using the certmap.conf file, if the certificate is
from a trusted certificate authority (CA). To learn how to set up the certificate mapping
file see Using the certmap.conf File on page 120.
Checks the ACL rules specified for that user if the certificate maps correctly. Even if
the certificate maps correctly, ACL rules can deny the user access.
Requiring client authentication for controlling access to specific resources differs from
requiring client authentication for all connections to the server. If you set the server to
require client authentication for all connections, the client only needs to present a valid
certificate issued by a trusted CA. If you set the servers access control to use the SSL
method for authentication of users and groups, the client will need to:
When you require client authentication with access control, you need to have SSL ciphers
enabled for your web server. See Chapter 5, Securing Your Web Server to learn how to
enable SSL.
In order to successfully gain access to an SSL authenticated resource, the client certificate
must be from a CA trusted by the web server. The client certificate needs to be published in
a directory server if the web servers certmap.conf file is configured to compare the
clients certificate in the browser with the client certificate in the directory server. However,
the certmap.conf file can be configured to only compare selected information from the
certificate to the directory server entry. For example, you could configure the
certmap.conf file to only compare the user ID and email address in the browser
certificate with the directory server entry. To learn more about certmap.conf and
certificate mapping, see Chapter 5, Securing Your Web Server.
NOTE
If you choose to use client certificates, you should increase the value of the
AcceptTimeout directive in magnus.conf.
Digest Authentication
Digest authentication allows the user to authenticate based on username and password
without sending the username and password as cleartext. The browser uses the MD5
algorithm to create a digest value using the user's password and some information provided
by the Web Server. This digest value is also computed on the server side using the Digest
Authentication plug-in, and compared against the digest value provided by the client. If the
digest values match, the user is authenticated.
In order for this to work, your directory server needs access to the user's password in
cleartext. iPlanet Directory Server 5.0 includes a reversible password plug-in using a
symmetric encryption algorithm to store data in an encrypted form, that can later be
decrypted to its original form. Only the Directory Server holds the key to the data.
Chapter
161
For digest authentication, you need to enable the reversible password plug-in and the
digestauth-specific plug-in included with iPlanet Web Server 6.0. To configure your web
server to process digest authentication, set the digestauth property of the database definition
in dbswitch.conf.
The server tries to authenticate against the LDAP database based upon the ACL method
specified, as shown in Table 8-1. If you do not specify an ACL method, the server will use
either digest or basic when authentication is required, or basic if authentication is not
required. This is the preferred method.
Table 8-1
Digest Authentication
Supported by Authentication
Database
default
basic
basic
basic
basic
digest
digest
ERROR
none specified
When processing an ACL with method = digest, the server attempts to authenticate by:
Checking for Authorization request header. If not found, a 401 response is generated
with a Digest challenge, and the process stops.
Checking for Authorization type. If Authentication type is Digest the server then:
162
Checks nonce. If not a valid, fresh nonce generated by this server, generates 401
response, and the process stops. If stale, generates 401 response with
stale=true, and process stops.
Checks realm. If it does not match, generates 401 response, and process stops.
Checks existence of user in LDAP directory. If not found, generates 401 response,
and process stops.
Gets request-digest value from directory server and checks for match to client's
request-digest. If not, generates 401 response, and process stops.
Constructs Authorization-Info header and inserts into server headers.
libdigest-plugin.lib
libdigest-plugin.ldif
To install the Digest Authentication plug-in on Unix, perform the following steps:
1.
Make sure this shared library resides on the same server machine that the iPlanet
Directory Server is installed on.
2.
3.
4.
Access the shared libraries in the iPlanet Web Server installation in:
[server_root]\bin\https\bin
2.
3.
nsldap32v50.dll
libspnr4.dll
libplds4.dll
\Winnt\system32
Chapter
163
2.
3.
4.
5.
6.
7.
Enter iplanetReversiblePassword.
8.
Click Save.
9.
NOTE
Other Authentication
You can create a custom authentication method using the access control API.
164
Host-IP authentication does not require DNS to be configured on your server. If you choose
to use Host-IP authentication, you must have DNS running in your network and your server
must be configured to use it. You can enable DNS on your server through the Performance
Tuning page in the Preferences tab on your Server Manager.
Enabling DNS degrades the performance of iPlanet Web Server since the server is forced to
do DNS look-ups. To reduce the effects of DNS look-ups on your servers performance,
resolve IP addresses only for access control and CGI instead of resolving the IP address for
every request. To do this, iponly=1 to AddLog fn="flex-log" name="access" in
your obj.conf file:
AddLog fn="flex-log" name="access" iponly=1
165
seconds. Setting the value to 0 (zero) turns the cache off. If you use a large number for this
value, you may need to restart iPlanet Web Server every time you make changes to the
LDAP entries. For example, if this value is set to 120 seconds, iPlanet Web Server might be
out of sync with the LDAP directory for as long as two minutes. Only set a large value if
your LDAP directory is not likely to change often.
Using the magnus.conf parameter of ACLUserCacheSize, you can configure the
maximum number of entries that can be held in the cache. The default value for this
parameter is 200. New entries are added to the head of the list, and entries at the end of this
list are recycled to make new entries when the cache reaches its maximum size.
You can also set the maximum number of group memberships that can be cached per user
entry using the magnus.conf parameter, ACLGroupCacheSize. The default value for this
parameter is 4. Unfortunately non-membership of a user in a group is not cached, and will
result in several LDAP directory accesses on every request.
For more information on ACL file directives, see the NSAPI Programmers Guide.
version 3.0;
# The following "es-internal" rules protect files such
# as icons and images related to iPlanet Web Server.
# These "es-internal" rules should not be modified.
acl "es-internal";
allow (read, list, execute,info) user = "anyone";
deny (write, delete) user = "anyone";
# The following "default" rules apply to the entire document
# directory of iPlanet Web Server. In this example, the rules
# are set up so that "all" users in the directory server are
# allowed to read, execute, list, and get information.
# The "all" users are not allowed to write to or delete any files.
# All clients that accesses the document directory of the web
# server will be required to submit a username and password
# since this example is using the "basic" method of
# authentication. A client must be in the directory server
166
acl
"path=/export/user/990628.1/docs/my_stuff/web/presentation.html"
;
authenticate (user,group) {
database = "default";
method = "basic";
prompt = "Presentation Owner";
};
deny (all)
(user = "anyone" or group = "my_group");
allow (all)
(user = "SpecificMemberOfGroupB") and
(ip = "208.12.54.76");
Chapter
167
iPlanet Web Server would first check access control for the entire server. If the ACL for the
entire server was set to continue, the server would check for an ACL for the directory
my_stuff. If an ACL exists, the server checks the ACEs within the ACL, and then moves
on to the next directory. This process continues until an ACL is found that denies access, or
until the final ACL for the requested URL (in this case, the file presentation.html) is
reached.
To set up access control for this example using the Server Manager, you could create an
ACL for the file only, or for each resource leading to the file. That is, one for the entire
server, one for the my_stuff directory, one for the my_stuff/web directory, and one for
the file.
168
Access the Administration Server and choose the Global Settings tab.
2.
3.
4.
Click either:
Create ACL
Edit ACL.
The Administration Server has two lines of default access control rules which cannot be
edited.
5.
Chapter
169
6.
To create or edit the global ACL, click on Deny in the Action column.
The Allow /Deny page is displayed in the lower frame:
Figure 8-3
7.
Select Allow, if it isnt already selected as the default, and click Update.
8.
Figure 8-4
9.
User/Group Page
Select which users and groups you will allow access to and click Update.
Clicking List for Group and User will provide lists for you to choose from.
170
Programs
13. Select the Program Groups or enter the specific file name in the Program Items field
The server will evaluate the next line before determining if the user is allowed access.
When creating multiple lines, work from the most general restrictions to the most
specific ones.
16. (Optional) Click Response when denied to direct the user to a different URL or URI.
17. Enter the path to the absolute URL or a relative URI and click update.
18. Click Submit to store the new access control rules in the ACL file.
NOTE
Clicking Revert will remove all of the settings youve just created.
Chapter
171
If deleting, you should not delete all the ACL rules from the ACL files. At
least one ACL file containing a minimum of one ACL rule is required to
start the server. Deleting all ACL rules and restarting the server will result
in a syntax error.
To create access control for a server instance, perform the following steps:
172
1.
Access the Server Manager and select the server instance you wish to create or edit
ACLs for.
2.
3.
4.
Edit and select the ACL file from the drop-down menu
Delete from the drop-down menu and select the ACL file
The Access Control List Management Page offering three options appears:
Figure 8-6
5.
Table 8-2
Resource wildcard
What it means
default
Chapter
173
Table 8-2
Resource wildcard
What it means
Entire Server
One set of rules determines the access to your entire web site,
including any virtual servers you have running. To restrict access
to a virtual server, specify the path of its document root.
/usr/iplanet/server4/
docs/cgi-bin/*
uri=/sales
6.
Figure 8-7
7.
174
8.
To create or edit the ACL for this server instance, click on Deny in the Action column.
The Allow /Deny page is displayed in the lower frame:
Figure 8-8
9.
Select Allow, if it isnt already selected as the default, and click Update.
User/Group Page
Chapter
175
11. Select which users and groups you will allow access to and click Update.
Clicking List for Group and User will provide lists for you to choose from.
12. Click on anyplace in the From Host column.
13. Enter Host Names and IP Addresses allowed access and click Update.
14. Click on all in the Rights column.
Figure 8-10
Only the following rights and check all appropriate rights for this user
16. (Optional) Click the x under the Extra column to add a customized ACL expression.
17. Put a check in the Continue column, if it isnt already selected as the default.
The server will evaluate the next line before determining if the user is allowed access.
When creating multiple lines, work from the most general restrictions to the most
specific ones.
18. (Optional) Click Response when denied to direct the user to a different URL or URI.
19. Enter the path to the absolute URL or a relative URI and click update.
176
20. Click Submit to store the new access control rules in the ACL file.
NOTE
Clicking Revert will remove all of the settings youve just created.
21. Repeat all steps above for each server instance you wish to establish access control for.
22. When finished, click Apply.
23. Select hard start /restart or dynamically apply.
ACL settings can also be enabled on a per virtual server basis. To learn how this is done, see
Editing Access Control Lists for Virtual Servers, on page 199.
The server goes through the list of access control expressions (ACEs) to determine the
access permissions. For example, the first ACE is usually to deny everyone. If the first ACE
is set to continue, the server checks the second ACE in the list, and if it matches, the next
ACE is used. If continue is not checked, everyone would be denied access to the resource.
The server continues down the list until it reaches either an ACE that doesnt match, or that
matches but is set to not continue. The last matching ACE determines if access is allowed or
denied.
Chapter
177
iPlanet Web Server checks lists of users and groups stored in an LDAP server, such as
iPlanet Directory Server.
You can allow or deny access to everyone in the database, you can allow or deny specific
people by using wildcard patterns, or you can select who to allow or deny from lists of users
and groups.
Anyone (No Authentication) is the default and means anyone can access the resource
without having to enter a username or password. However, the user might be denied
access based on other settings, such as host name or IP address. For the Administration
Server, this means that anyone in the administrators group that you specified with
distributed administration can access the pages.
Only the following people lets you specify which users and groups to match. You
can list users or groups of users individually by separating the entries with
commas, or with a wildcard pattern, or you can select from the lists of users and
groups stored in the database. Group matches all users in the groups you specify.
User matches the individual users you specify. For the Administration Server, the
users must also be in the administrators group you specified for distributed
administration.
Prompt for authentication allows you to enter message text that appears in the
authentication dialog box. You can use this text to describe what the user needs to
enter. Depending on the operating system, the user will see about the first 40 characters
of the prompt. Netscape Navigator and Netscape Communicator cache the username
and password, and associate them with the prompt text. When the user accesses files
and directories of the server having the same prompt, the usernames and passwords
wont need to be entered again. If you want users to authenticate again for specific files
and directories, you simply need to change the prompt for the ACL on that resource.
Authentication Methods specifies the method the server uses for getting
authentication information from the client. The Administration server offers only the
Basic method of authentication.
178
All in the authentication database matches any user who has an entry in the
database.
Default uses the default method you specify in the obj.conf file, or Basic if
there is no setting in obj.conf. If you check Default, the ACL rule doesnt
specify a method in the ACL file. Choosing Default allows you to easily change
the methods for all ACLs by editing one line in the obj.conf file.
Basic uses the HTTP method to get authentication information from the client. The
username and password are only encrypted if encryption is turned on for the
server.
SSL uses the client certificate to authenticate the user. To use this method, SSL
must be turned on for the server. When encryption is on, you can combine Basic
and SSL methods.
Digest uses the an authentication mechanism that provides a way for a browser to
authenticate based on username and password without sending the username and
password as cleartext. The browser uses the MD5 algorithm to create a digest
value using the users password and some information provided by the Web
Server. This digest value is also computed on the server side using the Digest
Authentication plug-in and compared against the digest value provided by the
client.
Other uses a custom method you create using the access control API.
Authentication Database lets you select a database the server will use to authenticate
users. This option is only available through the Server Manager. If you choose Default,
the server looks for users and groups in an LDAP directory. If you wish configure
individual ACLs to use different databases, select Other, and choose the database from
the drop-down list. Non-default databases and LDAP directories need to have been
specified in the file server_root/userdb/dbswitch.conf. If you use the access
control API for a custom database, such as Oracle or Informix, select Other, and enter
the database name.
Only from allows you to restrict access to specific Host Names or IP Addresses
If you select the Only from option, enter a wildcard pattern or a comma-separated list in the
Host Names or IP Addresses fields. Restricting by hostname is more flexible than by IP
address: if a users IP address changes, you wont need to update this list. Restricting by IP
address, however, is more reliable: if a DNS lookup fails for a connected client, hostname
restriction cannot be used.
You can only use the * wildcard notation for wildcard patterns that match the computers
host names or IP addresses. For example, to allow or deny all computers in a specific
domain, you would enter a wildcard pattern that matches all hosts from that domain, such as
*.iplanet.com. You can set different hostnames and IP addresses for superusers
accessing the Administration Server.
Chapter
179
For hostnames, the * must replace an entire component of the name. That is,
*.iplanet.com is acceptable, but *users.iplanet.com is not. When the * appears in a
hostname, it must be the left-most character. For example, *.iplanet.com is acceptable,
but users.*.com is not.
For the IP address, the * must replace an entire byte in the address. For example,
198.95.251.* is acceptable, but 198.95.251.3* is not. When the * appears in an IP
address, it must be the right-most character. For example, 198.* is acceptable, but not
198.*.251.30.
All Programs allows or denies access to all programs. By default administrators have
access to all programs for a server.
Only the following Program Groups allows you to specify which programs the user
has access to. Select the program from the drop-down list. You can choose multiple
program groups by pressing the Control key while clicking on the groups. You can
restrict access to the following programs groups:
None (default)
Servers
Preferences
Global Settings
Security
Cluster Mgmt
The Program Groups listed reflect the tabs of the Administration Server, for example,
Preferences and Global Settings, and represent access to those pages. When an
administrator accesses the Administration Server, the server uses their username, host,
and IP to determine what pages they can view.
180
Program Items allows you to enter a page name in the Program Items field to control
access to a specific page within a program.
To determine the name of a page, place your pointer over the link in the left frame of
the Administration Server and then view the text in the status bar on the bottom of your
browser. The last word after the last %2b is the name for that page.
For example, if you want the person who administers an iPlanet Directory Server to
have access only to the Configure Directory Service page, you would set up a rule
that applies only to them (host, IP, and so on), and enter dsconfig in the Program
Items field
Figure 8-11
All Access Rights is the default and will allow or deny all rights
Only the following rights allows you to select a particular combination of rights to be
allowed or denied
Read allows users to view files, including includes the HTTP methods GET,
HEAD, POST, and INDEX
Write allows users to change or delete files, including the HTTP methods PUT,
DELETE, MKDIR, RMDIR, and MOVE. To delete a file, a user must have both
write and delete rights
Execute allows users to execute server-side applications, such as CGI programs,
Java applets, and agents
Delete allows users who also have write privileges to delete files or directories.
List allows users to access lists of the files in directories that dont contain an
index.html file.
Info allows users to receive information about the URI, for example http_head.
Chapter
181
For more information on valid syntax and ACL files, see Appendix C, ACL File Syntax
Appendix C, ACL File Syntax and Referencing ACL Files in obj.conf, on page 398.
182
2.
3.
Enter the path to the absolute URL or a relative URI and click update.
Make sure users have access to the URL or URI they are redirected to.
4.
Click Update.
5.
Click Submit in the top frame to submit the access control rule.
Chapter
183
2.
3.
4.
5.
Pick the entire server resource, and click Edit Access Control.
6.
7.
8.
Enter a wildcard pattern for the host names of the computers to be allowed.
For example, *.employee.iplanet.com
9.
Unselect Continue.
184
1.
2.
3.
4.
5.
Browse the Pick a Resource section and select the directory you want to restrict.
The directories in the servers document root are displayed. Once selected, the Editing
drop-down list displays the absolute path to the directory.
NOTE
If you want to view all files in your server root, click Options and then check List
files as well as directories.
6.
7.
Create a new rule and leave the defaults to deny access to everyone from everywhere.
8.
Create another new rule allowing users in a specific group to have read and execute
rights only.
9.
10. Unselect Continue for the second and third lines and click Update.
11. Submit and Apply your changes.
An absolute path to the file or directory would be created in the docroot directory. The entry
in the ACL file would appear as follows:
acl path=d:\iPlanet\suitespot\docroot1\sales/;
2.
3.
4.
Enter the URI you want to restrict in the Type in the ACL name section.
For example: uri=/my_directory.
Chapter
185
5.
6.
7.
Create another new rule to allow access for the owner of the directory.
8.
9.
A path for the URI is created relative to the document root. The entry in the ACL file would
appear as follows: acl uri=/my_directory;
2.
3.
4.
Click Wildcard in the Pick a resource section and enter a wildcard pattern.
For example, *.cgi.
5.
6.
7.
Create another rule that allows write and delete access only to a specified group.
8.
For file type restriction, you would leave both continue boxes checked. If a request for a file
comes in, the server will then check the ACL for the file type first.
A Pathcheck function is created in obj.conf that may include wildcard patterns for files or
directories. The entry in the ACL file would appear as follows: acl *.cgi;
186
2.
3.
4.
Select the entire server from the drop-down list in Pick a Resource and click Edit
Access Control.
5.
6.
Create another new rule denying write and delete rights to all.
7.
8.
Enter the days of the week and the times of day to be allowed.
Example:
user = "anyone" and
dayofweek = "sat,sun" or
(timeofday >= 1800 and
timeofday <= 600)
Any errors in the custom expression will generate an error message. Make corrections and
submit again.
Chapter
187
2.
3.
4.
Select the entire server from the drop-down list in Pick a Resource and click Edit
Access Control.
5.
6.
Create another new rule denying write and delete rights to all.
7.
8.
Enter ssl=on.
Example:
user = "anyone" and ssl=on
9.
Any errors in the custom expression will generate an error message. Make corrections and
submit again.
188
Using htaccess-register
Access the Server Manager and select the server instance you wish to enable
.htaccess for.
2.
3.
4.
Chapter
189
5.
Choosing the entire server or a specific server from the drop-down list
6.
7.
Enter the file name where you want the .htaccess configuration to be added.
8.
Click OK.
9.
2.
For Unix/Linux:
Init fn=load-modules funcs=htaccess-init,htaccess-find
shlib=server_root/plugins/htaccess/htaccess.so
NativeThread=no
Init fn=htaccess-init
For HP:
Initfn=load-modules
funcs=htaccess-init,htaccess-find,htaccess-register
shlib=<server_root>/plugins/htaccess/htaccess.sl
NativeThread=no
Init fn=htaccess-init
190
3.
4.
5.
Open obj.conf.
6.
PathCheck fn="htaccess-find"
</Object>
.htaccess processing should be the last PathCheck directive in the object.
b.
7.
To activate .htaccess file processing for particular server directories, place the
PathCheck directive in the corresponding definition in magnus.conf.
To name your .htaccess files something other than .htaccess, you must specify
the filename in the PathCheck directive using the following format:
PathCheck fn="htaccess-find" filename="filename"
NOTE
The next time you use the Administration Server, you will be warned that
manual edits have been applied. Click Apply to accept your changes.
Subsequent access to the server will be subject to .htaccess access control in the
specified directories. For example, to restrict write access to .htaccess files, create a
configuration style for them, and apply access control to that configuration style. For more
information, see Chapter 17, Applying Configuration Styles.
Chapter
191
When activated, htconvert searches the given server.xml files for pfx2dir and
document-root directives. Each .nsconfig file found will be translated into an
.htaccess file. Multiple obj.conf files can be converted depending on configuration.
NOTE
The htconvert plug-in currently only supports the RestrictAccess and RequireAuth
directives, and the <Files> wrapper. If <Files> other than <Files*> are presented, the
script will give a warning and behave as though all files in the directory are to be
access-controlled.
To convert your files, at the command prompt, enter the path to Perl on your system, the
path to the plug-in script, and the path to your server.xml file. For example:
server_root\install\perl server_root/plugins/htaccess/htconvert
server_root/https-server_name/config/server.xml
All .nsconfig files are converted to .htaccess files, but not deleted.
The groups-with-users option facilitates handling large numbers of users in groups. If
you have many users in a group, follow these steps:
1.
Revise the format of the user file format to list all the groups a user belongs to:
username:password:group1,group2,group3,...groupn
2.
Revise the AuthGroupFile directive to point to the same file as the AuthUserFile.
2.
Add the following to the Init fn=htaccess-init line in the magnus.conf file:
groups-with-users="yes"
Using htaccess-register
The htaccess-register is a new function allowing you to create your own
authentication methods. Like Apache you can create external authentication modules and
plug them into the .htaccess module via htaccess-register. Two sample modules
are provided in server_root/plugins/nsapi/htaccess.
192
You can use external modules to create one or more new directives. For example, you might
specify the user database for authentication. The directives may not appear within <Limit>
or <LimitExcept> tags.
allow
Syntax
Does not need to be enclosed within a <Limit> or <LimitExcept> range but usually is.
Effect
Allows access to the specified hosts. Normally appears inside a <Limit> range.
Chapter
193
deny
Syntax
Does not need to be enclosed in a <Limit> <LimitExcept> range but usually is.
Effect
Denies access to the specified hosts. Normally appears inside a <Limit> range.
AuthGroupFile
Syntax
AuthGroupFile filename where filename is the name of file containing group definitions
Specifies that the named group file is to be used for any group definitions referenced in a
require group directive. Note that if the filename specified in an AuthGroupFile directive
is the same as the filename in an AuthUserFile directive, the file is assumed to contain
users and groups in the format:
username:DES-encrypted-password:comma-separated-list-of-groups
AuthUserFile
Syntax
AuthUserFile filename where:
194
Effect
Specifies that the named user file is to be used for any user names referenced in a require
user or require valid-user directive.
Note that the use of groups-with-users=yes in the Init fn=htaccess-init
directive in obj.conf, or specifying an AuthGroupFile directive with the same filename,
causes that file to be assumed to be in the format:
username:DES-encrypted-password:comma-separated-list-of-groups
AuthName
Syntax
AuthName authentication realm where authentication realm is a string identifying an
The authentication realm string typically appears in the prompt for username and password
on the client side. It may affect caching of username and password on the client.
AuthType
Syntax
AuthType Basic. Must not appear within a <Limit> or <LimitExcept> range.
Effect
Specifies the user authentication method as HTTP Basic Authentication, the only method
currently supported.
<Limit>
Syntax
<Limit method method ...>
allow, deny, order, or require directives
</Limit>
where method is an HTTP method such as GET, POST, or PUT. Any method that the web
server understands can be used here.
Chapter
195
Effect
Applies the enclosed directives only for requests using the specified HTTP methods.
<LimitExcept>
Syntax
<LimitExcept method method ...>
allow, deny, order, or require directives
</LimitExcept>
where method is an HTTP method such as GET, POST, or PUT. Any method that the web
server understands can be used here.
Effect
Applies the enclosed directives only for requests types not matching the specified HTTP
methods.
order
Syntax
allow, deny
deny, allow
mutual-failure
Does not need to be enclosed within a <Limit> or <LimitExcept> range, but usually is.
Effect
196
mutual-failure denies access for a host listed in both allow and deny directives,
regardless of their ordering
require
Syntax
requires valid-user
Does not need to be enclosed within a <Limit> or <LimitExcept> range, but usually is.
Effect
requires group requires the authenticated user to be a member of one of the specified
groups.
requires user requires the authenticated user to be one of the specified users.
For virtual servers to use access control you must create a reference to one or more ACL file
IDs in their aclids property. Example:
<VS aclids=standard>
Chapter
197
This configuration allows multiple virtual servers to share the same ACL file. If you want to
require user-group authentication for a virtual server, you must add one or more USERDB
tags to its definition. These USERDB tags create a connection between the database names
in your ACL file and the actual databases found in dbswitch.conf.
The following example maps the ACLs with no database attribute to the default database
in dbswitch.conf:
<VS>
<USERDB id=default database=default/>
</VS>
For every virtual server, you can define one or more USERDB blocks that point to one of the
directories, and you can define additional information. The USERDB blocks ID can be
referenced in the database parameter of the ACL. If a virtual server has no USERDB blocks,
user or group-based ACLs will fail.
USERDB tags define an additional layer of indirection between the database attribute of an
ACL and dbswitch.conf. This layer of indirection adds the necessary protection for the
server administrator to have full control over which databases virtual server administrators
have access to.
For more information on USERDB, see User DB Selection in Chapter 8 of the NSAPI
Programmers Guide.
198
Access the Server Manager and select the Virtual Server Class tab.
2.
Click on the virtual server class link where you wish to specify the LDAP database
listed under Tree View of the Server.
3.
4.
5.
6.
Choose Edit from the drop-down list in the Option column, if not already displayed.
7.
Select a database configuration from the drop-down list in the Database column of the
virtual server you are editing.
8.
Click OK.
9.
Access the Server Manager and select the Virtual Server Class tab.
2.
Click on the virtual server class link where you wish to specify the LDAP database
listed under Tree View of the Server.
Chapter
199
3.
4.
5.
Choose Edit or Delete from the drop-down list in the Option field for each virtual
server you wish to change.
6.
Click the Edit link in the ACL File field to display the available ACL files.
7.
Select one or more ACL files to add or delete for the virtual server.
A virtual server can have multiple ACL files because they may have multiple document
roots.
8.
Choose the database to associate the ACL list with from the drop-down list.
9.
200
Chapter
You can monitor your servers activity using several different methods. This
chapter discusses how to monitor your server by recording and viewing log files.
For information on using the built-performance monitoring services, quality of
service features, or SNMP, see Chapter 10, Monitoring Servers.
This chapter contains the following sections:
201
NOTE
wiley.a.com
wiley.a.com
wiley.a.com
arrow.a.com
202
Table 9-1 describes the last line of this sample access log.
+
Table 9-1
The fields in the last line of the sample access log file
Example
Hostname or IP address of
client
Username
Date/time of request
29/Mar/1999:4:36:53 -0800
Request
GET /help
Protocol
HTTP/1.0
Status code
401
Bytes transferred
571
The following is an example of an access log using the flexible logging format (you
specify the format in the Log Preferences page; see Setting Log Preferences on
page 206 for more information):
Chapter 9
203
To view the Administration Servers error log file, from the Administration Server,
choose the Preferences tab, and choose the View Error Log page.
To view a server instances error log file, from the Server Manager, choose the Logs
tab, and choose the View Error Log page.
To view an error log for an individual virtual server, from the Class Manager,
select a virtual server to manage from the highlighted Manage Virtual Servers
page, then click the link under the heading Error Log on the Virtual Server
Manager page. You can specify the number of entries to view or entries with a
conditional qualifier of your choice.
The following are two examples of entries in the error log; the first example shows
an informational message indicating successful start up of the server, the second
example indicates that the client wiley.a.com requested the file report.html, but
the file wasnt in the primary document directory on the server.
204
You can specify the time used as a basis to rotate log files and start a new log file.
For example, if the rotation start time is 12:00 a.m., and the rotation interval is 1440
minutes (one day), a new log file will be created immediately upon save regardless
of the present time and collect information until the rotation start time. The log file
will rotate every day at 12:00 a.m., and the access log will be stamped at 12:00 a.m.
and saved as access.199907152400. Likewise, if you set the interval at 240
minutes (4 hours), the 4 hour intervals begin at 12:00 a.m. such that the access log
files will contain information gathered from 12:00 a.m. to 4:00 a.m., from 4:00 a.m.
to 8:00 a.m., and so forth.
If log rotation is enabled, log file rotation starts at server startup. The first log file to
be rotated gathers information from the current time until the next rotation time.
Using the previous example, if you set your start time at 12:00 a.m. and your
rotation interval at 240 minutes, and the current time is 6:00 a.m., the first log file to
be rotated will contain the information gathered from 6:00 a.m. to 8:00 a.m, and the
next log file will contain information from 8:00 a.m. to 12:00 p.m. (noon), and so
forth.
Chapter 9
205
Once the rotation starts, iPlanet Web Server creates a new time stamped log file
when there is a request or error that needs to be logged to the access or error log file
and it occurs after the prior-scheduled next rotate time.
NOTE
You should archive the server logs before running the log analyzer.
To archive log files and to specify whether to use the Internal daemon method or
the cron based method, use the Archive Log page in the Server Manager.
2.
3.
Select the Logging Settings from the Select a Setting drop-down list and click
Manage.
4.
5.
206
1.
2.
3.
Enter a new log file location and filename in the Log File: text box.
4.
5.
Click the Vsid check box. Alternatively to this, you can click the Custom
Format: radio button and add the string %vsid%.
NOTE
When adding the custom format string %vsid%, you must use a
new access log file.
For information on the LogVsId directive in magnus.conf, see the section Error
Logging and Statistic Collection in the NSAPI Programmers Guide.
When changing the format of an existing log file, you should first delete/rename
the existing log file OR use a different file name.
Server access logs can be in Common Logfile Format, flexible log format, or your
own customizable format. The Common Logfile Format is a commonly supported
format that provides a fixed amount of information about the server. The flexible
log format allows you to choose (from iPlanet Web Server) what to log. A
customizable format uses parameter blocks that you specify to control what gets
logged. For a list of customizable format parameters, see the NSAPI Programmers
Guide.
Once an access log for a resource has been created, you cannot change its format
unless you archive it or create a new access log file for the resource.
You can specify logging preferences using the Log Preferences page in the Server
Manager, or you can manually configure the following directives in the obj.conf
(or magnus.conf) file. In magnus.conf, the server calls the function flex-init
to initialize the flexible logging system and the function flex-log to record
request-specific data in a flexible log format. To log requests using the common log
file format, the server calls init-clf to initialize the Common Log subsystem
which is used in obj.conf, and common-log to record request-specific data in the
common log format (used by most HTTP servers).
For more information on the NSAPI logging functions, including valid directives
and parameters, see the NSAPI Programmers Guide.
Chapter 9
207
208
Before running the log analyzer, you should archive the server logs.
For more information about archiving server logs, see Archiving
Log Files on page 204.
To run the log analyzer from the Server Manager, follow these steps:
1.
2.
3.
4.
Click OK.
The report appears in a new window.
For more information, see the Generate Report Page in the online help.
To analyze access log files from the command line, run the tool, flexanlg, which is
in the directory server-install/extras/flex_anlg.
To run flexanlg, type the following command and options at the command
prompt:
flexanlg [ -P ] [-n name] [-x] [-r] [-p order] [-i file]* [ -m
metafile ]* [ o file][ c opts] [-t opts] [-l opts]
Chapter 9
209
flexanlg -h.):
-P: proxy log format
Default:
-n servername: The name of the server
-x : Output in HTML
Default:
-r : Resolve IP addresses to hostnames
Default:
-p [c,t,l]: Output order (counts, time stats, lists) Default:
-i filename: Input log file(s)
Default:
-o filename: Output log file
Default:
-m filename: Meta file(s)
Default:
-c [h,n,r,f,e,u,o,k,c,z]: Count these item(s) Default:
h: total hits
n: 304 Not Modified status codes (Use Local Copy)
r: 302 Found status codes (Redirects)
f: 404 Not Found status codes (Document Not Found)
e: 500 Server Error status codes (Misconfiguration)
u: total unique URLs
o: total unique hosts
k: total kilobytes transferred
c: total kilobytes saved by caches
z: Do not count any items.
-t [sx,mx,hx, xx,z]: Find general stats - Default:s5m5h24x10
s(number): Find top (number) seconds of log
m(number): Find top (number) minutes of log
h(number): Find top (number) hours of log
u(number): Find top (number) users of log
a(number): Find top (number) user agents of log
r(number): Find top (number) referers of log
x(number): Find top (number) for miscellaneous keywords
z: Do not find any general stats.
-l [cx,hx]: Make a list of - Default: c+3h5
c(x,+x): Most commonly accessed URLs
(x: Only list x entries)
(+x: Only list if accessed more than x times)
h(x,+x): Hosts (or IP addresses) most often accessing your
(x: Only list x entries)
(+x: Only list if accessed more than x times)
z: Do not make any lists
210
no
no
no
ctl
none
stdout
none
hnreuokc
server
From the Start menu, select Programs and then Administrative Tools. Choose
Event Viewer in the Administrative Tools program group.
2.
The Application log appears in the Event Viewer. Errors from iPlanet Web Server
has a source label of https-serverid or WebServer6.0.
3.
Choose Find from the View menu to search for one of these labels in the log.
Choose Refresh from the View menu to see updated log entries.
For more information about the Event Viewer, consult your system
documentation.
Chapter 9
211
212
Chapter
10
Monitoring Servers
This chapter contains information on ways to monitor your server, including the built-in
monitoring tool, the quality of service features, and Simple Network Management Protocol
(SNMP).
You can use SNMP together with iPlanet management information bases (MIB) and
network management software such as HP OpenView to monitor your servers in real-time
just as you monitor other devices in your network. If youre using Windows NT, SNMP is
built in and already enabled.
You can view the servers status in real time by using the statistics feature or the SNMP. If
youre using Unix or Linux, you must configure your iPlanet server for SNMP if you plan
to use it. This chapter provides the information you need to use SNMP on Unix or Linux
with your iPlanet server.
The following topics are included in this chapter:
SNMP Basics
Setting Up SNMP
213
connections
DNS
KeepAlive
cache
virtual servers
For a description of the various server statistics for which the interactive server monitor
reports the totals, see the Monitor Current Activity page in the online help.
CAUTION
Enabling Statistics
To enable statistics, follow these steps:
214
1.
2.
3.
4.
Click OK.
5.
Click Apply to apply your changes. You do not need to restart the server.
Using Statistics
Once youve enabled statistics, you can get a variety of information on how your server
instance and your virtual servers are running. The statistics are broken up into functional
areas.
To access statistics, follow these steps:
1.
2.
3.
4.
From the pull-down list, choose the kind of statistics you want displayed.
5.
Click OK.
If your server instance is running, and you have enabled statistics/profiling, you see a
page displaying the kind of statistics you selected. The page is updated every 5-15
seconds, depending upon what you chose for the poll interval.
You can use the data you see in statistics to tune your server. For more information, see the
online Performance Tuning and Sizing Guide on
http://docs.iplanet.com/docs/manuals/enterprise.html.
Chapter
10
Monitoring Servers
215
You can enable these settings for the entire server or for a class of virtual servers in the
Server Manager from the Monitor tab. However, you can override these server or
class-level settings for an individual virtual server. For more information on setting quality
of service limits for an individual server, see Configuring Virtual Server Quality of Service
Settings, on page 322.
Two settings govern how traffic is counted and how often the bandwidth is recomputed: the
recompute interval and the metric interval. The recompute is how often (in milliseconds)
the bandwidth is computed. The metric interval is the period of time for which data is used
in traffic calculations.
This section includes the following topics:
216
At 1 second, the bandwidth is calculated for the 10th time (1000 milliseconds/ 100
milliseconds). The total traffic is 5000 bytes, which is divided by 30 seconds. The
bandwidth is 5000/30 = 166 bytes per second.
At 30 seconds, the bandwidth is calculated for the 300th time. The total traffic is 5000
bytes, which is divided by 30 seconds. The bandwidth is 5000/30 = 166 bytes per second.
At 32 seconds, the bandwidth is computed again for the 320th time. The traffic is now 0
(since the one connection that generated traffic is too old to be counted), divided by 30,
gives a bandwidth of 0 bytes/second.
2.
3.
4.
5.
Chapter
10
Monitoring Servers
217
If your site has a lot of large file transfers, use a large value (several minutes or more)
or this field. A large file transfer might take up all the allowed bandwidth for a short
metric interval, and result in connections being denied if youve enforced the
maximum bandwidth setting. Since the bandwidth is averaged by the metric interval, a
longer interval smooths out spikes caused by large files.
If the bandwidth limit is much lower than available bandwidth (for example, 1
MB-per-second bandwidth limit but with a 1 GB-per-second connection to the
backbone), the metric interval should be shortened.
Please note that if you have large static file transfers and a bandwidth limit that is much
lower than available bandwidth, you have to decide which situation to tune for, since
the problems require opposite solutions.
6.
Enable quality of service for the server instance and/or the virtual server classes.
The lower portion of the screen lists the server instance and server classes. Choose
Enable as the action next to the items for which you want to enable quality of service.
7.
8.
9.
If you choose to enforce the maximum connections, once the server reaches its limit
additional connections are refused.
11. If you do not enforce the maximum connections, when the maximum is exceeded the
The qos-handler AuthTrans directive must be the first AuthTrans configured in the
default object in order to work properly. The role of the quality of service handler is to
examine the current statistics for the virtual server, virtual server class, and global server,
and enforce the limits by returning an error.
iPlanet Web Server includes a built-in sample quality of service handler SAF, called
qos-handler. This SAF logs when limits are reached, and returns 503 "Server busy" to
the server so that it can be processed by NSAPI.
iPlanet Web Server also includes a built-in sample error SAF called qos-error which
returns an error page stating which limits caused the 503 error and the value of the statistic
that triggered the limit. You may want to alter the sample code to provide different error
information.
These samples are available at server_root/plugins/nsapi/examples/qos.c. You can use
these samples, or you can write your own SAFs.
For more information on these SAFs and how to use them, see the NSAPI Programmers
Guide.
The connection or bandwidth statistics are not shared across server processes because
of performance. In other words, the setting of MaxProc is not accounted for. So all the
limits apply individually to a server process, not to the aggregate of all processes. For
more information on MaxProcs and multiple processes, see the online Performance
Tuning and Sizing Guide on
http://docs.iplanet.com/docs/manuals/enterprise.html.
The quality of service features only measure the HTTP bandwidth at the application
level. The HTTP bandwidth can differ from the actual TCP network bandwidth for a
variety of reasons:
If SSL is enabled, handshakes and client certificate exchanges add to the traffic but
are not measured.
If chunked encoding is enabled in either or both directions, the chunking layer
removes the chunk headers and they are not counted in the traffic. Other headers or
protocol items are counted.
10
Monitoring Servers
219
the size of a buffer and the I/O call returns quickly. This works very well to measure
the instantaneous bandwidth of dynamic content applications. However, because the
amount of data transferred from PR_TransmitFile is only known at the end of the
transfer, it cant be measured before it completes.
If the PR_TransmitFile is short, then the quality of service features will perform
adequately. However, If the PR_TransmitFile is long, such as in the case of a long
file downloaded by a dialup user, the whole amount of data transferred will be counted
at completion time. When the bandwidth manager recomputes bandwidth after the next
recompute interval period starts, the bandwidth computed will go up significantly
because of that recent large PR_TransmitFile. This case could cause the server to
deny all requests until the next metric interval, when the bandwidth manager will
"expire" the transmit file operation, since it is too old, and thus the bandwidth value
will go back down. If your site has a lot of very long static file downloads , the you
should increase the metric interval from the default 30 seconds.
The quality of service bandwidth statistics are lost whenever the server is reconfigured
dynamically. In addition, the quality of service limitations are not enforced in threads
that have connections on an older, inactive configuration, because the bandwidth
manager thread only computes bandwidth statistics for the active configuration.
Potentially, a client that doesnt close its socket for a long time and remains active so
that the server doesnt time it out would not be subject to the quality of service
limitations after a server dynamic reconfiguration.
The concurrent connections are computed with a different granularity for virtual
servers than for virtual server classes and the global server instance. The connection
counter for an individual virtual server is incremented atomically immediately after the
request is parsed and routed to the virtual server. It is also decremented atomically at
the end of the response processing for that request. This means that the virtual server
connection statistics are always exact at any instant.
However, the connection statistics for the virtual server class and global server instance
are not updated instantly. They are updated by the bandwidth manager thread every
recompute interval. The connection count for the virtual server class is the sum of the
connections on all virtual servers of that class; and the global server instance
connection count is the sum of connections on all virtual server classes.
220
SNMP Basics
Because of the way these values are computed, the number of connections for a virtual
server is always correct (and if youve enforced a limit to the number of connections,
you can never have more than the limit), and the virtual server class and server instance
values are not quite as accurate, since theyre only computed at intervals.
SNMP Basics
SNMP is a protocol used to exchange data about network activity. With SNMP, data travels
between a managed device and a network management station (NMS). A managed device is
anything that runs SNMP: hosts, routers, your web server, and other servers on your
network. The NMS is a machine used to remotely manage that network. Usually, the NMS
software will provide a graph to display collected data or use that data to make sure the
server is operating within a particular tolerance.
The NMS is usually a powerful workstation with one or more network management
applications installed. A network management application such as HP OpenView
graphically shows information about managed devices, such as your web servers. For
example, it might show which servers in your enterprise are up or down, or the number and
type of error messages received. When you use SNMP with an iPlanet server, this
information is transferred between the NMS and the server through the use of two types of
agents, the subagent and the master agent.
The subagent gathers information about the server and passes the information to the
servers master agent. Every iPlanet server, except for the Administration Server, has as
subagent.
NOTE
After making any SNMP configuration changes, you must click the Apply button,
then restart SNMP subagent.
The master agent exchanges information between the various subagents and the NMS. The
master agent is installed with the Administration Server.
You can have multiple subagents installed on a host computer, but only one master agent.
For example, if you had Directory Server, iPlanet Web Server, and the Messaging Server
installed on the same host, the subagents for each of the servers would communicate with
the same master agent.
Chapter
10
Monitoring Servers
221
server_root/plugins/snmp directory.
You can see administrative information about your web server and monitor the server in
real time using the iPlanet Web Server MIB. Table 10-1 lists and describes the managed
objects stored in the iws.mib.
Table 10-1 iws.mib managed objects and descriptions
222
Managed object
Description
iwsInstanceTable
iwsInstanceEntry
iwsInstanceIndex
iwsInstanceId
Description
iwsInstanceVersion
String, such as
iPlanet-WebServer-Enterprise/
6.0 BB1-01/24/2001 17:15
(SunOS DOMESTIC)
iwsInstanceDescription
iwsInstanceOrganization
iwsInstanceContact
iwsInstanceLocation
iwsInstanceStatus
iwsInstanceUptime
iwsInstanceDeathCount
iwsInstanceRequests
iwsInstanceInOctets
iwsInstanceOutOctets
iwsInstanceCount2xx
iwsInstanceCount3xx
iwsInstanceCount4xx
iwsInstanceCount5xx
iwsInstanceCountOther
iwsInstanceCount302
Chapter
10
Monitoring Servers
223
224
Managed object
Description
iwsInstanceCount304
iwsInstanceCount400
iwsInstanceCount401
iwsInstanceCount403
iwsInstanceCount404
iwsVsTable
iwsVsEntry
iwsVsIndex
iwsVsId
iwsVsRequests
iwsVsInOctets
iwsVsOutOctets
iwsVsCount2xx
iwsVsCount3xx
iwsVsCount4xx
iwsVsCount5xx
iwsVsCountOther
iwsVsCount302
iwsVsCount304
Description
iwsVsCount400
iwsVsCount401
iwsVsCount403
iwsVsCount404
iwsProcessTable
iwsProcessEntry
iwsProcessIndex
Process index.
iwsProcessId
iwsProcessThreadCount
iwsProcessThreadIdle
iwsProcessConnectionQueueCount
iwsProcessConnectionQueuePeak
iwsProcessConnectionQueueMax
iwsProcessConnectionQueueTotal
iwsProcessConnectionQueueOverflows
iwsProcessKeepaliveCount
iwsProcessKeepaliveMax
iwsListenTable
iwsListenEntry
iwsListenIndex
iwsListenId
Chapter
10
Monitoring Servers
225
Setting Up SNMP
Description
iwsListenAddress
iwsListenPort
iwsListenSecurity
Encryption support.
iwsThreadPoolTable
iwsThreadPoolEntry
iwsThreadPoolIndex
iwsThreadPoolEntry
iwsThreadPoolEntry
iwsThreadPoolEntry
iwsThreadPoolEntry
iwsInstanceStatusChange
An iwsInstanceStatusChange trap
signifies that iwsInstanceStatus has
changed.
iwsVsCount503
iwsInstanceCount503
Setting Up SNMP
In general, to use SNMP you must have a master agent and at least one subagent installed
and running on a your system. You need to install the master agent before you can enable a
subagent.
The procedures for setting up SNMP are different depending upon your system. Table 8.1
provides an overview of procedures you will follow for different situations. The actual
procedures are described in detail later in the chapter.
226
Setting Up SNMP
Is your system already running an SNMP agent (an agent native to your operating
system)?
If so, does your native SNMP agent support SMUX communication? (If youre using
the AIX platform, your system supports SMUX.)
See your system documentation for information on how to verify this information.
NOTE
(Windows NT) Restart the Windows SNMP service or reboot the machine.
(Unix) Restart the SNMP master agent using the Administration Server.
No SMUX
No SMUX
Chapter
10
Monitoring Servers
227
SMUX supported
To use a proxy agent, youll need to install it and then start it. Youll also have to
restart the native SNMP master agent using a port number other than the one the
iPlanet Web Server master agent is running on.
228
1.
Install the SNMP master agent. See Installing the SNMP Master Agent on page 230.
2.
Install and start the proxy SNMP agent and restart the native SNMP daemon. See
Using a Proxy SNMP Agent (Unix/Linux) on page 228.
3.
Start the SNMP master agent. See Enabling and Starting the SNMP Master Agent on
page 231.
4.
To install the SNMP proxy agent, edit the CONFIG file (you can give this file a different
name), located in plugins/snmp/sagt in the server root directory, so that it includes the
port that the SNMP daemon will listen to. It also needs to include the MIB trees and traps
that the proxy SNMP agent will forward.
Here is an example of a CONFIG file:
where port_number is the port number specified in the CONFIG file. For example, on the
Solaris platform, using the port in the previously mentioned example of a CONFIG file,
youd enter:
# snmpd -P 1161
Chapter
10
Monitoring Servers
229
IP_address is the IP address of the host the subagent is running on, and net_mask is the
network mask of that host.
NOTE
Do not use the loopback address 127.0.0.1; use the real IP address instead.
Log in as root.
2.
230
3.
4.
In the Server Manager, choose the SNMP Master Agent Trap page from the Global
Settings tab. The Manager Entries page appears.
5.
Type the name of the system that is running your network management software.
6.
Type the port number at which your network management system listens for traps.
(The well-known port is 162.) For more information on traps, see Configuring Trap
Destinations on page 236.
7.
Type the community string you want to use in the trap. For more information on
community strings, see Configuring the Community String on page 236.
8.
Click OK.
9.
In the Server Manager, the SNMP Master Agent Community page from the choose
Global Settings tab. The Community Strings page appears.
Chapter
10
Monitoring Servers
231
2.
The master agent will then start on the desired port. However, the user interface will be able
to detect that the master agent is running.
Log in as superuser.
2.
3.
Edit the CONFIG file located in plugins/snmp/magt in the server root directory.
4.
232
COMMUNITY
public
ALLOW ALL OPERATIONS
MANAGER
manager_station_name
SEND ALL TRAPS TO PORT 162
WITH COMMUNITY public
COMMUNITY
public
ALLOW ALL OPERATIONS
MANAGER
nms2
SEND ALL TRAPS TO PORT 162
WITH COMMUNITY public
INITIAL
sysLocation Server room
501 East Middlefield Road
Mountain View, CA 94043
USA
INITIAL
sysContact John Doe
email: [email protected]
Chapter
10
Monitoring Servers
233
Log in as root.
2.
3.
4.
From the Administration Server, choose the Global Settings tab and click the SNMP
Master Agent Trap link to go to the SNMP Master Agent Control page. The Manager
Entries page appears. Complete the following information:
Manager Station. Enter a valid system name or an IP address for the NMS.
Trap Port. Enter the port number the NMS uses to listen for traps
With Community. Enter a community string you want to use for authorization. A
common default string is public.
5.
Click the SNMP Master Community link. The Community Strings page appears. Enter
the following community information:
Community. Specifies the name of the community you want to use for authentication.
A common default string is public.
Operation. Specifies the permissions for the new community. Choose from the
following:
Allow All Operations. Allows this community string to request data or reply to
messages, and set variable values.
Allow GET Operations. Allow this community string to only request messages or
reply to messages, and not set variables.
Allow ALL Operations. Allows this community string to only set variable values.
234
The INIT file is a nonvolatile file that contains information from the MIB-II system group,
including system location and contact information. If INIT doesnt already exist, starting
the master agent for the first time will create it. An invalid manager name in the CONFIG file
will cause the master agent start-up to fail.
To start a master agent on a nonstandard port, use one of two methods:
Method one: In the CONFIG file, specify a transport mapping for each interface over which
the master agent listens for SNMP requests from managers. Transport mappings allow the
master agent to accept connections at the standard port and at a nonstandard port. The
master agent can also accept SNMP traffic at a nonstandard port. The maximum number of
concurrent SNMP is limited by your target systems limits on the number of open sockets or
file descriptors per process. Here is an example of a transport mapping entry:
TRANSPORT
extraordinary
SNMP
OVER UDP SOCKET
AT PORT 11161
After editing the CONFIG file manually, you should start the master agent manually by
typing the following at the command prompt:
# magt CONFIG INIT&
Method two: Edit the /etc/services file to allow the master agent to accept connections
at the standard port as well as a nonstandard port.
2.
In the Server Manager, choose the SNMP Master Agent Control page from the Global
Settings tab. The SNMP Master Agent Control page appears.
3.
Click Start.
You can also stop and restart the SNMP master agent from the SNMP Master Agent
Control page.
Chapter
10
Monitoring Servers
235
To enable the SNMP subagent, use the SNMP Configuration page in the Server Manager,
and start the subagent from the SNMP Subagent Control page. For more information, see
the corresponding sections in the online help.
Once you have enabled the subagent, you can start, stop or restart it from the SNMP
Subagent Control page or the Services Control Panel for Windows NT.
NOTE
After making any SNMP configuration changes, you must click the Apply button,
then restart SNMP subagent.
The NMS sends a message to the Administration Server master agent. The message
might be a request for data (a GET message), or an instruction to set a variable in the
MIB (a SET message).
2.
3.
The subagent retrieves the data or changes the variable in the MIB.
4.
The subagent reports data or status to the master agent, and then the master agent
forwards the message back (a GET message) to the NMS.
5.
The NMS displays the data textually or graphically through its network management
application.
Chapter
10
Monitoring Servers
237
238
1.
The subagent informs the master agent that the server has stopped.
2.
The master agent sends a message or trap reporting the event to the NMS.
3.
The NMS displays the information textually or graphically through its network
management application.
Chapter
11
For information on performance tuning, see the online Performance Tuning and Sizing
Guide on http://docs.iplanet.com/docs/manuals/enterprise.html.
239
240
Chapter
12
Using Search
The iPlanet Web Server search function allows you to search the contents and attributes of
documents on the server. As the server administrator, you can create a customized text
search interface tailored to your user community.
NOTE
About Search
About Search
Server documents can be in a variety of formats, such as HTML, Microsoft Excel, Adobe
PDF, and WordPerfect, provided that there is a conversion filter available for a particular
file format. With the filters, the server converts the documents into HTML as it indexes
them, allowing you to use your web browser to view the documents found for your search.
For more information, see About Collections on page 251.
241
Users can search through server documents for a specific word or attribute value, obtaining
a set of search results that list all documents that match the query. They can then select a
document from the list to browse it in its entirety. This provides easy access to server
content.
As the server administrator you can:
Restrict which users and groups are authorized to use text search
Modify the configuration files that govern how text search operates
Collection-specific
242
Mapping URLs
Mapping URLs
When users search through a collections files, the resulting documents use a partial
Uniform Resource Identifier (URI), to identify them. This security feature prevents users
from knowing the complete physical pathname for a file. A URI is set up by mapping a
URL to an additional document directory.
For example, if the path for a file is:
server_root/Docs/marketing/bizplans/planB.doc
Chapter
12
Using Search
243
you could prevent users from seeing all but the last directory by defining a URL prefix of
plans and mapping it to:
server_root/Docs/marketing/bizplans
From then on, users need only enter /plans/planB.doc to locate the file. For more
information, see Chapter 16, Content Management.
NOTE
By default, URLs that are redirected are always escaped. To prevent this, add
escape="no". For example:
NameTrans fn="redirect" from="/foobar"
url-prefix="index.html" escape="no"
/ (slash) the primary document directory (sometimes called the document root),
which initially maps to server_root/docs
When creating a collection, you must specify which document directory to index. You can
only choose a directory that has a URL mapping, or a subdirectory within such a mapped
directory. You can create your own mappings to define specific directories.
To map a URL, perform the following steps:
1.
Open the Class Manager and select the server instance from the drop-down list.
2.
3.
4.
URL prefix.
For example: plans.
Absolute physical path of the directory you want the URL mapped to.
For example:
C:/iPlanet/Servers/docs/marketing/plans
5.
244
Click OK.
6.
Click Apply.
7.
Edit one of the current additional directories listed by selecting one of the following:
Edit
Remove
8.
If editing, select edit next to the listed directory you wish to change.
9.
10. (Optional) Select a style in the Apply Style drop-down list if you want to apply a style
to the directory:
For more information about styles, seeChapter 17, Applying Configuration Styles
11. Click OK to add the new document directory.
12. Click Apply.
13. Choose Apply Changes to hard start /restart your server.
NOTE
Chapter
12
Using Search
245
character, and plus notation (+) to indicate repeats. For example, the style.stp file might
contain the following lines:
........................................+
at
and
be
[0-9a-zA-Z]
[0-9][0-9][0-9][0-9]+
In this example, the first line of periods (in the file by default) indicates that words with 40
or more characters are not to be indexed, as well as the words at, and, and be. [0-9a-zA-Z]
indicates that all one letter words are not to be indexed. [0-9][0-9][0-9][0-9]+ indicates that
all integers with four or more digits are not to be indexed.
The words you specify are case sensitive, so you need to enter all the case variations of a
word. For instance, for the you should enter the, THE, and The.
If you want to use stop words, make sure you create the style.stp file before you create a
collection. Changing the style.stp file after a collection has been created, requires you
to:
1.
2.
3.
4.
246
2.
3.
Enter the default maximum number of search result items displayed to users at a time in
the Default Result Set Size field.
This number cannot be larger than the value for the largest possible result set size, as
defined in Step 4. The default is 20.
4.
Enter the maximum number of items in a result set in the Largest Possible Result Set
Size field.
The default is 5000. If you enter 250 as the value, and 1000 documents were found
matching the search criteria, users would only have access to either the first 250 or the
250 top-ranked documents.
5.
6.
Enter a default HTML title to be used when a title tag has not been included with an
HTML document.
The typical HTML default is (Untitled) and appears in the search results page for
HTML files.
7.
Choose Yes to check access permissions on collection root before doing a search if you
want to restrict access to the server.
8.
Choose Yes to check access permissions on search results if you want to restrict access
to search results.
9.
%a
%A
Chapter
12
Using Search
247
%b
%B
%c
%d
%H
%m
%M
%x
Date
%X
Time
%y
%Y
2.
248
3.
Enter the absolute path for the directory where your pattern files are stored.
The default start (header), end (footer), and query page pattern files are located in this
directory.
4.
Enter the relative pathname for the Default Start Pattern File.
This entry defines the top of the search results page when a collection has no defined
header file, or when more than one collection is being searched.
5.
Enter the relative pathname for the Default End Pattern File.
This entry defines the footer of the search results page when for a collection has no
defined footer file, or when more than one collection is being searched.
6.
Enter the relative pathname for the Pattern File for Query Page.
This entry defines the search query page that appears when the search function is
started.
7.
8.
Click Apply.
9.
Chapter
12
Using Search
249
You can customize a search interface for all your pattern files by creating and defining
your own pattern variables in the userdefs.ini file. For more information, see
User-defined Pattern Variables on page 283.
The server default uses all of the available system memory. Typically you need to limit the
RAM used for indexing if:
The server is installed on a machine that has less than the suggested minimum RAM
250
An indexing operation typically requires approximately 1.5MB per file, and since there are
two files, one of which is temporary, you may need as much as 3MB of disk space for
indexing. Setting the file size to 1.5MB per file puts a cap on how large each file can
become.
About Collections
Configuring a Collection
Updating a Collection
Maintaining a Collection
About Collections
When your server administrator indexes all or some of a servers documents, information
about the documents is stored in a collection. Collections contain such information as:
Searchable attributes
Chapter
12
Using Search
251
Collections status
HTML
ASCII
News
During indexing, this definition determines which attributes are indexed, and whether any
file conversion is needed.
You can index all the files in a directory, or only those with a specific extension, for
example HTML, or PDF.
A collection has records with information about each document that has been indexed. If the
document is deleted from the collection, only the collections entry for that document is
removed. The original document is not deleted.
When you have multiple server instances, a collection is only associated with the server
instance where it was created. Users can only search collections within that server instance.
Attribute
Type
Description
ASCII
(none)
HTML
Title
text
SourceType
text
From
text
NEWS
252
Table 12-2 The Default Attributes Indexed for Each File Format (Continued)
Subject
text
Keywords
text
Date
date
From
text
To
text
Subject
text
Date
date
InstanceID
text
An internal ID number.
PermanentID
text
An internal ID number.
NumPages
integer
DirID
text
FTS_ModificationDate
date
FTS_CreationDate
date
WXEVersion
integer
FileName
text
FTS_Title
text
FTS_Subject
text
FTS_Author
text
FTS_Creator
text
FTS_Producer
text
FTS_Keywords
text
PageMap
text
By default, HTML collections have Title and SourceType attributes, but they can be
indexed to permit searching and sorting by up to 30 file attributes tagged with the HTML
<META> tag. You can change the maximum settings for file attributes as discussed in
Adjusting the Maximum Number of Attributes on page 250.
Chapter
12
Using Search
253
If this document was indexed with its META tags extracted, you could search it for specific
values in the writer or product fields. For example, you could enter this query: Writer
<contains> Hunter or Song <contains> Blue.
NOTE
Attribute values in META-tagged fields are text strings only, which means that all
numeric values, such as date and time, are sorted as text. Any illegal HTML
characters in a META-tagged attribute are replaced with a hyphen.
254
NOTE
You need to have at least 3MB of available disk space on your system to
create a collection. For information on how you can restrict the size of the
index files, see Restricting Your Index File Size on page 250.
Access the Server Manager and select the server to create a collection for form the
drop-down list.
2.
3.
The current document directory from the The Directory to Index field
For more information about additional document directories, see Mapping URLs on
page 243.
4.
Accept the default *.html for the Documents Matching field, or define your own
wildcard expression.
You can define multiple wildcards in an expression. For example:
(*.htm|*.html or *(.htm|.html)
For details of the syntax for wildcard patterns, see Using Wildcards on page 276.
NOTE
You cannot index a file that includes a semi-colon (;) in its name. Rename these
files.
5.
Choose Yes to include subdirectories within the specified directory in the index.
6.
Chapter
12
Using Search
255
NOTE
7.
Do not use accented characters in the collection name. If you need accented
characters, exclude the accents from the collection name, but use them in the label.
The label is displayed to the user from the search interface.
(Optional) Enter a user-defined name for your collection in the Collection Label field.
This name is displayed when users perform a text search. Make your collections label
as descriptive and relevant as possible. You can use any characters except single or
double quotation marks, up to a maximum of 128 characters.
8.
9.
ASCII
HTML
News
10. Select whether or not to extract META-tagged attributes from HTML files during
indexing.
Only select this option for HTML collections. Extracting these attributes allows you to
search their values. You can index a maximum of 30 different user-defined META tags
in a document.
11. Choose the collections language from the drop-down list.
NOTE
256
Once you begin indexing a collection, you cannot stop the process until either the
indexing is complete, or you reboot the system. Shutting down your server does
not kill the process.
Configuring a Collection
After you have created a collection you can modify some of its initial settings. These
settings reside in the collection information file, dblist.ini. When you reconfigure a
collection the dblist.ini file is updated to reflect your changes. For more information
about the configuration files, see Configuring Files Manually on page 249. You can
modify your settings to:
Access the Server Manager and select the server instance from the drop-down list that
the collection is in.
2.
3.
4.
Chapter
12
Using Search
257
5.
The HTML tagging the server will use when highlighting a search query word or
phrase in a displayed document in the Highlight Begin and Highlight End fields.
The default is bold, with the <b> and </b> tags, but you can add to this or change it.
For example, you could add <blink><FONT COLOR = #FF0000> and the
corresponding </blink></FONT> to highlight with blinking bold red text.
6.
7.
Define or change the default pattern files for displaying the search results for:
Header
Footer
Record
8.
Enter or change the name of the pattern file displaying a single highlighted document
from the list of search results in the Result Pattern File field.
9.
10. When the server finishes configuring the collection, click Apply.
11. Choose Apply Changes to hard start /restart your server.
Updating a Collection
After you have created a collection, you may want to add or remove files. When adding
documents, the file contents are indexed and converted, if necessary. If you are removing
documents, the entries for the files are removed from the collection along with their
metadata. The original documents are not affected, only their entries in the collection.
NOTE
258
If you selected the Extract Metatags option when you created a collection, then the
META-tagged HTML attributes are indexed whenever you add new documents to
it.
Access the Server Manager and select the server instance from the drop-down list that
the collection is in.
2.
3.
4.
5.
Enter a single filename, or use wildcards to specify the type of files you want added or
removed from the collection in the Documents Matching field.
Entering a wildcard such as *.html, allows only files with this extension to be
updated. For files within a subdirectory enter the pathname as it appears in the list of
files. For example: frenchDocs/*.html
CAUTION
6.
7.
Click either:
8.
Click Apply.
9.
Maintaining a Collection
Periodically, you may want to maintain your collections. With normal usage, these tasks
may not be necessary, unless you index and update collections frequently.
Chapter
12
Using Search
259
ReindexYou can reindex a collection. Each file that already has an entry in the
collection can be located and its attributes and contents reindexed. META-tagged
attributes will be extracted if that option was selected when the files were originally
indexed into the collection. This does not return to the original criteria for creating the
collection, say *.html, and add any new documents that fit the original criteria.
Collection entries are removed when the source documents have been deleted and can
no longer be found.
RemoveYou can remove a collection. This only removes the collection, not the
original source documents.
NOTE
Do not use your local file manager to remove collections. When you try to execute
a search before restarting your server again, the search will fail.
To perform any of these collection management tasks, use The Maintain Collection link in
the Server Manager.
260
2.
3.
4.
Reindex
Optimize
Update
You can set up different schedules for different actions on the same collection. If you
choose to update your collection, two extra fields are displayed for entering the
document matching criteria, and for including documents found in subdirectories that
match your criteria.
5.
Enter the time of day when you want the scheduled maintenance to take place in the
Schedule Time field.
Use a military format (HH:MM). HH must be less than 24 and MM must be less than
60. You must enter a time.
6.
Check one or more days in the section labeled Schedule Day(s) of the Week.
You can select all days, but you must select at least one day.
7.
For Unix/Linux users, to make your newly scheduled maintenance take effect, you must
restart the ns-cron process from the Administration Server.
To restart the ns-cron process, perform the following steps:
1.
2.
3.
If ns-cron is already on, click Restart to restart it. If ns-cron is not on, click Start to
start it up.
In either case, your regularly scheduled maintenance will now be able to take place
automatically.
Chapter
12
Using Search
261
2.
3.
4.
5.
For Unix/Linux users, to make your newly scheduled maintenance take effect, you must
restart the ns-cron process.
To restart the ns-cron process, perform the following steps:
1.
2.
3.
If ns-cron is already on, click Restart to restart it. If ns-cron is not on, click Start to
start it up.
In either case, your regularly scheduled maintenance will no longer take place.
262
displaying search resultsthe server displays a list of the documents that match your
criteria
viewing a documentthe user can view a specific highlighted document from the
search results list
viewing the contents of a collectionthe user can look at the information that is
maintained for each of your collections.
NOTE
If the search function is turned off, these query forms are not available.
A Search Query
Guided Search
Advanced Search
A Search Query
The default installation of iPlanet Web Server includes three search query pages: standard
and advanced HTML queries and a Java-based guided query.
With the standard search query you select a collection to search against, and enter in a word
or phrase to search for using the query language operators.
Chapter
12
Using Search
263
With the guided Java-based search interface you can use the many drop-down lists to easily
construct a query. To do this Java must be enabled for your browser.
With the advanced HTML page, you have the additional options of selecting multiple
collections to search through, establishing a sort sequence for the results, and defining how
many documents are to be displayed on a page. Typically, clicking the Prev and Next
arrows moves you through the pages of results.
To perform a standard search, perform the following steps:
1.
Enter the following URL in the location field in your web browser:
http://server_root:port/search
2.
In the search query page that appears, choose the collection you want to search through
from the drop-down list in the Search In field.
3.
Enter the word or phrase for your search query in the For field. You can create complex
queries by combining operators. For details about the search operators, see Using the
Query Operators on page 269.
4.
Guided Search
You can choose to use the Java-based guided search interface, which helps you construct
the query. This is especially useful if you want to build a query that has several parts, say
searching for a word in the documents content as well as a specific attribute value.
Make sure Java is enabled for your browser. Use the Preferences /Languages to enable.
NOTE
The attributes for Version Control and Link Management are no longer used in
iPlanet Web Server. However, note that if you perform a guided search, iPlanet
Web Server may still return them; consequently, do not use these variables.
264
To access the guided search interface through the Search home page, perform the following
steps:
1.
Enter the following URL in the location field in your web browser:
http://server_root:port/search
2.
To access guided search through the standard search query page, perform the following
steps:
1.
Go to the standard search query page by typing the following URL in the location field
in your web browser:
http://server_root:port/search
2.
Click Guided Search on the standard search page and the guided Java-based query page
is displayed.
3.
Choose the collection you want to search through from the drop-down list in the Search
In field.
4.
Use the For drop-down list to select the type of element you wish to search for. In this
example, choose Words.
5.
Enter in the word you want to search for in the blank text field.
For details about the search operator, see Using the Query Operators on page 269.
6.
Click Add Line to add the first part of the query. The word appears in the large text
display box at the bottom of the form.
7.
Choose another element from the drop-down list to add to your query. In this example,
choose Attribute.
8.
Choose the attribute you want to search against from the new drop-down list of all
attributes that are available for the chosen collection.
9.
Choose a query operator (Contains, Starts, Ends, Matches, Has a substring), or logical
operator (=, <, , <=, =) for your query from the drop-down list above the text input
field.
10. Enter the attribute value you want to search for in the blank text field.
Chapter
12
Using Search
265
11. Choose:
Advanced Search
You can choose to use the advanced HTML search interface, which helps you construct the
query. This is especially useful if you want to create a query that searches through more
than one collection, or that produces results sorted by a specific attribute value.
There are two ways to obtain the advanced HTML search page:
To access advanced HTML through the Search home page, perform the following steps:
1.
Enter the following URL in the location field in your web browser:
http://server_root:port/search
2.
To access advanced HTML search through the standard search query page, perform the
following steps:
1.
Go to the standard search query page by typing the following URL in the location field
in your web browser:
http://server_root:port/search
2.
3.
Click Guided Search on the standard search page and the web server displays the
advanced HTML query page.
4.
Enter the word or phrase you want to search for in the For field.
You can create complex queries by combining operators. For details about the search
operators, see Using the Query Operators on page 269.
266
5.
6.
Expand or limit the number of matching documents you want the search to return
depending on how many fields are listed for each document in the search results page,
or how many you want to see at a time.
The Prev and Next buttons allow you access to additional pages of documents if there
are too many to fit on a page at once.
7.
Use the drop-down list in the Search In field to choose the collection you want to
search through.
You can select more than one collection by holding down the Ctrl key as you click on
another collection. All collections in a query must be in the same language.
8.
The text of a single document that you selected from the list of matching documents
Your access permissions are checked at several points during the search process:
When a user clicks on the icon displayed for a document in the search results which
displays the highlighted version
When searching on a collection that has the option NS-collection-acl-check set to yes.
NS-collection-acl-check applies to all collections. When it is set, ACLs that are set on
URIs matching the primary document directory defined for the collections (in
dblist.ini) will be honored by not allowing search to be done on those collections
12
Using Search
267
The file format in the collection indicates which default attributes are available for
searching. For information about the attributes for each format, see About Collection
Attributes on page 252.
For entries resulting from a search that checks for comparative proximity of words to each
other, or for the exactness of the match, the files ranking can be provided by showing a
score.
If there are more matching documents than can fit on a page, click Next to see the next
batch. You can always execute a new search by entering new query data and clicking
Search.
If you enter an attribute name in the Sort By field, the documents are displayed in an
ascending sort sequence. You can list the documents in a descending sort sequence by
adding a minus sign (-) prefix to the attribute, as in -keywords or -title. You can do a
multiple sort, by typing in more than one field, as in Author,-PubDate.
In a short query, sort order usually isnt critical, but in queries that result in a great many
matches, you may want to set a sort value in order to obtain useful search results. However,
using a special sort sequence may impact the searchs performance.
NOTE
Attribute values in META-tagged fields are text strings only, which means that all
numeric values, such as date and time, are sorted as text. Any illegal HTML
characters in a META-tagged attribute are replaced with a hyphen.
In the default search results page, if you click the files URL, the file opens in your browser
without any special highlighting.
In the case of documents that have been converted into HTML, the URL points you to the
original document. To get to the converted HTML document, click the documents title.
Collection format
The query language is not case-sensitive. The examples use uppercase for clarity
only.
Chapter
12
Using Search
269
The search engine interprets the search query based on a set of syntax rules. For example,
by entering the word region, the actual word region and all its stemmed variations, such as
regions and regional, are found. The search results are ranked for importance, meaning how
close the matched word comes to the originally input search criteria. In the example above,
region would rank higher than any of the stemmed variants.
Not all queries rank their results. Only those queries that can have varying degrees of
matching can be ranked. For example, <CONTAINS queries either do or do not contain the
given string, but <NEAR queries can be ranked according to how close the words are to
each other. Words closer together are listed at the top of the search results, while those that
are far apart are put at the bottom of the results.
This section includes the following topics:
Default Assumptions
Search Rules
Using Wildcards
Default Assumptions
The search query language has some implicit defaults and assumptions that dictate how
your input is interpreted. In some cases, you can circumvent the defaults, but the search
engine decides what results to return using:
270
<STEM S> Search finds all documents that contain any stemmed variant of the search
word or phrase. The search engine looks at the meaning of the word, not just its
spelling. For example, if you want to search plan, the results would include documents
that contain planning and plans, but not those that contain plane or planet.
<MANY> Search considers how often the search word or phrase appear in the found
documents and ranks the results for frequency or relevancy.
Search Rules
To create complex searches, you can:
Angle Brackets
With the exception of the AND, OR, NOT, and the date and numeric comparison operators,
you need to enclose query operators in angle brackets, as in <CONTAINS> and
<WILDCARD>.
Combining Operators
You can combine several query operators into a single query to obtain precise results. For
example, you can input the following query to limit your search to those documents that
have Bay and Monterey, but excludes those that also mention Aquarium:
Monterey AND Bay NOT <CONTAINS> Aquarium
You can achieve even greater precision by including some implicit phrases, as in the
following query that finds documents that refer to the Monterey Bay Aquarium by its full
name and also mention otters but do not refer to shark:
Monterey Bay Aquarium AND otter AND NOT shark
Chapter
12
Using Search
271
Canceling Stemming
You can cancel the implicit stemming by using quotation marks around a word. For
example, you can be exact by using a query such as this:
"plan"
This search only results in documents that contain the exact word plan. It ignores
documents with plans or planning.
Modifying Operators
You can use AND, OR, and NOT to modify other operators. For example, you may want to
exclude documents with titles that contain the phrase theme park. A query such as this
would solve this problem:
Title NOT <CONTAINS> theme park
Valid Operators
Examples
272
Valid Operators
Examples
<STARTS>
<CONTAINS>
<ENDS>
is equal to (=)
AND
<NEAR/1>
The following table describes some commonly used operators and provides examples of
how to use each one. All are relevance ranked except where explicitly noted.
Table 12-4 Query language operators
Operator
Description
Examples
AND
<CONTAINS>
<ENDS>
equals (=)
Created = 6-30-96
Finds documents created on June 30, 1996.
Chapter
12
Using Search
273
Description
Examples
<MATCHES> employee
greater than or
equal to (>=)
<MATCHES>
<NEAR>
<NEAR/N>
274
Description
Examples
NOT
<PHRASE>
<STARTS>
apples OR oranges
<STEM>
(English only)
<SUBSTRING>
<STEM> plan
<SUBSTRING> employ
Chapter
12
Using Search
275
Description
Examples
<WILDCARD>
<WILDCARD> plan*
<WORD>
<WORD> theme
Finds documents that contain theme, thematic,
themes, and other words that stem from theme.
Using Wildcards
You can use wildcards to obtain special results. For example, you can find documents that
contain words that have similar spellings but are not stemmed variants. For example, plan
stems into plans and planning, but not plane or planet. With wildcards, you can find all of
these words.
Only the * and ? wildcard charcters are supported. They automatically indicate a
wildcard-based search, and do not require you to use the <WILDCARD> operator as part of
the expression.
Table 12-5 Wildcard Operators
Character
Description
Specifies 0 or more alphanumeric characters. For example, air* finds documents that contain
air, airline, and airhead.
276
Description
Specifies a single alphanumeric character, although you can use more than one ? to indicate
multiple characters. For example, ?at finds documents that contain cat and hat, while ??at finds
documents that contain that and chat.
Non-alphanumeric Characters
You can only search for non-alphanumeric characters if the style.lex file used to create
the collection is set up to recognize them. This file is in the HTML, news, and mail
subdirectories of the server_root\plugins\common\ directory.
Display formats for the search results page header and footer
There is a set of pattern variables to construct the forms used for search input and output.
Many of the variables are defined in the system and user configuration files userdefs.ini
and dblist.ini, which are discussed in Configuring Files Manually on page 249.
NOTE
Chapter
12
Using Search
277
Use the URI parameter to specify a dynamically generated file, such as a CGI program, as
the header or footer. For example:
uri="/cgi-bin/header.cgi"
These Service functions should precede the actual Service function that will answer the
request, such as send-file or send-cgi.
278
NS-query.pat displays the standard and advanced query pages. Contains HTML
calling the Web Search (the Search the Web box) as part of the search query page.
tocstart.pat displays the header across the top of the search results page.
tocend.pat displays the footer across the bottom of the search results page.
record.pat displays a single highlighted document from the search results page (for
more information, see Displaying a Highlighted Document on page 268).
The pattern files contain HTML formatting instructions, which define how elements look;
and HTML search arguments and variables, which define the text label or value that is
displayed.
There are three kinds of pattern variables (discussed further in Using Pattern Variables on
page 282):
User defined, in the userdefs.ini file, with a $$ prefix (see User-defined Pattern
Variables on page 283).
defined in the configuration files, dblist.ini files, with a $$NS- prefix (for more
information, see Configuration File Variables on page 285).
search macros and variables generated by a pattern file, with a $$NS- prefix (for
more information, see Macros and Generated Pattern Variables on page 287).
The following lines from the standard query pattern file, NS-query.pat show how these
work together:
<input type="hidden" name="NS-max-records"
value="$$NS-max-records"
<td align=left colspan=2$$logo</td
<td align=right<h3$$sitename</h3</td
<td align=right<b$$queryLabel</b</td
<td align=left <input name="NS-query" size=40
value="$$NS-display-query"</td
Each line contains standard HTML tags, and one or more variables with the $$ or $$NSprefix. Examining each line more closely requires looking at the configuration files
mentioned in Configuring Files Manually on page 249.
NS-max-records: Because this field is hidden, users cannot change this value, which
defines how many matching documents to return at a time. In the advanced HTML
query pattern file, NS-advquery.pat, this is a user-modifiable input field.
$$NS-max-records: The search generates a variable from this field that can be used
in subsequent searches to calculate how many result records to display at a time. In the
advanced query, this value could vary for each query.
$$logo: Defined in the userdefs.ini file. This could be any image or text the user
wanted to display on the form.
Chapter
12
Using Search
279
$$sitename: Defined in the userdefs.ini file as the servers host name that is
provided by the $$NS-host search macro.
$$queryLabel: Defined in the userdefs.ini file as a text label for the query input
field. In this case, the label on the form is the word For:
NS-query: Defined in this pattern file as the name of the input field.
$$NS-display-query: Defined in the userdefs.ini file. The search generates a
variable from this field that can be used in subsequent searches to determine which
word or phrase to highlight when an entire matching document is displayed.
As you use the HTML search query and results pages, you can see search functions and
arguments displayed in the URL field of your browser. When entered directly into the URL
field, these are sometimes called decorated URLs. They can also be embedded in your
pattern files with the HREF tag.
You can create a complete search function as an HREF element within a pattern file. The
example given is from the HTML-descriptions.pat file, which defines how
collection information is displayed. The following lines produce a heading for each
collection with the label (Collection:), and provide a link to the actual collection file
through the collections label (NS-collection-alias) defined in the dblist.ini file.
<td colspan=6<font size=+2<b$$collectionLabel</b
<a
href=$$NS-server-url/search?NS-collection=$$NS-collection$$NS-co
llection-alias</a
</font</td
The HREF contains a complete search function by using the following elements:
280
?: The query string indicator. Everything after the ? is information used by the search
function.
You can set up a search to use a variable conditionally; if there is no value associated with
the variable, nothing will be displayed. The syntax is as follows:
variableName[conditionalized output]
For example, you could request that the documents title be output if it exists. If there is no
title for this document, not even the label Title: is to be displayed. To do this, you might
enter:
$$Title[<PTitle: <B$$Title</B]
URL Encodings
When you construct HTML instructions, whether in decorated URLs or within a pattern
file, you need to follow the rules for URL encoding. Any character that might be
misunderstood as part of a URL should be encoded with the format of %nn format, where
nn is a hexadecimal code. Blanks are converted to the + symbol (plus sign) in queries or to
%20 in output. The following table shows the most commonly used URL codes.
Table 12-6 Common URL Encodings
Character
Description
Code
Space
%20
Semicolon
%3B
Slash
%2F
Question mark
%3F
Colon
%3A
At sign
%40
Equal sign
%3D
&
Ampersand
%26
Chapter
12
Using Search
281
Search functions that display the search query page require these arguments:
Search query (the word, phrase, or attribute you want to search on)
Search functions that display the search results page require these arguments:
Collection (can be specified more than once for multiple-collection searches) search
query
Document path
Search functions that display the collection contents require only this argument:
282
Variables defined in the dblist.ini configuration files, having an NS- prefix when
defined in the configuration file, and a $$NS- prefix when used in decorated URLs and
pattern files. For example, NS-max-records, NS-doc-root, and NS-date-time
become $$NS-max-records, $$NS-doc-root, and $$NS-date-time.
Search macros and variables generated by a pattern file, which always have a $$NSprefix. For example, $$NS-host, $$NS-get-next, and $$NS-sort-by.
Each line begins with a variable name, and is followed by a definition for that variable.
Many are labels for screen elements, some are paths to other files, and some have more
complex contents. For example, the following lines are from the query section of that file.
[query]
NS-character-set=iso-8859-1
uidir = $$NS-server-url/search-ui
icondir = $$uidir/icons
l10nicondir = $$uidir/icons
htmldir = $$uidir/text
logo = <img src="$$icondir/magnifier.jpg" border=0 align=absmiddle><b><font
size=+2>N</font><font size=+1>etscape </font><font size=+2>S</font><font
size=+1>earch</font></b>
sitename = $$NS-host
help = /help/5search.htm
title = Sample Search Interface
searchButtonLabel = Search
searchNote = To search, choose a collection, then enter words and phrases,
separated by commas<br>(e.g., search, jet engines, basketball).
advSearchNote = To search, choose collections, then enter words and phrases,
separated by commas<br>(e.g., search, jet engines, basketball).<p>Sorting is
done on any defined attributes. Use - to specify descending order
sort<br>(e.g., Title,-Author,+Date)
queryLabel = For:
queryLabelSJIS = $$queryLabel
queryLabelEUC = $$queryLabel
queryLabelJIS7 = $$queryLabel
collectionLabel = Search in:
booleanLabel = Boolean
sortByLabel = Sort by:
sortByLabelSJIS = $sortByLabel
sortByLabelEUC = $sortByLabel
Chapter
12
Using Search
283
sortByLabelJIS7 = $sortByLabel
freetextLabel = Freetext (unavailable)
maxDocumentsLabel = Documents to return:
maxDocumentsLabelSJIS = $$maxDocumentsLabel
maxDocumentsLabelEUC = $$maxDocumentsLabel
maxDocumentsLabelJIS7 = $$maxDocumentsLabel
copyright = Copyright © 1997 Netscape Communications Corporation. All
Rights Reserved.
advancedButtonLabel = Advanced Button Label
helpButtonLabel = Help Button Label
The file also includes references to search macros, such as $$NS-server-url, and can
refer to other user-defined variables, as in the following lines:
uidir = $$NS-server-url/search-ui
icondir = $$uidir/icons
Search macros are described further in Macros and Generated Pattern Variables on
page 287.
You can use any supported HTML character entity in your variable definitions. You can use
entity names that are defined in the &name; format as well as those defined with the
three-digit code in the &#nnn; format. In the userdefs.ini code sample, the entity
inserts a nonbreaking space, and © inserts a copyright symbol. Some of the
more commonly used entities are in the following table:
Table 12-7 Common HTML character entities
Numeric code
Entity name
 
284
Description
Space
"
"
Quotation mark
$
Dollar sign
:
Colon
<
<
Less than
>
>
Greater than
™
Trademark symbol
 
Nonbreaking space
©
©
Copyright symbol
®
®
Registered trademark
NS-max-records = 20
NS-query-pat = /text/NS-query.pat
NS-ms-tocstart = /text/HTML-tocstart.pat
NS-ms-tocend = /text/HTML-tocend.pat
NS-default-html-title = (Untitled)
NS-HTML-descriptions-pat = /text/HTML-descriptions.pat
NS-date-time = %b-%d-%y %H:%M
Although installations may vary depending on how each server is configured, the most
commonly found variables are listed in the following table:
Table 12-8 Commonly found variables
Variable
Description
NS-default-html-title
The name given to HTML documents that do not contain a user-defined title.
Typically set to (Untitled).
NS-date-time
NS-date-input-format
NS-HTML-descriptions-pat
The pattern file to use when displaying the contents of the collections.
NS-largest-set
The maximum number of records that can be handled as matching the search
criteria. The records are displayed in groups of NS-max-records.
NS-max-records
NS-ms-tocend
The pattern file to use for the footer at the bottom of the search results page
when searching multiple collections.
NS-ms-tocstart
The pattern file to use for the header at the top of the search results page when
searching multiple collections.
NS-query-pat
Chapter
12
Using Search
285
Description
NS-search-type
Collection-specific variables are defined in the dblist.ini file. Among the variables
defined there are:
NS-doc-root = C:/iPlanet/Servers/docs
NS-url-base = /
NS-display-select = YES
The variables in your dblist.ini file may differ according to the type of collections you
are using. Table 11.9 contains some of the more commonly found collection-specific
variables.
Table 12-9 Commonly found variables in dblist.ini
Variable
Description
NS-collection-alias
The collections label. Can be specified more then once to search multiple
collections.
NS-doc-root
NS-display-select
NS-highlight-start
NS-highlight-end
NS-language
NS-record-pat
NS-tocend-pat
NS-tocrec-pat
286
Description
NS-tocstart-pat
NS-url-base
The base URL used when constructing the link used to locate the file.
Description
$$NS-collection-list
$$NS-collection-list-dropdow
n
$$NS-collections-searched
$$NS-display-query
$$NS-doc-href
The HTML HREF tag for the document. This provides a URL to the
original source document. For email, this is in the form
mailbox:/boxname?id-messageID and for news, it is in the form
news:messageID.
$$NS-doc-name
$$NS-doc-number
$$NS-doc-path
Chapter
12
Using Search
287
Description
$$NS-doc-score
$$NS-doc-score-div10
$$NS-doc-score-div5
$$NS-doc-time
The creation time for a document in the results list. To obtain this
value, you must set NS-use-system-stat = YES. By default it is
set to NO, since system statistics are expensive.
$$NS-doc-size
$$NS-docs-found
The actual number of documents that the search engine found for this
request.
$$NS-docs-matched
$$NS-docs-searched
$$NS-get-highlighted-doc
$$NS-get-next
This variable gets the next set of search results to be displayed. The set is
equal to NS-max-records and is positioned by using
NS-search-offset.
$$NS-get-prev
This variable gets the previous set of search results that has been
displayed. The set is equal to NS-max-records and is positioned by
using NS-search-offset.
$$NS-host
$$NS-insert-doc
$$NS-rel-doc-name
$$NS-search-offset
The offset into the set of records returned as search results. Used to
determine which set of records are displayed when you use
NS-get-next and NS-get-prev.
$$NS-server-url
$$NS-sort-by
The sort sequence for the items on the results page. You can select one or
more of the available attributes for the collection. The default is an
ascending sort.
288
Part
289
290
Chapter
13
This chapter explains how to set up and administer virtual servers using your iPlanet Web
Server.
This chapter contains the following sections:
If you are not using virtual servers, you still use the items in the Class
Manager to configure content, programs, and other features for your web
server instance. When you install the web server, a default virtual server
for the instance is created. You manage the content and services for this
default virtual server using the virtual server user interface.
291
Listen Sockets
Connection Groups
Virtual Servers
The settings for virtual servers are stored in the server.xml file, found in the
server_root/server_ID/config directory. You do not need to edit this file to use virtual
servers, but you can. If you would like to learn more about this file and how to edit it, see
the NSAPI Programmers Guide.
This section includes the following topics:
Listen Sockets
Connection Groups
Virtual Servers
Document Root
Log Files
292
293
Listen Sockets
Connections between the server and clients happen on a listen socket. Each listen socket
you create has an IP address, a port number, a server name, and a default virtual server
(which becomes associated with the connection group created automatically for the listen
socket). If you want a listen socket to listen on all configured IP addresses on a given port
for a machine, use 0.0.0.0, any, ANY, or INADDR_ANY for the IP address.
When you install iPlanet Web Server, one listen socket, ls1, is created automatically. This
listen socket uses the IP address 0.0.0.0 and the port number you specified as your HTTP
server port number during installation (the default is 80). You cannot delete the default
listen socket. If you are not using virtual servers, this one listen socket is sufficient.
However, if you are using virtual servers, you may want to create multiple listen sockets for
your virtual servers.
Since a listen socket is a combination of IP address and port number, you can have multiple
listen sockets with the same IP address and different port numbers, or with different IP
addresses and the same port number. For example, you could have 1.1.1.1:81 and
1.1.1.1:82. Additionally, you could have 1.1.1.1:81 and 1.2.3.4:81, as long as your machine
is configured to respond to both these addresses. However, if you use the 0.0.0.0 or ANY IP
address, which listens to all IP addresses on a port, you cannot set up additional IP
addresses that listen on the same port for a specific IP address. For example, if you have a
listen socket 0.0.0.0:80 (all IP addresses on port 80) you cannot also have 1.2.3.4:80.
In addition, you specify the number of acceptor threads (sometimes called accept threads) in
the listen socket. Accept threads are threads that wait for connections. The threads accept
connections and put them in a queue where they are then picked up by worker threads.
Ideally, you want to have enough accept threads so that there is always one available when
a new request comes in, but few enough so that they do not provide too much of a burden on
the system. The default is 1. A good rule is to have one accept thread per CPU on your
system. You can adjust this value if you find performance suffering.
294
Connection Groups
Each listen socket has at least one connection group associated with it. When you create a
listen socket, a connection group is also created which contains the default virtual server
you specified for the listen socket. The IP address for this connection group is default.
If your listen socket has an IP address of 0.0.0.0 or ANY, you can add multiple connection
groups that respond to particular IP addresses. Using this functionality, you can set up
virtual server with dedicated IP addresses.
For each listen socket, there is always a connection group that is the default connection (the
IP address shows as default). If the listen socket has a specific IP address, this default
connection group is the only one available. If the listen socket listens on any IP address, the
default connection group is the one used if the request doesnt find a specific IP address
match among the other connection groups in the listen socket.
When you install your server, one connection group is created by default for the default
listen socket ls1. The IP address for the connection group is default, the port is 80, and
the default virtual server is the default server created when you installed.
For each virtual server you select the connection group or groups it responds to. You do not
do this for the class as a whole: the connection group information is independent of the
virtual server classes.
Virtual Servers
To create a virtual server you must first decide which class you want it to belong to. Next
you need to decide what kind of virtual server you want. To create a virtual server, all you
need to specify is a virtual server ID, one or more connection groups, and one or more URL
hosts.
This section includes the following topics:
Chapter 13
295
296
Because URL-Host-based virtual servers use the Host request header to direct the user to
the correct page, not all client software works with them. Older client software that does not
support the HTTP Host header wont work. These clients will receive the default virtual
server for the connection group.
Do not confuse the default virtual server for a connection group with the
default class and virtual server created when you install the server. The
default class is created at installation time and contains the server
instances virtual server as a member. The default virtual server for a
connection group is any virtual server you designate as the default.
The default virtual server is set by connection group. You specify a default virtual server
when you create a listen socket. That becomes the default virtual server of the connection
group created by default for the listen socket. You can always change the default virtual
server. If the listen socket has a specific IP address associated with it, this connection group
is the only connection group for the listen socket. If the listen socket listens on any IP
address, each connection group you create will have a default virtual server.
If the listen socket is configured to listen on a particular IP address, it can contain only
one connection group, and that group is selected.
If the listen socket is configured to listen on ANY, the IP address to which the client
connected is matched to the IP address of a connection group contained by that listen
socket. If no IP address matches, the default connection group with default as the IP
address is selected.
Chapter 13
297
If the connection group is configured to only a default virtual server, that virtual server
is selected.
If the connection group has more than one virtual server configured to it, the request
Host header is matched to the URL host of a virtual server. If no Host header is
present or no URL host matches, the default virtual server for the connection group is
selected.
If a virtual server is configured to an SSL listen socket, its URL host is checked against the
subject pattern of the certificate at server startup, and a warning is generated and written to
the error log if they dont match.
After the virtual server is determined, the server executes the obj.conf file for the virtual
server class to which the virtual server belongs. For details about how the server decides
which directives to execute in obj.conf, see the NSAPI Programmers Guide.
Document Root
The primary document directory or document root is the central directory that contains all
the virtual servers files to make available to remote clients.
The document root directory provides an easy way to restrict access to the files on a virtual
server. It also makes it easy to move documents to a new directory (perhaps on a different
disk) without changing any of the URLs because the paths specified in the URLs are
relative to the primary document directory.
For example, if your document directory is C:\iplanet\servers\docs, a request such
as http://www.iplanet.com/products/info.html tells the server to look for the file
in C:\iplanet\servers\docs\products\info.html. If you change the document
root (that is, you move all the files and subdirectories), you only have to change the
document root that the virtual server uses, instead of mapping all URLs to the new directory
or somehow telling clients to look in the new directory.
When you install the iPlanet Web Server, you designate a document root for your web
server instance. That becomes the document root for the default class. You can change that
directory at the class level or override it at the individual virtual server level.
298
When you add a class, you also need to specify a document directory. That directory is an
absolute path. However, if you simply enter an absolute path, the document roots for all
virtual servers belonging to the class default to the same directory. If you include the
variable $id at the end of your document root absolute path, every virtual server has a
default document root of class_doc_root/virtual_server_ID. For example, if your class
document directory is /iplanet/servers/docs/$id, the default document directory for
a virtual server vs1 that belongs to the class is /iplanet/servers/docs/vs1.
For more information on variables, see Using Variables, on page 302.
You can also override the class default document directory at the individual virtual server
level.
Log Files
When you create a new virtual server, by default the log file is the same log file as the
server instance. In most cases you will want each individual virtual server to have its own
log file. To set this up, you can change the log path for each virtual server.
For more information, see Configuring Virtual Server Log Settings, on page 324.
Chapter 13
299
300
The Server Manager contains settings that affect the server as a whole (or all virtual
servers).
The Class Manager contains settings that affect a single class and the virtual servers
within the class.
The Virtual Server Manager contains settings for an individual virtual server.
In addition, a user interface for end-users who have an individual virtual server is available.
For more information, see Allowing Users to Monitor Individual Virtual Servers, on page
306.
This section includes the following topics:
Using Variables
Dynamic Reconfiguration
Chapter 13
301
From the Server Manager, click the Virtual Server Class Tab.
2.
3.
You can also click the class name in the tree view of the server, or click the Class Manager
button link in the upper right corner of the Server Manager.
2.
3.
You can also use a command line utility, HttpServerAdmin, to perform the same virtual
server tasks as you can perform using the user interface. For more information on the
command line utility HttpServerAdmin, see HttpServerAdmin (Virtual Server
Administration), on page 372.
Using Variables
You can use variables to give virtual-server specific values for a class without having to
define each value individually. A variable is defined in the obj.conf file. You can define
your own variables, but the user interface will not recognize them. The variable that is most
useful in the user interface is the variable $id, which represents the ID of the virtual server.
Whenever you enter this variable, the server substitutes the value for the individual virtual
server ID.
There are a few other variables, such as $accesslog (the path to each virtual servers access
log) and $docroot (the path to each virtual servers document root), that you may
occasionally, see, but $id is the only one you should need to enter into a field.
For more information on variables, see the NSAPI Programmers Guide.
302
Dynamic Reconfiguration
Dynamic reconfiguration allows you to make configuration changes to a live web server
without having to stop and restart the web server for the changes to take effect. You can
dynamically change all configuration settings and attributes in server.xml and its
associated files without restarting the server. So any changes that you make within the
virtual server user interface can by applied without restarting the server.
To access the dynamic reconfiguaration screen, click the Apply link found in the upper right
corner of the Server Manager, Class Manager, and Virtual Server Manager pages, then click
the Load Configuration Files button on the Apply Changes page. If there are errors in
installing the new configuration, the previous configuration is restored.
2.
3.
4.
5.
6.
Please note that you must enter an existing virtual server in the default virtual server field
when you create a listen socket. You can use the virtual server created when you installed
the server, and then go back and change it after youve created additional virtual servers, if
you like.
2.
Chapter 13
303
3.
4.
Click OK.
2.
3.
On the line next to the listen socket to which you want to add a connection group, click
Groups.
A list of the all groups associated with the listen socket appears.
4.
To add a group, use the line at the top of the screen where the action is set to Add and
fill in the fields.
If your listen socket has a single IP address, you wont be able to add an additional
connection group.
304
From the Server Manager, click the Virtual Server Class tab.
2.
3.
4.
5.
Click OK.
Once you have created a class of virtual servers, choose the services associated with the
class. For more information, see Chapter 16, Content Management.
From the Server Manager, click the Virtual Server Class tab.
2.
3.
From the pull-down list next to the class you want, choose Edit or Delete.
Please note that you cannot delete the default class.
4.
Use the Document Root field to change to absolute path to the class default document
root.
The document roots for virtual servers in this class are created within this directory by
default.
5.
If you want to change the CGI defaults associated with a class, click Advanced.
A window with the CGI defaults appears. Edit the fields and click OK to return to the
Edit a Class window. The Reset button rolls back your changes.
6.
Chapter 13
305
306
This user interface runs on a virtual server within the administration server. This virtual
server is set up by default and is called useradmin. You must set up a listen socket in the
administration server that is separate from the listen socket the administration server runs
on, so that people can access the virtual server administration user interface without having
access to your administration server port.
Figure 13-1 shows the administrators of individual virtual servers accessing the useradmin
virtual server in order to access the information for their virtual servers.
Figure 13-1
VS1
Admin
Server Instance
Admin
Server
Port 8888
VS2
Admin
VS1
VS2
Virtual
Server
useradmin
Port 8889
VS3
Admin
VS3
Firewall
When you turn on a virtual server, users can administer it through the following URL:
server_name:port/user-app/server_instance/virtual_server_ID
For example:
iplanet:8889/user-app/iplanet/vs2
The server instance doesnt include the https portion of the server instance name.
Chapter 13
307
Figure 13-2 shows the user interface that the end users see:
Figure 13-2
Create a new listen socket that runs a port separate from the port that the administration
server uses.
For example, if your administration server runs on port 8888, this new listen socket
must have a different port number. Using a different listen socket helps safeguard your
administration server.
For security reasons, you cannot add this listen socket through the user interface.
Instead, you add it in the administration servers server.xml file.
2.
3.
308
In this example, ls2 is the listen socket created with a connection group of group2.
4.
Edit the server.xml file so that the useradmin virtual server (found in the class
userclass) uses the connection group you created.
5.
In this example, the connection group is set to group2, the group created previously,
and the state is set to on.
6.
7.
8.
For any virtual server in any server instance, you should now be able to access the
administrator UI by using the following URL:
server_name:port/user-app/server_instance/virtual_server_ID
Access Control
To protect the virtual server administration from unauthorized users, you can set up ACLs.
Because the URI for each virtual server is unique, you can set access so that only the correct
administrator can access the settings for a virtual server.
Chapter 13
309
Log Files
Each virtual server can have its own log files. By default, all virtual servers share the log
file of the server instance. If you allow users to view their log files, in most cases you
should change the log file settings so that each virtual server has its own access and error
log.
For more information, see Configuring Virtual Server Log Settings, on page 324.
310
The name example.com is mapped to 10.0.0.1 via DNS. The listen socket is configured to
listen on port 80 on any address to which that machine is configured ("ANY:80" or
"0.0.0.0:80").
As there are no IP-address-based virtual servers in the default configuration, the only
connection group is the default one. All connections pass through to virtual server VS1.
Figure 13-3
Default configuration
Loopback Interface
127.0.0.1
Network Interface
defaultclass
Listen Socket
Connection Group
Default
Virtual Server
VS1
ANY:80
10.0.0.1
DNS
www.example.com
10.0.0.1
In this configuration, connections to the following reach the server and are served by virtual
server VS1
http://example.com/
http://10.0.0.1/
Chapter 13
311
Use this configuration for traditional web server use. You do not need to add additional
virtual servers or listen sockets. You configure the settings of the server by changing the
settings for defaultclass (VS1 is a member of defaultclass), and VS1 itself.
312
Figure 13-4
Secure server
Loopback Interface
Listen Socket
Connection Group
127.0.0.1
defaultclass
Default
ANY:80
Virtual Server
VS1
Network Interface
Listen Socket
Connection Group
Default
10.0.0.1
DNS
www.example.com
SSL Params
ANY:443
10.0.0.1
Please note that the SSL parameters are attached to the connection group. Therefore, there
can only be one set of SSL parameters for all the virtual servers in a particular connection
group.
Chapter 13
313
To minimize hardware and administrative overhead, you want to consolidate all three sites
into one web server living on the machine example.com. You could set this up in two ways:
using URL-host-based or IP-address-based virtual servers. Both have distinct advantages
and disadvantages.
Figure 13-5
defaultclass
Virtual Server
is.example.com
IS
Loopback Interface
phone.example.com
127.0.0.1
Listen Socket
Network Interface
10.0.0.1
Connection Group
Default
maps.example.com
ANY:80
<default>
DNS
www.example.com
10.0.0.1
is.example.com
phone.example.com
maps.example.com
10.0.0.1
10.0.0.1
10.0.0.1
PHONE
MAPS
VS1
While URL-host-based virtual servers are easy to set up, they have the following
disadvantages:
314
Figure 13-6
defaultclass
Virtual Server
IS
Loopback Interface
127.0.0.1
Network Interface
10.0.0.1
Listen Socket
Connection Group
10.0.0.2
10.0.0.3
ANY:80
10.0.0.4
PHONE
MAPS
Default
10.0.0.2
VS1
10.0.0.3
10.0.0.4
DNS
www.example.com
10.0.0.1
is.example.com
phone.example.com
maps.example.com
10.0.0.2
10.0.0.3
10.0.0.4
They work with older clients that do not support the HTTP/1.1 Host header.
Both configurations require setting up name-to-address mappings for the three names. In
the IP-address-based configuration, each name maps to a different address. The host
machine must be set up to receive connections on all these addresses. In the
URL-host-based configuration, all names can map to the same address, the one the machine
had originally.
Chapter 13
315
As a footnote, it is also possible to set up the IP-address-based configuration with one listen
socket per address:
Figure 13-7
Loopback Interface
127.0.0.1
Network Interface
10.0.0.1
10.0.0.2
10.0.0.3
defaultclass
Listen Socket
Connection Group
Default
Virtual Server
IS
10.0.0.2:80
Default
PHONE
Default
MAPS
Default
VS1
10.0.0.3:80
10.0.0.4
10.0.0.4:80
10.0.0.1:80
DNS
www.example.com
10.0.0.1
is.example.com
phone.example.com
maps.example.com
10.0.0.2
10.0.0.3
10.0.0.4
Compared to the original configuration for IP-address-based virtual servers with one listen
socket on ANY:80, the configuration with multiple listen sockets may give you a minimal
performance gain because the server does not have to find out the address the request came
in on. However, using multiple listen sockets also results in additional overhead (memory
and scheduling) because of the additional acceptor threads.
The virtual servers are usually URL-host-based and are in one of multiple virtual server
classes, depending on the level of service provided. For example, you could have one class
that allows only static content, and another one that allows static content plus CGIs.
Figure 13-8
Mass Hosting
cgiclass
www.a.com
www.b.com
www.c.com
www.d.com
www.e.com
www.f.com
www.g.com
Loopback Interface
127.0.0.1
staticclass
Listen Socket
Network Interface
10.0.0.1
ANY:80
Connection Group
Default
www.p.com
www.q.com
www.r.com
www.s.com
www.t.com
www.u.com
www.v.com
www.w.com
www.x.com
www.y.com
www.z.com
defaultclass
<default>
DNS
www.example.com
10.0.0.1
www.a.com
www.b.com
www.c.com
10.0.0.1
10.0.0.1
10.0.0.1
www.p.com
10.0.0.1
VS1
Notice that the virtual server installed when you installed the server, VS1, still exists in
defaultclass.
Chapter 13
317
318
Chapter
14
A class of virtual servers has virtual servers (members of the class) associated with it. You
can override some of the class-level settings at the virtual server level. This chapter
describes how you can create and configure individual virtual servers. For information on
configuring virtual server classes, see Chapter 16, Content Management. For an overview
of virtual servers, see Chapter 13, Using Virtual Servers.
This chapter contains the following sections:
2.
3.
4.
5.
6.
Click OK.
These settings are all that is required for creating a virtual server. However, you can
configure additional virtual server settings using other pages on this tab.
Document root
ACL file
CGI settings
If you are editing a single virtual server, its convenient to use the Virtual Server Manager
and change all these settings on one page.
320
2.
3.
From the pull-down list next to the virtual server you want, choose Edit.
4.
5.
6.
7.
14
321
You dont need to create a separate MIME types file for each virtual server or virtual server
class. Instead, you create as many MIME types files as you need and associate them with a
virtual server. One MIME types file, mime.types, exists by default on the server. To
create new MIME types files, or to edit the definitions in a MIME Types file, see
Choosing MIME Types, on page 152.
To set the MIME types file for a specific virtual server, follow these steps:
1.
2.
3.
Choose a MIME types file from the pull-down menu next to the virtual server.
4.
Click OK.
322
Before enabling quality of service for a virtual server, you must first enable it for the entire
server, and also set some basic values. See Using Quality of Service, on page 215.
To configure the quality of service settings for a virtual server, follow these steps:
1.
2.
3.
To enable quality of service for a virtual server, choose Enable from the pull-down list.
By default quality of service is disabled. Enabling quality of service increases server
overhead slightly.
4.
Set the maximum bandwidth, in bytes per second, for the virtual server.
5.
6.
Choose the maximum number of connections allowed for the virtual server.
This number is the number of concurrent requests processed.
7.
8.
Click OK.
For more information on the limitations to the quality of service features, see Using
Quality of Service, on page 215.
Chapter
14
323
2.
3.
Enter an absolute path to the error and access logs. The path must already exist.
By default, the access and error messages for all virtual servers are logged to the server
instances access and error logs. If you want virtual servers to have separate log files,
you set that up here.
4.
If you want to change the paths back to the default, click Default.
5.
Click OK.
To look at the logs for a particular virtual server, follow these steps:
1.
2.
3.
Choose the number of entries to display and the criteria for displaying them.
For example, if your logs contain entries for all virtual servers, you can choose to
display only the entries for a particular virtual server.
4.
Click OK.
324
2.
3.
From the pull-down list next to the virtual server you want, choose Delete.
You cannot delete the default virtual server that was created when you installed the
server. You also cannot delete a server that is the default virtual server on a connection
group.
4.
Chapter
14
325
326
Chapter
15
This chapter discusses how to install programs on the iPlanet Web Server that dynamically
generate HTML pages in response to requests from clients. These programs are known as
server-side applications. (Client-side applications, which are downloaded to the client, run
on the client machine.)
This chapter includes the following sections:
Java servlets are written in Java, which is a full-featured programing language for
creating network applications.
327
CAUTION
Note that you must enable cookies in your browser to run CGI programs.
Refer to your browser documentation or online help on how this is done.
Java servlets
CGI programs
The iPlanet Web Server can also run programs that extend or modify the behavior of the
server itself. These programs, known as plug-ins, are written using the Netscape Server
Application Programming Interface (NSAPI). For information about writing and installing
plug-in programs, see the NSAPI Programmers Guide.
For Java servlets, you can create and deploy web applications. For more information,
see What the Server Needs to Run Servlets and JSPs, on page 330.
For CGI programs, you can configure your server to recognize all files with certain
filename extensions, or all files in specified directories as CGI programs, or both. For
more information, see Installing CGI Programs, on page 335, Installing Windows
NT CGI Programs, on page 339, and Installing Shell CGI Programs for Windows
NT, on page 342.
Servlet API version 2.2 is fully backward compatible with version 2.1, so
all existing servlets will continue to work without modification or
recompilation.
To develop servlets, use Sun Microsystems Java Servlet API. For information about using
the Java Servlet API, see the documentation provided by Sun Microsystems at:
http://java.sun.com/products/servlet/index.html
A JSP is a page, much like an HTML page, that can be viewed in a web browser. However,
in addition to HTML tags, it can include a set of JSP tags and directives intermixed with
Java code that extend the ability of the web page designer to incorporate dynamic content in
a page. These additional features provide functionality such as displaying property values
and using simple conditionals. iPlanet Web Server 6.0 supports the JavaServer Pages (JSP)
1.1 API specification.
For information about creating JSPs, see Sun Microsystems JavaServer Pages web site at:
http://java.sun.com/products/jsp/index.html
Chapter
15
329
For information about developing servlets and JSPs for use with iPlanet Web Server, see the
Programmers Guide to Servlets.
You can specify the path to the JDK in either of the following ways:
You can specify the path during the server installation process.
When you install iPlanet Web Server, one of the dialog boxes in the installation process
asks if you want to use a custom Java Development Kit (JDK), and if so, you can
specify the path to it.
330
Whether you specify the path to the JDK during installation or later, the path is the folder in
which you installed the JDK.
You can also list the web application URIs and directories for a virtual server:
wdeploy list -i instance -v vs_id
instance
vs_id
Chapter
15
331
directory
(optional) The directory to which the application is deployed, or from which the
application is deleted. If not specified for deployment, the application is
deployed to the document root directory.
hard|soft
Specifies whether the directory and the web-apps.xml entry are deleted
(hard) or just the web-apps.xml entry is deleted (soft).
war_file
CAUTION
When you execute the wdeploy deploy command, two things happen:
A web application with the given uri_path and directory gets added to the
web-apps.xml file.
For example:
wdeploy deploy -u /hello -i server.iplanet.com -v acme.com
-d /iws60/https-server.iplanet.com/acme.com/web-apps/hello
/iws60/plugins/servlets/examples/web-apps/HelloWorld/HelloWorld.war
332
HelloWorldServlet.class
HelloWorldServlet.java
SnoopServlet.class
SnoopServlet.java
Before you can run a web application that has been deployed, you must make sure that the
server.xml file for the server instance points to the web-apps.xml file for your virtual
server.
After you have deployed an application, you can access it from a browser as follows:
http://vs_urlhost[:vs_port]/uri_path/[index_page]
vs_port
uri_path
The same one you used to deploy the application. This is also the context path.
index_page
(optional) The page in the application that end users are meant to access first.
For example:
http://acme.com:80/hello/index.jsp
or:
http://acme.com/hello/
Chapter
15
333
When the server serves a JSP page, it creates a .java and a .class file associated with the JSP
and stores them in the JSP class cache under the ClassCache directory.
The server uses two directories to cache information for JavaServer Pages (JSP) and
servlets:
ClassCache
The server uses the following directory to cache information for JavaServer Pages
(JSP):
server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri/
When the server serves a JSP page, it creates a .java and a .class file associated
with the JSP and stores them in the JSP class cache under the ClassCache directory.
SessionData
334
If a future upgrade of the server uses a different format for the caches, the server will check
the number in the version file and clean up the caches if the version number is not correct.
Overview of CGI
In addition, the following sections discuss how to install Windows NT-specific CGI
programs:
Overview of CGI
Common Gateway Interface (CGI) programs can be defined with any number of
programming languages. On a Unix/Linux machine, youre likely to find CGI programs
written as Bourne shell or Perl scripts.
NOTE
Under Unix/Linux, there are extra CGIStub processes running that the
server uses to aid in CGI execution. These processes are created only
during the first access to a CGI. Their number varies depending upon the
CGI load on the server. Do not kill these CGIStub processes. They
disappear when the server is stopped.
For more information see the discussion regarding MinCGIStub, MaxCGIStub, and
CGIStubIdleTimeout in the online Performance Tuning and Sizing Guide on
http://docs.iplanet.com/docs/manuals/enterprise.html.
Chapter
15
335
On a Windows NT computer, you might find CGI programs written in C++ or batch files.
For Windows NT, CGI programs written in a Windows-based programming language such
as Visual Basic use a different mechanism to operate with the server. They are called
Windows NT CGI programs. See Installing Windows NT CGI Programs, on page 339 for
information about Windows NT CGI.
NOTE
In order to run the command-line utilities, you need to manually set the
Path variable to include server_root/bin/https/bin.
Regardless of the programming language, all CGI programs accept and return data in the
same manner. For information about writing CGI programs, see the following sources of
information:
Articles about CGI available on the online documentation web site at:
http://www.iplanet.com/docs
There are two ways to store CGI programs on your server machine:
Specify a directory that contains only CGI programs. All files are run as programs
regardless of the file extensions.
Specify that CGI programs are all a certain file type. That is, they all use the file
extensions .cgi, .exe, or .bat. The programs can be located in any directory in or
under the document root directory.
336
CAUTION
Note that you must enable cookies in your browser to run CGI programs.
NOTE
By default, the file extensions for CGI programs are .cgi, .exe and
.bat. However, you can change which extensions indicate CGI
programs by modifying the MIME types file. You can do this by choosing
the Server Preferences tab and clicking the MIME Types link.
2.
In the URL Prefix field, type the URL prefix to use for this directory. That is, the text
you type appears as the directory for the CGI programs in URLs.
For example, if you type cgi-bin as the URL prefix, then all URLs to these CGI
programs have the following structure:
http://yourserver.domain.com/cgi-bin/program-name
NOTE
The URL prefix you specify can be different from the real CGI directory
you specify in the previous step.
3.
In the CGI Directory text field, type the location of the directory as an absolute path.
Note that this directory doesnt have to be under your document root. This is the reason
that you need to specify a URL prefix in the next step.
4.
Click OK.
5.
To remove an existing CGI directory, click that directorys Remove button in the CGI
Directory form. To change the URL prefix or CGI directory of an existing directory, click
that directorys Edit button.
Copy your CGI programs into the directories youve specified. Remember that any files in
those directories will be processed as CGI files, so dont put HTML files in your CGI
directory.
Chapter
15
337
From the Class Manager, choose the Manager Virtual Servers button.
2.
3.
In the CGI User text field, type the name of the user to execute CGI programs as.
4.
In the CGI Group text field, type the name of the group to execute CGI programs as.
5.
In the CGI Directory text field, type the directory to chdir to after chroot but before execution
begins.
6.
(Unix only) In the CGI Nice text field, type an increment that determines the CGI programs
priority relative to the server. Typically, the server is run with a nice value of 0 and the nice
increment would be between 0 (the CGI program runs at same priority as server) and 19 (the CGI
program runs at much lower priority than server). While it is possible to increase the priority of
the CGI program above that of the server by specifying a nice increment of -1, this is not
recommended.
7.
In the Chroot Directory text field, type the directory to chroot to before execution begins.
8.
Click OK.
9.
2.
3.
From the Editing picker, choose the resource you want this change to apply to.
4.
Click the Yes radio button under Activate CGI as a File Type.
5.
Click OK.
6.
The CGI files must have the file extensions .bat, .exe, or .cgi. Any non-CGI files with
those extensions are processed by your server as CGI files, causing errors.
338
15
339
iPlanet Web Servers support the Windows NT CGI 1.3a informal specification, with the
following differences:
The following keywords have been added to the [CGI] section to support security
methods:
The keyword Document Root in the [CGI] section might not refer to the expected
document root because the server does not have a single document root. The directory
returned in this variable is the root directory for the Windows NT CGI program.
2.
3.
In the URL Prefix text field, enter the URL prefix you want to use for this directory.
That is, the text you type appears as the directory for the Windows NT CGI programs
in URLs. For example, if you type wcgi-programs as the URL prefix, then all URLs
to these Windows NT CGI programs have the following structure:
http://yourserver.domain.com/wcgi-programs/program-name
NOTE
340
The URL prefix you specify can be different from the real Windows NT
CGI directory you specify in Step 5.
4.
5.
In the WinCGI Directory field, enter the location of the directory as an absolute path.
Note that this directory doesnt have to be under your document root. This is the reason
that you need to specify a URL prefix in Step 3.
6.
Click OK.
7.
To remove an existing Windows NT CGI directory, click that directorys Remove button in
the Windows NT CGI Directory form. To change the URL prefix or Windows NT CGI
directory of an existing directory, click that directorys Edit button.
Copy your Windows NT CGI programs into the directories youve specified. Remember
that any file in those directories is processed as a Windows NT CGI file.
2.
3.
Type: type
File Suffix: Enter the file suffixes that you want the server to associate with
Windows NT CGI. If you activated CGI, WinCGI, and shell CGI file types, you
must specify a different suffix for each type of CGI. For example, you cant use
the suffix .exe for both a CGI program and a shell CGI program. If you need to,
you can edit the other MIME type fields on the page so that the suffixes are unique.
Chapter
15
341
4.
5.
The easiest way to configure shell CGI is to create a directory in your servers document
root that contains only shell CGI files. However, you can also configure the server to
associate specific file extensions with shell CGI by editing MIME types from the iPlanet
Web Server.
NOTE
342
Create the shell directory on your computer. This directory doesnt have to be a
subdirectory of your document root directory.
2.
3.
4.
In the URL Prefix field, enter the URL prefix you want to associate with your shell
CGI directory.
For example, suppose you store all shell CGI files in a directory called
C:/docs/programs/cgi/shell-cgi, but you want users to see the directory as
http://www.yourserver.com/shell/. In this case, you would type shell as the
URL prefix.
5.
In the Shell CGI Directory field, enter the absolute path to the directory you created.
CAUTION
6.
The server must have read and execute permissions to this directory. For
Windows NT, the user account the server runs as (for example,
LocalSystem) must have rights to read and execute programs in the shell
CGI directory.
Make sure that any files in the shell CGI directory also have file associations set in
Windows NT. The server returns an error if it attempts to run a file that has no
file-extension association.
Chapter
15
343
To associate a file extension as a shell CGI file, perform the following steps:
1.
Create the shell directory on your computer. This directory doesnt have to be a
subdirectory of your document root directory.
2.
3.
4.
Type: type
File Suffix: Enter the file suffixes that you want the server to associate with shell
CGI. If you activated CGI, WinCGI, and shell CGI file types, you must specify a
different suffix for each type of CGI. For example, you cant use the suffix .exe
for both a CGI program and a shell CGI program. If you need to, you can edit the
other MIME type fields on the page so that the suffixes are unique.
5.
6.
The use of Query Handlers is outdated. Although iPlanet Web Server and Netscape
Navigator clients still support it, it is rarely used. It is much more common for
people to use forms in their HTML pages to submit queries.
You can specify a default query handler CGI program. A query handler processes text sent
to it via the ISINDEX tag in an HTML file.
ISINDEX is similar to a form text field in that it creates a text field in the HTML page that
can accept typed input. Unlike the information in a form text field, however, the
information in the ISINDEX box is immediately submitted when the user presses Return.
When you specify your default query handler, you tell your server to which program to
direct the input. For an in-depth discussion of the ISINDEX tag, see an HTML reference
manual.
To set a query handler, perform the following steps:
344
1.
2.
3.
Use the Editing Picker to select the resource you want to set with a default query
handler.
If you choose a directory, the query handler you specify runs only when the server
receives a URL for that directory or any file in that directory.
4.
In the Default Query Handler field, enter the full path for the CGI program you want to
use as the default for the resource you chose.
5.
Click OK.
6.
Chapter
15
345
346
Chapter
16
Content Management
This chapter describes how you can configure and manage content for classes of virtual
servers and virtual servers.
This chapter contains the following sections:
Using htaccess
347
2.
3.
Enter an absolute directory path or a variable, or a path and variable combination next
to the virtual server.
If you include the variable $id at the end of your document root absolute path, every
virtual server has a default document root of class_doc_root/virtual_server_ID. For
example, if your class document directory is /iplanet/servers/docs/$id, the
default document directory for a virtual server vs1 that belongs to the class is
/iplanet/servers/docs/vs1.
For more information about variables, see Using Variables, on page 302.
4.
Click OK.
For more information, see the online help for the Primary Document Directory page.
NOTE
348
Typically, each virtual server has its own primary document directory.
2.
3.
4.
5.
If you want to, use an existing configuration style to specify how this directory should
be configured.
6.
Click OK.
To for more information, see the online help for the Additional Document Directories page.
By default, the server instance has several additional document directories. They have the
following prefixes:
/manual
/servlet
You should restrict access to these directories so that users cannot write to them. A sample
ACL would be:
deny (all) anyone;
allow (rxli) all;
allow (wd) privileged_user;
Chapter 16
Content Management
349
2.
3.
4.
Choose the subdirectory in the users home directory where the server looks for HTML
files.
A typical directory is public_html.
5.
350
6.
7.
8.
Click OK.
For more information, see the online help for the User Document Directories page.
Another way to give users separate directories is to create a URL mapping to a central
directory that all of your users can modify.
becomes:
jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh
After you make this modification, iPlanet Web Server will not serve pages from this users
directory. The browser requesting the URI receives a 404 File Not Found error and a 404
error will be logged to the web server access log. No error will be logged to the errors log.
If, at a later time, you decide to allow this user to publish content, remove the trailing slash
from the /etc/passwd entry, then restart the web server.
Chapter 16
Content Management
351
2.
3.
4.
Click OK.
For more information, see the online help for the Remote File Manipulation page.
352
These settings are all configured for the class, not individual virtual servers.
2.
3.
4.
Click OK.
The preferences you can set are discussed more fully in the sections that follow. For
additional information, see the online help for the Document Preferences page.
Chapter 16
Content Management
353
The server indexes directories by searching the directory for an index file called
index.html or home.html, which is a file you create and maintain as an overview of the
directorys contents. For more information, see the previous section, Entering an Index
Filename on page 353. You can specify any file as an index file for a directory by naming
it one of these default names, which means you can also use a CGI program as an index if
CGI is activated.
If an index file isnt found, the server generates an index file that lists all the files in the
document root.
CAUTION
If your server is outside the firewall, turn off directory indexing to ensure
that your directory structure and filenames are not accessible.
354
text/plain
text/html
text/richtext
image/tiff
image/jpeg
image/gif
application/x-tar
application/postscript
application/x-gzip
audio/basic
2.
Chapter 16
Content Management
355
3.
Type the URL prefix you want to redirect, and whether you want to redirect it to
another prefix or to a static URL.
4.
Click OK.
For more information see the online help for the URL Forwarding page.
2.
3.
Choose Entire Server from the resource picker to apply your change to the whole class,
or navigate to the document root for a specific virtual server, or to a specific directory
or within a specific virtual server.
4.
For each error code you want to change, specify the absolute path to the file or CGI that
contains the error response.
5.
Click OK.
For more information see the online help for the Error Responses page.
356
Netscape Navigator can use the MIME type charset parameter in HTTP to change its
character set. If the server includes this parameter in its response, Netscape Navigator
changes its character set accordingly. Examples are:
Content-Type: text/html;charset=iso-8859-1
Content-Type: text/html;charset=iso-2022-jp
The following charset names recognized by Netscape Navigator are specified in RFC
1700 (except for the names that begin with x-):
us-ascii
iso-8859-1
iso-2022-jp
x-sjis
x-euc-jp
x-mac-roman
ansi_x3.4-1968
iso-ir-6
ansi_x3.4-1986
iso_646.irv:1991
ascii
iso646-us
us
ibm367
cp367
latin1
iso_8859-1
iso_8859-1:1987
iso-ir-100
ibm819
cp819
2.
Chapter 16
Content Management
357
3.
Choose Entire Server from the resource picker to apply your change to the whole class,
or navigate to the document root for a specific virtual server, or to a specific directory
or within a specific virtual server.
4.
5.
Click OK.
For more information, see the online help for the International Characters page.
2.
3.
Choose Entire Server from the resource picker to apply your change to the whole class,
or navigate to the document root for a specific virtual server, or to a specific directory
or within a specific virtual server.
If you choose a directory, the document footer applies only when the server receives a
URL for that directory or any file in that directory.
4.
Specify the type of files that you want to have include the footer.
5.
6.
For more information see the online help for the Document Footer page.
358
Using htaccess
Using htaccess
For information on using htaccess, see Using .htaccess Files, on page 189.
Hard linksA hard link is really two filenames that point to the same set of data
blocks; the original file and the link are identical. For this reason, hard links cannot be
on different file systems.
Symbolic (soft) linksA symbolic link consists of two files, an original file that
contains the data, and another that points to the original file. Symbolic links are more
flexible than hard links. Symbolic links can be used across different file systems and
can be linked to directories.
For more information about hard and symbolic links, see your Unix/Linux system
documentation.
File system links are an easy way to create pointers to documents outside of the primary
document directory and anyone can create these links. For this reason you might be
concerned that people might create pointers to sensitive files (for example, confidential
documents or system password files).
To restrict symbolic links, follow these steps:
1.
2.
3.
Choose Entire Server from the resource picker to apply your change to the whole class,
or navigate to the document root for a specific virtual server, or to a specific directory
or within a specific virtual server.
4.
Choose whether to enable soft and/or hard links and the directory to start from.
5.
Click OK.
For more information, see the online help for the Symbolic Link page.
Chapter 16
Content Management
359
2.
3.
4.
5.
6.
Click OK.
For more information on setting your server to accept parsed HTML, see the online help for
the Parse HTML page.
For more information on using server-parsed HTML, see the iPlanet Web Server
Programmers Guide.
360
2.
3.
Fill in the fields. Valid values for the response directives are as follows:
4.
No Store. The cache must not store the request or response anywhere in
nonvolatile storage.
Must Revalidate. The cache entry must be revalidated from the originating server.
Maximum Age (sec). The client does not accept a response that has an age greater
than this age.
Click OK.
For more information see the online help for the Cache Control Directives page.
Chapter 16
Content Management
361
362
Chapter
17
Configuration styles are an easy way to apply a set of options to specific files or directories
that your various virtual servers maintain. For example, you can create a configuration style
that sets up access logging. When you apply that configuration style to the files and
directories that you want to log, you dont have to individually configure access logging for
all the files and directories in your virtual server.
This chapter includes the following sections:
2.
3.
4.
Type the name you want to give the configuration style. Click OK.
iPlanet Web Server displays the Edit a Style page.
5.
From the drop-down list, choose a configuration style to edit and click Edit this Style.
6.
From the list of links available, click the category you want to configure for your style.
363
8.
Repeat step 4 and step 5 to make any other configuration changes to the configuration
style. Click OK.
When you choose a style to edit, your Resource Picker lists configuration styles instead of
other resources. After you have finished editing a style, click OK and Save and Apply. The
Resource Picker exits the styles mode. You can also choose to exit the styles mode by
choosing Exit styles mode from the Resource Picker. For more information about the
Resource Picker, see Using the Resource Picker, on page 40 of Chapter 1, Introduction
to iPlanet Web Server.
Table 17-1 Configuration Style Categories
364
Category
Description
Allows you to activate CGI as a file type. For more information about
CGIs, see Installing CGI Programs, on page 335 in Chapter 15,
Extending Your Server With Programs.
Character Set
Allows you to change the character set for a resource. For more
information about character sets, see Changing the Character Set, on
page 356 in Chapter 16, Content Management.
Allows you to set a default query handler for a server resource. For
more information about query handling, see Using the Query
Handler, on page 344 in Chapter 15, Extending Your Server With
Programs.
Document Footer
Dynamic Configuration
Error Responses
Allows you to customize the error responses that clients see when they
encounter an error from your server.
Log preferences
Allows you to set preferences for access logs. For more information
about log preferences, see Setting Log Preferences, on page 206 in
Chapter 9, Using Log Files.
Remote file
manipulation
Require Stronger
Security
Description
Restrict Access
Allows you to restrict access to the entire server or parts of it. For more
information about access control, see Chapter 8, Controlling Access to
Your Server.
Allows you to specify whether the server parses files before they are
sent to the client.
For more information, see The Create a New Style Page in the online help.
2.
3.
4.
Enter the prefix of the URL to which you are applying this configuration style.
If you choose a directory inside the document root, only enter the path after the
document root. If you enter /* after the directory, you apply the configuration style to
all of the directorys contents.
5.
For more information, see The Assign a Style Page in the online help.
17
365
2.
3.
4.
To edit a configuration style assignment, click the Edit link next to the configuration
style name.
For more information, see The List Assignments Page in the online help.
2.
3.
4.
Select the configuration style you want to edit and click the Edit this style button.
5.
From the list of links available, click the category you want to configure for your style.
For more information on these categories, see the section Creating a Configuration
Style on page 363.
6.
Fill out the form that appears, and then click OK.
7.
Repeat Step 4 and Step 5 to make any other changes to the configuration style. Click
OK.
When you choose a style to edit, your Resource Picker lists configuration styles instead of
other resources. After you have finished editing a style, click OK and Save and Apply. The
Resource Picker exits the styles mode. You can also choose to exit the styles mode by
choosing Exit styles mode from the Resource Picker. For more information about the
Resource Picker, see Using the Resource Picker, on page 40 of Chapter 1, Introduction
to iPlanet Web Server.
For more information, see The Edit a Style Page in the online help.
366
2.
3.
4.
5.
For more information, see The Remove a Style Page in the online help.
Chapter
17
367
368
Part
Appendixes
369
370
Appendix
This appendix provides instructions for using command line utilities in place of the user
interface screens.
This appendix contains the following sections:
371
For more information about command-line utilities used with Directory Server database
entries, see the iPlanet Directory Server 5.0 Command and File Reference or the Netscape
Schema Reference, Directory Server 4.0 on
http://docs.iplanet.com/docs/manuals/directory.html.
Before you can run HttpServerAdmin, you need to set the environment variable
IWS_SERVER_HOME to the server root directory in your environment.
For example, on Unix/Linux systems:
setenv IWS_SERVER_HOME /usr/iplanet/servers
On Windows NT systems:
1.
2.
3.
Type IWS_SERVER_HOME in the Variable field and the path to your server root in
the Value field.
4.
Click Set.
5.
Click OK.
NOTE
HttpServerAdmin Syntax
The HttpServerAdmin syntax is as follows:
HttpServerAdmin command_name command_options -d server_root -sinst
http_instance
372
You can get an online explanation of the command parameters by typing the following
command:
./HttpServerAdmin -h
control
create
delete
list
Each command has its own set of command options. For more information, see the sections
in this chapter that describe each command.
Regardless of the value of the command parameter, the parameters shown in Table A-1 can
apply to all uses of the HttpServerAdmin command.
Table A-1
HttpServerAdmin Parameters
Parameter
Value
-d server_root
(required). This parameter designates the path to the server root (the
location where the server is installed).
-sinst http_instance
control Command
Use the control command to start, stop, and disable classes and virtual servers. If you do
not specify a virtual server, the command starts, stops or disables every virtual server in the
class.
Options
Use the options shown in Table A-2 with the control command to control classes and
virtual servers.
Appendix
373
Table A-2
Options
Value
-start
Starts the specified virtual server, or all virtual servers in the class if
no virtual server is specified.
-stop
Stops the specified virtual server, or all virtual servers in the class if
no virtual server is specified.
-disable
Disables the specified virtual server, or all virtual servers in the class
if no virtual server is specified.
Syntax
HttpServerAdmin control -cl classname, -control_option [-id virtual_server] -d
server_root -sinst http_instance
Parameters
Use these parameters with the command options to control virtual servers
Table A-3
Parameters
Value
-cl classname
-id virtual_server
Examples
HttpServerAdmin control -cl myclass -start -id myvirtualserver -d
/usr/iplanet/servers -sinst https-iplanet.com
HttpServerAdmin control -cl myclass -stop -id myvirtualserver -d
/usr/iplanet/servers -sinst https-iplanet.com
HttpServerAdmin control -cl myclass -disable -id myvirtualserver
-d /usr/iplanet/servers -sinst https-iplanet.com
374
create Command
Use the create command to create classes of virtual servers, virtual servers, listen sockets
and connection groups.
Options
Use the options shown in Table A-4 with the create command to create classes, listen
sockets, and virtual servers.
Table A-4
Option
Value
-c
-g
-l
-v
Each of these options in turn has its own parameters, which are shown in the following
sections.
Syntax
HttpServerAdmin create -c -cl classname [-docroot document_root] [-obj
obj.conf_file] -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-5 with the create -c command option to create
classes.
Table A-5
Parameter
Value
-cl classname
-docroot document_root
Appendix
375
Table A-5
Parameter
Value
-obj obj.conf_file
(optional) The obj.conf file for the class. If you do not specify this
parameter, the server creates the obj.conf file as classname.obj.conf.
If you want a different name for the class obj.conf file, specify it
here.
Example
HttpServerAdmin create -c -cl myclass1 -d /export/iplanet/servers
-sinst https-iplanet.com
Syntax
HttpServerAdmin create -g group_ID -lsid listen_socket -ip IPaddress -sname
server_name -defaultvs default_virtual_server -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-8 with the create -g command option to create
connection groups.
Table A-6
376
Parameter
Value
-g connection_group
-lsid listen_socket
The ID of the listen socket you want associated with this connection
group.
-ip IP_address
-sname server_name
-defaultvs
default_virtual_server
Examples
HttpServerAdmin create -g conngroup2 -lsid ls1 -ip 1.1.1.1 -sname
iplanet -defaultvs vs2 -d server_root -sinst https-iplanet.com
Syntax
HttpServerAdmin create -l -ip ip_address -port port_number -sname
server_name -defaultvs default_virtual_server [-sec security] [-acct
number_of_accept_threads] -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-7 with the create -l command option to create
listen sockets.
Table A-7
Parameter
Value
-ip ip_address
-port port_number
-sname server_name
-defaultvs default_virtual_server
-acct number_of_accept_threads
-sec on
Example
HttpServerAdmin create -l -id ls3 -ip 0.0.0.0 -port 1333 -sname
austen -defaultvs vs2 -sec on -acct 4 -d /export/carey/server6
-sinst https-austen.com
Appendix
377
Syntax
HttpServerAdmin create -v -id virtual_server -cl classname -urlh urlhosts
-conngroupid connection_group_ID[-state state][-docroot document_root] [-mime
mime_types_file] [-aclid acl_ID] -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-8 with the create -v command option to create
virtual servers.
Table A-8
378
Parameter
Value
-id virtual_server
-cl classname
-urlh URL_hosts
The URL hosts for the virtual server. You can specify more than one
URL host, separated by a comma.
-conngroupid
connection_group_ID
-state state
-docroot document_root
-mime mime_types_file
(optional) The name of the MIME types file for the virtual server.
-aclid acl_ID
Examples
HttpServerAdmin create -v -id vs3 -cl class1 -urlh annh
-conngroupid group1 -d /export/iplanet/server6 -sinst
https-iplanet.com
HttpServerAdmin create -v -id vs4 -cl class1 -urlh annh,annh2
-conngroupid group1 -state off -mime mime.types -d
/export/iplanet/server6 -sinst https-iplanet.com
delete Command
Use the delete command to delete classes of virtual servers, virtual servers, and listen
sockets.
Options
Use the options shown in Table A-9 with the delete command to delete classes.
Table A-9
Option
Value
-c
-g
-l
-v
Delete Class
Use this option of the delete command to delete a virtual server class.
Syntax
HttpServerAdmin delete -c -cl classname -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-9 with the delete command to delete classes.
Appendix
379
Value
-c l class
Example
HttpServerAdmin delete -c -cl class1 -d /export/iplanet/server6
-sinst https-iplanet.com
Syntax
HttpServerAdmin delete -g -id connection_group -lsid listen_socket -d
server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-9 with the delete command to delete a connection
group.
Table A-11 Delete connection group parameters
parameter
Value
-id connection_group
-lsid listen_socket
Example
HttpServerAdmin delete -g -id conngroup3 -lsid ls2 -d
/export/iplanet/server6 -sinst https-iplanet.com
380
Syntax
HttpServerAdmin delete -l -id listen_socket -d server_root -sinst http_instance
Parameters
Use the parameters shown in Table A-9 with the delete command to delete classes.
Table A-12 Delete class parameters
parameter
Value
-id listen_socket
Example
HttpServerAdmin delete -l -id ls3 -d /export/iplanet/server6
-sinst https-iplanet.com
Syntax
HttpServerAdmin delete -v -id virtual_server -cl classname -d server_root
-sinst http_instance
Parameters
Use the parameters shown in Table A-9 with the delete command to delete a virtual
server.
Table A-13 Delete virtual server parameters
parameter
Value
-id virtual_server
-cl class
Appendix
381
Example
HttpServerAdmin delete -v -id vs3 -cl class1 -d
/export/iplanet/server6 -sinst https-iplanet.com
list Command
Use the list command to list classes of virtual servers, virtual servers, listen sockets and
connection groups.
Syntax
HttpServerAdmin list -command_option -d server_root -sinst http_instance
Options
Table A-14 List command options
382
Option
Value
-c
-g -lsid listen_socket
-l
-v
Example
HttpServerAdmin list -c -d /export/iplanet/server6 -sinst
https-iplanet.com
HttpServerAdmin list -l -d /export/iplanet/server6 -sinst
https-iplanet.com
HttpServerAdmin list -g -lsid ls1 -d /export/iplanet/server6
-sinst https-iplanet.com
Appendix
383
384
Appendix
This appendix provides a short introduction to a few HyperText Transfer Protocol (HTTP)
basics. For more information on HTTP, see the Internet Engineering Task Force (IETF)
home page at:
http://www.ietf.org/home.html
Requests
Responses
385
Requests
The iPlanet Web Server 4.x supports HTTP 1.1. Previous versions of the server supported
HTTP 1.0. The server is conditionally compliant with the HTTP 1.1 proposed standard, as
approved by the Internet Engineering Steering Group (IESG) and the Internet Engineering
Task Force (IETF) HTTP working group. For more information on the criteria for being
conditionally compliant, see the Hypertext Transfer ProtocolHTTP/1.1 specification
(RFC 2068) at:
http://www.ietf.org/html.charters/http-charter.html
Requests
A request from a client to a server includes the following information:
Request method
Request header
Request data
Request Method
A client can request information using a number of methods. The commonly used methods
include the following:
POSTRequests that the server accept some data from the client, such as form input
for a CGI program
PUTReplaces the contents of a servers document with data from the client
Request Header
The client can send header fields to the server. Most are optional. Some commonly used
request headers are shown in Table B-1.
Table B-1
386
Request header
Description
Accept
Responses
Table B-1
Request header
Description
Authorization
User-agent
Referer
The URL of the document where the user clicked on the link.
Host
The Internet host and port number of the resource being requested.
Request Data
If the client has made a POST or PUT request, it can send data after the request header and a
blank line. If the client sends a GET or HEAD request, there is no data to send; the client waits
for the servers response.
Responses
The servers response includes the following:
Status code
Response header
Response data
Status Code
When a client makes a request, one item the server sends back is a status code, which is a
three-digit numeric code. There are four categories of status codes:
Status codes in the 300399 range are returned when the URL cant be retrieved
because the requested document has moved.
Status codes in the 400499 range indicate the client has an error.
Status codes of 500 and higher indicate that the server cant perform the request, or an
error has occurred.
Appendix
387
Responses
Status code
Meaning
200
302
304
Use a local copy. If a browser already has a page in its cache, and
the page is requested again, some browsers (such as Netscape
Navigator) relay to the web server the last-modified timestamp
on the browsers cached copy. If the copy on the server is not
newer than the browsers copy, the server returns a 304 code
instead of returning the page, reducing unnecessary network
traffic. This is not an error.
401
403
404
Not found. The document requested isnt on the server. This code
can also be sent if the server has been told to protect the
document by telling unauthorized people that it doesnt exist.
500
Response Header
The response header contains information about the server and information about the
document that will follow. Common response headers are shown in Table B-3.
Table B-3
388
Response header
Description
Server
Date
Last-modified
Expires
Responses
Table B-3
Response header
Description
Content-length
Content-type
WWW-authenticate
Response Data
The server sends a blank line after the last header field. The server then sends the document
data.
Appendix
389
Responses
390
Appendix
This appendix describes the access-control list (ACL) files and their syntax. ACL files are
text files that contain lists that define who can access resources stored on your web server.
By default, the web server uses one ACL file that contains all of the lists for access to your
server. However, you can create multiple ACL files and reference them in the obj.conf
file.
You need to know the syntax and function of ACL files if you plan on customizing access
control using the access-control API. For example, you might use the access control API to
interface with another database, such as an Oracle or Informix database. For more
information on the API, see the iPlanet documentation site at:
http://www.iplanet.com/docs
You can include comments in the file by beginning the comment line with the # sign.
391
Each ACL in the file begins with a statement that defines its type. ACLs can follow one of
three types:
URI (Uniform Resource Indicator) ACLs specify a directory or file relative to the
servers document root.
Named ACLs specify a name that is referenced in resources in the obj.conf file. The
server comes with a default named resource that allows read access to anyone and
write access to users in the LDAP directory. Even though you can create a named ACL
from the iPlanet Web Server windows, you must manually reference the named ACLs
with resources in the obj.conf file.
Path and URI ACLs can include wildcards at then end of the entry. For example: /a/b/*.
Wildcards placed anywhere except at the end of the entry will not work.
The type line begins with the letters acl and then includes the type information in
double-quotation marks followed by a semicolon. Each type information for all ACLs must
be a unique name--even among different ACL files. The following lines are examples of
several different types of ACLs:
acl "path=C:/iPlanet/Servers/docs/mydocs/";
acl "default";
acl "uri=/mydocs/";
After you define the type of ACL, you can have one or more statements that define the
method used with the ACL (authentication statements) and the people and computers who
are allowed or denied access (authorization statements). The following sections describe the
syntax for these statements.
This section includes the following topics:
Authentication Methods
Authorization Statements
Authentication Methods
ACLs can optionally specify the authentication method the server must use when
processing the ACL. There are three general methods:
392
Basic
Digest
SSL
Basic and digest require users to enter a username and password before accessing a
resource.
SSL requires the user to have a client certificate. The web server must have encryption
turned on, and the users certificate issuer must be in the list of trusted CAs to be
authenticated.
By default, the server uses the Basic method for any ACL that doesnt specify a method.
Your servers authentication database must be able to handle digest authentication sent by a
user.
Each authenticate line must specify what attribute (users, groups, or both users and groups)
the server authenticate. The following authentication statement, which would appear after
the ACL type line, specifies basic authentication with users matched to individual users in
the database or directory:
authenticate (user) {
method = basic;
};
The following example uses SSL as the authentication method for users and groups:
authenticate (user, group) {
method = ssl;
};
The following example allows any user whose username begins with the letters sales:
authenticate (user)
allow (all)
user = sales*
If the last line was changed to group = sales, then the ACL would fail because the group
attribute is not authenticated.
Authorization Statements
Each ACL entry can include one or more authorization statements. Authorization
statements specify who is allowed or denied access to a server resource. Use the following
syntax when writing authorization statements:
allow|deny [absolute] (right[,right...]) attribute expression;
Appendix
393
Start each line with either allow or deny. Its usually a good idea to deny access to everyone
in the first rule and then specifically allow access for users, groups, or computers in
subsequent rules. This is because of the hierarchy of rules. That is, if you allow anyone
access to a directory called /my_stuff, and then you have a subdirectory
/my_stuff/personal that allows access to a few users, the access control on the
subdirectory wont work because anyone allowed access to the /my_stuff directory will
also be allowed access to the
/my_stuff/personal directory. To prevent this, create a rule for the subdirectory that
first denies access to anyone and then allows it for the few users who need access.
However, in some cases if you set the default ACL to deny access to everyone, then your
other ACL rules dont need a deny all rule.
The following line denies access to everyone:
deny (all)
user = "anyone";
Attribute Expressions
394
If there are more than one ACLs that match, the server uses the last statement that matches.
However, if you use an absolute statement, then the server stops looking for other matches
and uses the ACL containing the absolute statement. If you have two absolute statements
for the same resource, the server uses the first one in the file and stops looking for other
resources that match.
version 3.0;
acl "default";
authenticate (user,group) {
prompt="Web Server";
};
allow (read,execute,list,info)
user = "anyone";
allow (write,delete)
user = "all";
acl "uri=/my_stuff/web/presentation.html";
deny (all)
user = "anyone";
allow (all)
user = "joe";
Attribute Expressions
Attribute expressions define who is allowed or denied access based on their username,
group name, host name, or IP address. The following lines are examples of allowing access
to different people or computers:
user = anyone
user = smith*
group = sales
dns = *.iplanet.com
dns = *.iplanet.com,*.mozilla.com
ip = 198.*
ciphers = rc4
ssl = on
Appendix
395
You can also restrict access to your server by time of day (based on the local time on the
server) by using the timeofday attribute. For example, you can use the timeofday
attribute to restrict access to certain users during specific hours.
NOTE
Use 24-hour time to specify times. For example, use 0400 to specify 4:00
a.m. or 2230 for 10:30 p.m.
The following example restricts access to a group of users called guests between 8:00 a.m.
and 4:59 p.m:
allow (read)
(group="guests") and
(timeofday<0800 or timeofday=1700);
You can also restrict access by day of the week. Use the following three-letter abbreviations
to specify days of the week: Sun, Mon, Tue, Wed, Thu, Fri, and Sat.
The following statement allows access for users in the premium group any day and any
time. Users in the discount group get access all day on weekends and on weekdays anytime
except 8am-4:59pm.
allow (read) (group="discount" and dayofweek="Sat,Sun") or
(group="discount" and (dayofweek="mon,tue,wed,thu,fri" and
(timeofday<0800 or timeofday=1700)))
or
(group="premium");
and
or
not
= (equals)
396
greater than
.genwork File
Letters a through z
Numbers 0 through 9
If you use any other characters, you need to use double-quotation marks around the
characters.
A single statement can be placed on its own line and be terminated with a semicolon.
Multiple statements are placed within braces. A list of items must be separated by commas
and enclosed in double-quotation marks.
Appendix
397
In the previous example, the first line is the object that states which server resource you
want to restrict access to. The second line is the PathCheck directive that uses the
check-acl function to bind the name ACL (testacl) to the object in which the directive
appears. The testacl ACL can appear in any ACL file referenced in magnus.conf.
398
Appendix
The internationalized version of the iPlanet Web Server contains special features
tailored for the non-U.S. environment. These features include a choice of
user-interface language (Japanese, French, or German) and a choice of search
engines that allow you to use text search on a variety of languages.
This appendix contains the following sections:
General Information
Search Information
General Information
The following information covers the international considerations for general
server capabilities:
General Information
For information on installing the international version of the server, see the iPlanet
Web Server, Enterprise Edition 6.0 Release Notes. You can access the Release Notes
online via the link provided in the README file.
400
General Information
If that is not available either, and a ClientLanguage (call it xx) is defined in the
magnus.conf file, the server tries:
http://www.someplace.com/xx/somepage.html
Directive
Values
Description
ClientLanguage
DefaultLanguage
Appendix
401
Search Information
AcceptLanguage
on, off
Character Sets
iPlanet Web Server supports the following character sets:
Korean-ksc (949)
Search Information
Search capabilities are supported for the following languages:
402
English
German
French
Italian
Spanish
Swedish
Dutch
Japanese
Korean
Simplified Chinese
Traditional Chinese
Search Information
You choose which search engines to install when you install the international
version of the server.
This section includes the following topics:
International Search
International Search
If your server contains documents in various character set encodings, the search
collections and/or auto catalog for the documents will inherit the same encodings
as the originals. To view documents in different character set encodings, users
must change the character set encoding for their browsers. In addition, since the
text search and auto catalog features work with one character set encoding at a
time, you might receive inaccurate results when using those features. For best
results, use one specific character set for all documents.
Query Operators
This release supports the following query operators for Japanese and Korean
languages:
Table D-2
Operator
AND
Yes
CONTAINS
No
ENDS
Yes
MATCHES
Yes
NEAR
Yes
NEAR/N
Yes
NOT
Yes
OR
Yes
Appendix
403
Search Information
Table D-2
Operator
J/C/K Character
PHRASE
Yes
STARTS
Yes
STEM
English only
SUBSTRING
Yes
WILDCARD *
Yes
WILDCARD ?
Yes
WORD
Yes
Document Formats
This release supports the following document formats for the Japanese and Korean
languages:
HTML
ASCII
NEWS
Searching in Japanese
The following sections give additional information about searching in the Japanese
character set.
Document Codes
This release supports the following document codes for the Japanese language:
eucjp
Shift_JIS
Search Words
This release supports the following search words:
404
kanji
hiragana
auto (default)
none
utf8
Auto
Auto requires the servlet container to look for some hints for the character
encoding to be used. The server will always try to resolve the charset from the
Content-Type header of the request first. Since that may not always be available,
another hint can be specified as:
This option is used if the servlet that is reading the data knows beforehand
what the charset of the posted data is.
Appendix
405
A j_encoding parameter in the form data. The form that is being submitted
can have a hidden element:
<input type=hidden name="j_encoding" value="Shift_JIS" >
This option is typically used if the servlet that is reading the data does not
necessarily know what the charset of the posted data is. The hint parameter
name, which by default is j_encoding can be changed using
parameter-encoding element in web-apps.xml.
None
Use this option if you wish the platform default encoding to be used for the servlet
parameter data.
utf8
If none of the above options are specified, the servlet container interprets this string
itself as the encoding, so this can be any valid encoding string like Shift_JIS, or
UTF8. For example, you would specify this as UTF-8 if you know that the form
POST data is always in UTF-8.
406
Posting to JSPs
If you are posting to a JSP instead of to a servlet, the same holds true. For example,
a JSP configured to auto to read parameters which are in Japanese Shift_JIS
encoding:
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=Shift_JIS">
<title>JSP Test Case</title>
</head>
<body>
<%
request.setAttribute("com.iplanet.server.http.servlet.parameterEnco
ding", "Shift_JIS");
%>
<h1>The Entered Name is : <%= request.getParameter("test") %>
</h1>
</body>
</html>
Appendix
407
408
Appendix
This appendix describes using server extensions on your iPlanet Web Server that provide
support for Microsofts FrontPage. These extensions provide the internal server-side
support you need if you are using FrontPage webs.
This appendix includes the following sections:
Overview
Further Information
Overview
FrontPage server extensions are CGI programs that provide iPlanet Web Server support for
FrontPage webs. Client-server communication takes place through standard HTTP POST
requests that are forwarded to the appropriate extensions CGI program. If you use
FrontPage webs, the extensions provide support for FrontPage authoring and publishing,
access permission, and WebBot functions. For example:
When a user moves a page between folders in a FrontPage web, the extensions
automatically update all links to that page from every other page in the web.
You can specify which users have permission to administer, author or browse a
FrontPage web.
When FrontPage web users participate in a discussion group, the extensions take
advantage of the available WebBots to maintain an index of links to discussion articles,
tables of contents, and search forms.
409
Overview
The extensions can minimize file transfers over the Internet. For example, when a user
opens a FrontPage web from an iPlanet Web Server with the extensions, web metadata,
such as its map of links, is downloaded to the users machine but the full set of web pages
remain on the server. A page is downloaded only when it is opened for editing.
Once you have installed the extensions on your server, FrontPage web publishing,
administering, and discussion group functionality is available from any computer that is on
the Internet or a local Intranet, although you need the FrontPage client program for
authoring and administrative functions.
This section includes the following topics:
Security Issues
Root webs are the top-level content directory of a Web server or, in a multi-hosting
environment, of a virtual Web server. There can only be one root web per Web Server
or virtual Web server. A single root web can support a number of sub-webs.
Sub-webs are complete FrontPage webs that are subdirectories of the root web.
Sub-webs can only exist one level below the root web. Each sub-web can have many
levels of subdirectories, making up its content.
Even though sub-webs appear below the root web in the Web servers file system and URL
space, the root web does not include the content in its sub-webs. This separation of content
is done by the FrontPage Server Extensions.
The root web and all sub-webs on a server must have separate copies of the extensions
installed or have stub executables of the extensions programs. Having separate copies of the
extensions for each FrontPage web lets the server administrator enforce different end-user,
author, and administrator permissions on each FrontPage web, since FrontPage uses the
servers built-in security mechanism to control access.
410
Overview
Security Issues
FrontPage implements web security on your web server by changing the access-control lists
(ACLs) for all files and directories in each FrontPage web. Installing FrontPage always
modifies the ACLs of the Server Extensions stub executables contained in the /_vti_bin
directory in each web. A new installation of FrontPage will additionally modify the ACLs
of the web content files, but an upgrade of an existing installation of the Server Extensions
will not modify the content file ACLs and consequently will leave the security settings at a
less secure level than the default FrontPage settings. You can upgrade the ACLs of your
web content by using the Check and Fix option of the FrontPage Server Administrator
utility.
In addition to modifying the security ACLs of the web content files, FrontPage modifies the
ACLs of any system DLLs that are used as a result of a FrontPage DLL call, to ensure that
the system DLLs will have the correct level of permissions to run under any administrator,
author, or end-users account. For the complete set of ACLs set on FrontPage files, along
with a discussion of security considerations when installing the Server Extensions and the
reasons why the ACLs of the system DLLs must be modified, see the additional resources
available at Ready-to-Run Software and Microsofts web sites.
Appendix
411
[Unix /Linux] You can download from Microsofts web site an install script and a
set of server extensions. Download two tar files for your platform (for Solaris, they
are vt20.solaris.tar.z and wpp.solaris.tar.z, which is part of the WPP
Kit Software.)
412
[Unix /Linux] You can download from Ready-to-Run Softwares web site an
install script and a set of server extensions. Download two tar files for your
platform (for Solaris, they are vt20.solaris.tar.z and
wpp.solaris.tar.z, which is part of the WPP Kit Software).
Before you install the FrontPage Server Extensions, you need to be sure you have enough
disk space available on your local machine, that you have a document root directory, that
you have enabled authentication, and that you are aware of some important post-install
issues such as access permissions.
This section includes the following topics:
Space Requirements
Preliminary Tasks
Space Requirements
On Windows NT systems, you need to have approximately 6MB of disk space available.
The downloaded file is 3MB and the installed files total 2.5MB.
On Unix /Linux systems, you should have at least 32MB available on your server. The Unix
/Linux FrontPage extensions need 9MB of disk space in the /usr/local/frontpage
directory. If you install the extensions onto your web content, you need an extra 5MB per
virtual host unless your web content is in the same disk partition as
/usr/local/frontpage.
Preliminary Tasks
You need to have a document root directory for your iPlanet Web Server, which is created
when you start up your server for the first time. This means you must start up your server at
least once before installing the extensions.
When the document root exists, replace $docroot in NameTrans fn=document root
root=$docroot with the absolute path to the document directory in the obj.conf file
of the web server configuration directory.
Appendix
413
Do not remove any of the internal files needed by FrontPage such as the .nsconfig
file. Doing so disables access control for content upload.
You cannot set a web to be restricted to valid end-users only. If you set this, you
receive a message that says This server does not support restricting end user access.
[Unix /Linux only] When you install the stub extensions, you should set the web owner
to be the same as the iPlanet Web Server user. This is so that the FrontPage extensions
have write permissions to certain directories, namely the https-instance/config
directory and the doc root. The fpsrvadm.exe script, which installs stub extensions to
the webs, asks for the web owner.
Windows NT systems
414
These installation instructions are for the standalone FrontPage Server Extensions that are
in a self-extracting executable that is downloadable from the Microsoft FrontPage web site.
NOTE
Make sure to install one copy of FrontPage and the Server Extension Resource Kit on the
same machine as your web server. To install FrontPage Server Extensions on Windows NT,
perform the following steps:
1.
Run the server extensions setup program for your language and processor type.
For example, for English FrontPage98 extensions, it is the fp98ext_x86_enu.exe
file. The server extensions are copied to the folder C:\Program
Files\MicrosoftFrontPage\Version 3.0. For English FrontPage2000
extensions, it is the fpse2k_x86_ENG.exe file. The server extensions are copied to
the folder C:\Program Files\Common Files\Microsoft Shared\Web Server
Extensions\40.
2.
After installing FrontPage 2000 with the Server Extensions Resource Kit, launch the
Server Extensions Administrator under Start | Programs | Administrative Tools,
right-click on your machines host name under Console Root | FrontPage Server
Extensions, and select New Web. Follow the steps in the wizard to select your server
instance and configure it for FrontPage Server Extensions.
3.
Select the virtual servers on which the FrontPage Server Extensions should be installed
and click OK.
4.
You can add other administrator accounts after installing the server extensions using the
Permissions command in the FrontPage Explorer.
Installing the server extensions on each FrontPage web may take several minutes and may
increase the CPU load on your computer. If this is a new installation of the FrontPage
Server Extensions, each pages contents are parsed to expand FrontPage components (such
as Include components and Substitution components), create a hyperlink map of the
FrontPage web, and extract page titles and base URLs.
The installation also updates the text indices and recalculates the links in the Web, adds a
FrontPage administration account, password, and IP address restriction, and reminds the
web administrator to restart the server if new ObjectType directives were added to the
obj.conf file.
Appendix
415
The FrontPage Server Extension .dll and .exe files are copied to the \bin
subdirectory and to the default \windows\system directory.
The ISAPI (.dll) or CGI (.exe) files used by FrontPage to implement the Server
Extensions functionality in the users webs are copied to the \isapi and \_vti_bin
directories, respectively. They are also copied into the document root of each virtual
server on which you are installing the FrontPage extensions.
416
The FrontPage Server Extensions .dll and .exe files are copied to the \bin
subdirectory and to the default \windows\system directory.
The three ISAPI (.dll) or CGI (.exe) files used by FrontPage to implement the
Server Extensions functionality in the users webs are copied to the \isapi and
\_vti_bin directories, respectively. They are also copied into the document root of
each virtual server on which the FrontPage extensions are installed.
HTML Administration forms, a set of HTML forms for remotely administering the
FrontPage Server Extensions via web browsers. Also a command line utility
(fpremadm.exe) for remote administration of the FrontPage Server Extensions is
installed in the \bin directory.
The FrontPage Server Extensions .dll and .exe files are copied to the \bin
subdirectory and to the \WINNT\system32 directory.
The three ISAPI (.dll) or CGI (.exe) files used by FrontPage to implement the
Server Extensions functionality in the users webs are copied to the \isapi and
\_vti_bin directories, respectively. They are also copied into the document root of
each virtual server on which the FrontPage extensions are installed.
HTML Administration forms, a set of HTML forms for remotely administering the
FrontPage Server Extensions via web browsers, are copied to the \admcgi and
\admisapi subdirectories. Also a command line utility (fpremadm.exe) for remote
administration of the FrontPage Server Extensions is installed in the \bin directory.
Adds the following seven subdirectories are created under your servers document root:
\_private
\_vti_bin (contains shtml.exe)
\_vti_bin\_vti_adm (contains admin.exe)
\_vti_bin\_vti_aut (contains author.exe)
\_vti_cnf
\_vti_log
\_vti_pvt
\_vti_txt
\images
Appendix
417
Once you have completed the installation process, you must also perform the following
administrative tasks:
For FrontPage 97 and 98, execute the fpsrvwin.exe file (located in the \bin directory
of your FrontPage directory) to set the server port, test the extensions, install the
extensions to other virtual servers, and update extensions.
For FrontPage 2000, run the Server Extensions Administrator (under Start | Programs |
Administrative Tools) or the command line version (fpsrvadm.exe).
You need to provision each additional web. You can do this from the client side, with
the FrontPage client provided the client has the right authorization (the administrator
username and password) for the root web. You can also provision user webs from the
server side by using the program fpsrvadm.exe to set the password for an individual
web. You need to make sure that the new FrontPage web does not inherit the
administrator username and password from the root web.
Locate the fpadmin.htm file, typically in the \admin\cgi directory (97 and 98) or
\admcgi directory (2000) of your FrontPage program directory. You can use this to
configure your FrontPage web.
Users can edit the local web that is displayed when FrontPage is started, but they must
have a valid user ID and password to modify it.
418
These installation instructions are for the standalone FrontPage Server Extensions that are
in a tarred file that is downloadable from the Microsoft FrontPage web site or the
Ready-To-Run Software website.
NOTE
You must be logged in as the root user to perform the installation. Also,
the root user must have write permission for the /usr/local directory,
even if this is not the directory where you will install the extensions. If you
install the extensions in a different directory, a soft link is added
automatically to /usr/local.
Log in as the root user so you can install the FrontPage Server Extensions from the tar
file:
cd /usr/local
2.
3.
4.
Create a directory named /extensions and move the _vti_bin directory into it.
mv _vti_bin extensions
5.
6.
7.
8.
Run the fp_install.sh shell program and follow the on-screen instructions, which
ask for the information described in the following table.
Appendix
419
When you are prompted for the name of the server configuration file, enter the
pathname of your servers magnus.conf file.
Table E-1
-fpdir <dir>
default
FrontPage Directory
-httpdconfdir <dir>
default
-web <webname>
required
-user <webowner>
required
-group <webgroup>
optional
-host <host>
-admuser <fpadmin>
required
-admpass <fppass>
required
-admaddr <ipaddr>
optional
Installing the Server Extensions on each FrontPage web may take several minutes and may
increase the CPU load on your computer. If this is a new installation of the FrontPage
Server Extensions, each pages contents are parsed to expand FrontPage components, such
as Include components and Substitution components, create a hyperlink map of the
FrontPage web, and extract page titles and base URLs.
The installation process also updates the text indices and recalculates the links in the Web,
adds a FrontPage administration account, password, and IP address restriction, and reminds
the web administrator to restart the server if new ObjectType directives were added to the
obj.conf file.
During installation, the install shell modifies or adds the following files and directories:
420
Modifies magnus.conf
Once you have completed the installation process, you must perform the following
administrative tasks:
1.
Execute the fpsrvwin.exe file to set the server port, test the extensions, install the
extensions to other virtual servers, and update extensions.
2.
A remote machine must have the FrontPage 97, 98, or 2000 program installed
(Macintosh or Windows only).
Once the FrontPage program is started, the user is prompted for the name of a server to
edit or open.
3.
If the user wants to edit a web on a different machine, click on MoreWebs on the line
to select a web server or disk location enter in the servername:portnumber of the
web to edit. Choose OK.
4.
Select the proper web from the list of webs on the host machine to edit.
Appendix
421
After installation, you must perform some additional administrative tasks for setting
permissions and accessing specific webs.
NOTE
You must be logged in as the root user to perform the installation. Also,
the root user must have write permission for the /usr/local directory,
even if this is not the directory where you will install the extensions. If you
install the extensions in a different directory, a soft link is added
automatically to /usr/local.
Log in as the root user so you can install the FrontPage Server Extensions from the tar
file.
2.
3.
Run the fp_install.sh shell program and follow the on-screen instructions, which
ask for parameter information.
When you are prompted for the name of the server configuration file, enter the
pathname of your servers magnus.conf file.
Installing the Server Extensions on each FrontPage web may take several minutes and may
increase the CPU load on your computer. If this is a new installation of the FrontPage
Server Extensions, each pages contents are parsed to expand FrontPage components, such
as Include components and Substitution components, create a hyperlink map of the
FrontPage web, and extract page titles and base URLs.
The installation process also updates the text indices and recalculate the links in the Web,
adds a FrontPage administration account, password, and IP address restriction, and reminds
the web administrator to restart the server if new ObjectType directives were added to the
obj.conf file.
During installation, the install shell modifies or adds the following files and directories:
422
Modifies magnus.conf
Creates .nsconfig files in the /_vti_bin, /_vti_adm, /_vti_aut and the document
root directories.
You must be logged in as the root user to perform the installation. Also,
the root user must have write permission for the /usr/local directory,
even if this is not the directory where you will install the extensions. If you
install the extensions in a different directory, a soft link is added
automatically to /usr/local.
Log in as the root user so you can install the FrontPage Server Extensions from the tar
file.
2.
Appendix
423
3.
Run the fp_install.sh shell program and follow the on-screen instructions, which
ask for parameter information.
4.
Enter the pathname of your servers magnus.conf file when you are prompted for the
name of the server configuration file.
Installing the Server Extensions on each FrontPage web may take several minutes and may
increase the CPU load on your computer. If this is a new installation of the FrontPage
Server Extensions, each pages contents are parsed to expand FrontPage components, such
as Include components and Substitution components, create a hyperlink map of the
FrontPage web, and extract page titles and base URLs.
The installation process also updates the text indices and recalculate the links in the Web,
adds a FrontPage administration account, password, and IP address restriction, and reminds
the web administrator to restart the server if new ObjectType directives were added to the
obj.conf file.
During installation, the install shell modifies or adds the following files and directories:
Modifies magnus.conf
Creates .nsconfig files in the /_vti_bin, /_vti_adm, /_vti_aut and the document
root directories.
424
Further Information
Further Information
Additional detailed information can be obtained from Microsofts FrontPage web site:
http://www.microsoft.com
For Unix/ Linux only, information can also be obtained from the Ready-to-Run Software
web site:
http://www.rtr.com
Appendix
425
Further Information
426
Glossary
Access Control Entries (ACEs) A hierarchy of rules which the web server uses to
evaluate incoming access requests.
Access Control List (ACL) A collection of ACEs. An ACL is a mechanism for
defining which users have access to your server. You can define ACL rules that are
specific to a particular file or directory, granting or denying access to one or more
users and groups.
admpw The username and password file for the Enterprise Administrator Server
superuser.
agent Software that runs the network-management software in a network device,
such as a router, host, or X terminal. See also intelligent agents.
authentication Allows clients to verify their identity to the server. Basic or
Default authentication requires users to enter a username and password to access
your web server or web site. It requires a list of users and groups in an LDAP
database. See also digest and SSL authentication.
The granting of access to an entire server or particular files and directories on it.
Authorization can be restricted by criteria including hostnames and IP addresses.
browser
See client.
cache A copy of original data that is stored locally. Cached data doesnt have to
be retrieved from a remote server again when requested.
certificate A nontransferable, nonforgeable, digital file issued from a third party
that both communicating parties already trust.
427
Compromised key list (CKL) A list of key information about users who have
compromised keys. The CA also provides this list.
CGI Common Gateway Interface. An interface by which external programs
communicate with the HTTP server. Programs that are written to use CGI are
called CGI programs or CGI scripts. CGI programs handle forms or parse output
the server does not normally handle or parse.
chroot
An additional root directory you can create to limit the server to specific
directories. Youd use this feature to safeguard an unprotected server.
Client authentication.
428
daemon (Unix)
Glossary
429
file type The format of a given file. For example, a graphics file doesnt have the
same file type as a text file. File types are usually identified by the file extension
(.gif or .html).
firewall A network configuration, usually both hardware and software, that
protects networked computers within an organization from outside access.
Firewalls are commonly used to protect information such as a networks email and
data files within a physical building or organization site.
flexible log format
access logs.
430
HTTP-NG
HTTPD An abbreviation for the HTTP daemon or service, a program that serves
information using the HTTP protocol. The iPlanet Web Server is often called an
HTTPD.
HTTPS
SSL.
imagemap A process that makes areas of an image active, letting users navigate
and obtain information by clicking the different regions of the image with a mouse.
Imagemap can also refer to a CGI program called imagemap, which is used to
handle imagemap functionality in other HTTPD implementations.
inittab (Unix) A Unix file listing programs that need to be restarted if they stop
for any reason It ensures that a program runs continuously. Because of its location,
it is also called /etc/inittab. This file isnt available on all Unix systems.
intelligent agent An object within a server that performs various requests (such
as HTTP, NNTP, SMTP, and FTP requests) on behalf of the user. In a sense, the
intelligent agent acts as a client to the server, making requests that the server
fulfills.
IP address Internet Protocol address. A set of numbers, separated by dots, that
specifies the actual location of a machine on the Internet (for example,
198.93.93.10).
ISDN
ISINDEX An HTML tag that turns on searching in the client. Documents can use
a network navigators capabilities to accept a search string and send it to the server
to access a searchable index without using forms. In order to use <ISINDEX>, you
must create a query handler.
ISMAP ISMAP is an extension to the IMG SRC tag used in an HTML document
to tell the server that the named image is an imagemap.
ISP Internet Service Provider. An organization that provides Internet
connectivity.
Java An object-oriented programming language created by Sun Microsystems
used to create real-time, interactive programs called applets.
Glossary
431
listen socket The combination of port number and IP address. Connections between the
server and clients happen on a listen socket.
magnus.conf The main Enterprise Server configuration file. This file contains
global server configuration information (such as, port, security, and so on). This file
sets the values for variables that configure the server during initialization.
Enterprise Sever reads this file and executes the variable settings on startup. The
server does not read this file again until it is restarted, so you must restart the
server every time you make changes to this file.
MD5 A message digest algorithm by RSA Data Security. MD5 can be used to
produce a short digest of data that is unique with high probability. It is
mathematically extremely hard to produce a piece of data that produces the same
message digest email.
MD5 signature
MIB
432
obj.conf The servers object configuration file. This file contains additional
initialization information, settings for server customization, and instructions that
the server uses to process requests from clients (such as browsers). iPlanet Web
Server reads this file every time it processes a client request.
password file (Unix) A file on Unix machines that stores Unix user login names,
passwords, and user ID numbers. It is also known as /etc/passwd, because of
where it is kept.
Glossary
433
pk12util Software utility required to export the certificate and key databases
from your internal machine, and import them into an external PKCS#11 module.
primary document directory
public key
public information directories (Unix) Directories not inside the document root
that are in a Unix users home directory, or directories that are under the users
control.
Quality of Service the performance limits you set for a server instance, virtual
server class, or virtual server.
RAM Random access memory. The physical semiconductor-based memory in a
computer.
rc.2.d (Unix) A file on Unix machines that describes programs that are run when
the machine starts. This file is also called /etc/rc.2.d because of its location.
redirection A system by which clients accessing a particular URL are sent to a
different location, either on the same server or on a different server. This system is
useful if a resource has moved and you want the clients to use the new location
transparently. Its also used to maintain the integrity of relative links when
directories are accessed without a trailing slash.
resource Any document (URL), directory, or program that the server can access
and send to a client that requests it.
RFC Request For Comments. Usually, procedures or standards documents
submitted to the Internet community. People can send comments on the
technologies before they become accepted standards.
root (Unix) The most privileged user on Unix machines. The root user has
complete access privileges to all files on the machine.
server daemon
from clients.
434
Server Plug-in API An extension that allows you to extend and/or customize the
core functionality of iPlanet servers and provide a scalable, efficient mechanism for
building interfaces between the HTTP server and back-end applications. Also
known as NSAPI.
server root A directory on the server machine dedicated to holding the server
program, configuration, maintenance, and information files.
simple index The opposite of fancy indexingthis type of directory listing
displays only the names of the files without any graphical elements.
SNMP
Glossary
435
436
Glossary
437
438
Index
SYMBOLS
-, 284
!= (not equal to), 396
$, 284
$$logo, 279
$$NS-collection-list, 287
$$NS-collection-list-dropdown, 287
$$NS-collections-searched, 287
$$NS-display-query, 287
$$NS-doc-href, 287
$$NS-doc-name, 287
$$NS-doc-number, 287
$$NS-doc-path, 287
$$NS-doc-score, 288
$$NS-doc-score-div10, 288
$$NS-doc-score-div5, 288
$$NS-docs-found, 288
$$NS-doc-size, 288
$$NS-docs-matched, 288
$$NS-docs-searched, 288
$$NS-doc-time, 288
$$NS-get-highlighted-doc, 288
$$NS-get-next, 288
$$NS-get-prev, 288
$$NS-host, 288
$$NS-insert-doc, 288
$$NS-max-records, 279
$$NS-rel-doc-name, 288
$$NS-search-offset, 288
439
NUMERICS
200 - 500 status codes, 388
A
accelerators, hardware
certificates and keys stored in secmod.db, 111
Accept, 386
Accept Language Header
using, 400
Accept Language Header, parsing, 355
AcceptLanguage, 402
acceptor threads
virtual servers, 294
AcceptTimeout, 161
access
delete, 181
execute, 181
info, 181
list, 181
read, 181
to web site, restricting (global and
single-instance), 168
write, 181
access control
"administrators" group, 54
databases and, 179
date restrictions, 182
distributed administration and, 54
feature overview, 28
files, 165
hostnames, 179
hostnames and IP addresses, 158
introduction to, 166
440
IP addresses, 179
LDAP directories and, 179
methods (Basic, SSL), 159
my_stuff directory, 168
overview, 158
programs, 181
public information directories, using
configuration styles to control, 352
redirection, 183
response when denied, 183
time restrictions, 182
turning off, 182
users and groups, 158, 177
using virtual servers, 300
writing custom expressions, 182
access control entries (ACEs), 158
access control files (ACL)
location stored, 165
access control list (ACL), 158
access log, 206
location, 201
access log files, 201, 202
configuring, 206
viewing, 55
access log rotation, 56
access logs
virtual servers, configuring, 324
access, restricting
Web Server, procedure, 57
access, server
restricting, 57, 153
access-control entries (ACEs), 57, 153
access-control list
FrontPage, 411
access-control list (ACL), 57, 153
account, user
changing, 50
ACL
actions, setting, 177
attribute expressions, 395
authentication statements, 392
authorization statements, 393
changing access denied message, 183
deactivating, 182
default file, 397
stopping, 50
UI overview, 29
URL navigation to, 38
administration, distributed
enabling, 53
administrators userid (superuser), 38
administrators
distributed administration, 53
admpass, 420
admpw, 35, 53
configuration file, overview, 34
superusers username and password file, 52
admuser, 420
agents
SNMP, 228
AIX
SNMP issues, 230
alias directory, 34, 98
allow, 193
analyzer, log
running (archive server logs prior to use), 208
AND, 273, 403
and, 396
ansi_x3.4-1968, 357
ansi_x3.4-1986, 357
API reference
JSP, 329
servlets, 329
application services
architecture overview, 31
applications
client-side, 327
server-side, 327
applications, server-side
how they are installed on Web Server, 328
types that run on Web Server, 328
architecture, overview, 29
archiving
log files, 55, 204
arguments
search, required, 281
ASCII, 404
ascii, 357
attribute
Index
441
442
B
base, 74
base_dn, 74
Basic authentication method, 392
bin directory, 34
bong-file, 125
C
c, 121
CA
approval process (one day to two months), 95
definition (Certificate Authority), 88
trusting, 97
types, 117
cache control directives
setting, 361
cache directories, 334
cache, defined, 427
caching files, 130
catalog, auto, 403
Certificate Authority
definition, 88
obtaining list of available, 92
VeriSign, 91
certificate chain
definition, 96
certificate mapping file
location of certmap.conf, 120
syntax for certmap.conf, 120
certificate request, information needed, 93
certificate revocation lists (CRLs)
installing and managing, 102
certificate, client
authentication, 160
certificates
certmap.conf and, 120
client mapping
examples, 123
client, mapping to LDAP, 118
exporting with pk12util, 112
importing with pk12util, 113
introduction, 88
managing, 100
migrating, 99
migrating Enterprise Server 3.x to Web Server
6.0, 98
other server, installing, 96
requesting other server certificates, 94
root, removing, 99
root, restoring, 100
selecting name for a connection group, 115
single, trust database per web server
instance, 118
trusting, 97
types, 96
upgrading from iPlanet Web Server 4.x, 98
using the built-in root certificate module, 99
virtual servers, 88
x509v3, attributes, 121
certmap.conf, 120, 160
default properties, 120
LDAP searches, 119
sample mappings, 123
using, 120
certSubjectDN, 124
CGI, 356
defined (Common Gateway Interface), 327
downloading executable files, 339
file extensions, 337
file type, specifying shell for Windows NT, 343
file types, 338
installing, 335
installing programs, 336
installing shell programs for Windows NT, 342
overview, 335
programs, how to install on server, 328
programs, how to store on server, 336
removing directories, 337
server extension, overview of, 30
shell, 342
specifying a directory, 337
specifying a Windows NT directory, 340
specifying as a file type, 338
specifying directories, 337
specifying shell directory, Windows NT, 343
specifying Windows NT file type, 341
using virtual servers, 301
443
overview, 158
conventions, used in this book, 22
cookies
logging, easy, 208
must enable to run CGI programs, 39
cp367, 357
cp819, 357
CRLs (certificate revocation lists)
installing and managing, 102
cron daemon
using cron controls, 56
cron.conf, 35, 205
cron-based log rotation, 205
cryptographic modules, external
methods of using, 111
D
daemon
native SNMP, reconfiguring, 230
native SNMP, restarting, 229
SNMP
restarting, 229
using cron controls, 56
data, request, 387
data, response, 389
database
accessing via virtual servers, 198
database entries
adding using LDIF, 61
database, trust
creating, 89
password, changing, 128
databases, ACLs and, 179
Date, 253, 388
date and time formats (Posix), 247
dayofweek, 396
dblist.ini, 267, 277, 280, 286
dblist.ini file, 250
dbswitch.conf, 198
defines the mapping from an ACL to an LDAP
database, 73
Index
445
446
ends with
search type option, 67
Enterprise-wide manageability feature overview
delegated administration, clusters, and LDAP, 28
equals (=), 273
error log
example, 55
viewing, 55
error log file, 201, 203
location, 201
error logs, 203
virtual servers, configuring, 324
Error qos-error, 218
error responses, customizing, 356
errors
customizing responses, 356
euc, 404
event variables
traps, 222
Event Viewer, 211
events, viewing (NT), 211
executable files, downloading, 339
execute access, 181
Expires, 388
Expires header, defined, 429
expressions, attribute
operators, 396
expressions, custom, 182
extensions, server
architecture overview, 30
extranet, defined, 429
extras directory, 35
E
e, 121
eight-bit text, 400
encryption
definition, 103
encryption, two-way, 104
end users
distributed administration, 53
ENDS, 273, 403
F
FAT file systems
security (directories and files are not protected by
access restrictions), 90
features, Web Server, 28
Federal Information Processing Standards
(FIPS)-140, 116
file cache
Index
447
448
FTS_Creator, 253
FTS_Keywords, 253
FTS_ModificationDate, 253
FTS_Producer, 253
FTS_Subject, 253
FTS_Title, 253
G
generated pattern variables, 287
GET, 181, 386
SNMP message, 237
GIF, defined, 430
givenName, 63
global security parameters, 110
greater than, 396
greater than (>), 274
greater than or equal to (>=), 274
-group, 420
group
an object that describes a set of objects in an
LDAP database, 70
groupOfURLs, 72
groups
adding members to, 77
adding to group members list, 79
authentication, 158
authentication, users, 159
can be static and dynamic, 73
deleting, 80
deleting entries, 79
dynamic, definition, 70
dynamic, guidelines for creating, 74
editing, 77
finding, 76
managing, 75
renaming, 80
restricting access, 158
groups, static
definition, 70
guidelines for creating, 71
groups, users
about, 60
groups-with-users, 192
guidelines
creating difficult passwords, 128
H
Handler, Query
using, 344
hard, 332
hard links, definition, 359
hardware accelerators
certificates and keys stored in secmod.db, 111
HEAD, 181, 386
header, response, 388
headers and footers, 278
headers, request
list of, 386
hierarchy, ACL authorization statements, 394
High performance
feature overview, 28
hirakana, 404
home.html, 353
Host, 387
host, 420
host names and IP addresses
specifying, 179
Host-IP authentication, 164
hostnames
authentication, 164
defined, 430
restricting access, 158
HP OpenView network management software
use with SNMP, 213
htaccess-register
function for creating your own authentication
methods, 192
htconvert, 192
HTML, 404
character entities, 284
defined, 430
pattern files, 278
I
ibm367, 357
ibm819, 357
include directory, 36
INDEX, 181
Index
449
450
iso-2022-jp, 357
iso646-us, 357
iso-8859-1, 357
iso-ir-100, 357
iso-ir-6, 357
issuerDN, 120
IWS_SERVER_HOME
environment variable, 331
running HttpServerAdmin, 372
iwsInstanceContact, 223
iwsInstanceCount2xx - 5xx, 223
iwsInstanceCountOther, 223
iwsInstanceDeathCount, 223
iwsInstanceDescription, 223
iwsInstanceEntry, 222
iwsInstanceId, 222
iwsInstanceIndex, 222
iwsInstanceInOctets, 223
iwsInstanceLocation, 223
iwsInstanceOrganization, 223
iwsInstanceOutOctets, 223
iwsInstanceRequests, 223
iwsInstanceStatus, 223
iwsInstanceStatusChange, 226
iwsInstanceTable, 222
iwsInstanceUptime, 223
iwsInstanceVersion, 223
iwsListenAddress, 226
iwsListenEntry, 225
iwsListenId, 225
iwsListenIndex, 225
iwsListenPort, 226
iwsListenSecurity, 226
iwsListenTable, 225
iwsProcessConnectionQueueCount, 225
iwsProcessConnectionQueueMax, 225
iwsProcessConnectionQueueOverflows, 225
iwsProcessConnectionQueuePeak, 225
iwsProcessConnectionQueueTotal, 225
iwsProcessEntry, 225
iwsProcessId, 225
iwsProcessIndex, 225
iwsProcessKeepaliveCount, 225
iwsProcessKeepaliveMax, 225
iwsProcessTable, 225
iwsProcessThreadCount, 225
iwsProcessThreadIdle, 225
iwsThreadPoolEntry, 226
iwsThreadPoolIndex, 226
iwsThreadPoolTable, 226
iwsVsCount2xx - 5xx, 224
iwsVsCountOther, 224
iwsVsEntry, 224
iwsVsId, 224
iwsVsIndex, 224
iwsVsInOctets, 224
iwsVsOutOctets, 224
iwsVsRequests, 224
iwsVsTable, 224
J
Java
guided search interface, 264
Java Development Kit (JDK)
configuring paths, 58
download location, 58
Java Runtime Environment (JRE), 330
configuring paths, 58
Java Servlet API, 329
Java Servlets
architecture overview, 31
Java Servlets and JavaServer Pages
server extensions, overview of, 31
Java Virtual Machine (JVM)
runtime environment, 31
JavaServer Pages
architecture overview, 31
overview, how to install, 329
JDK
downloading, 330
JDK, JRE paths
switching, 58
K
Kanji, 404
katakana (full-width and half-width), 405
keepOldValueWhenRenaming parameter, 70
key
definition, 104
key database password, 90
key pair file
changing password, 128
key size restriction (based on PathCheck directive in
obj.conf), 125
key-pair file
introduction, 89
securing, 129
keys
exporting with pk12util, 112
importing with pk12util, 113
Keywords, 253
L
l, 121
language
default, user entries, 64
Language Header, Accept
using, 400
language list, preferred
managing, 84
Index
451
language settings
magnus.conf, 401, 402
languages
supported for Search, 402
Last-modified, 388
latin1, 357
LDAP
configuring directory services, 56
managing users and groups, 59
mapping client certificates, 118
search results, table of, 119
specifying databases in the user interface, 199
username and password authentication, 159, 427
LDAP directories, and access control, 179
LDAP search filter, 76
LDAP searches
using certmap.conf, 119
ldapmodify
described, 371
Directory Server command line utility, 62
Directory Server utility, 68
modifying entries with, 371
using to change an attribute value that is not
displayed by the group edit form, 77
LDIF
adding database entries, 61
entries, described, 371
entries, formatting, 371
import and export functions, about, 61
lib directory, 36
libdigest-plugin.ldif, 163
libdigest-plugin.lib, 163
libnssckbi.sl, 99
libnssckbi.so, 99
Library, 122
LICENSE.txt, 37
licenses
managing, 69
Lightweight Directory Access Protocol (LDAP)
managing users and groups, 59
Limit, 195
LimitExcept, 196
link management
attribute, is obsolete, 264
452
M
macros, 287
magnus.conf, 35, 110
AcceptTimeout, 161
ACLCacheLifetime directive, 165
configuration file, overview, 33
enabling .htaccess, 190
global variable settings at start-up, 151
language settings, 401, 402
security issues, 109
termination timeout, 146
tuning thread limit, 151
magnus.conf.clfilter, 35
MAIL, 404
mail, 63, 121
Mail Service
application services overview, 31
Manage Servers
Server Manager, list of preferences, 39
managed objects, 222, 237
Management Information Base (MIB)
location, Netscape/iPlanet, 222
management information base (MIB)
defines managed objects, 222
manual directory, 36
MANY Search, 270
master agent
CONFIG file, editing, 232
SNMP, 221
SNMP, enabling and starting, 231
Index
453
modules, software, 29
modutil
installing PKCS#11 modules, 111
MortalityTimeSecs, 150
MOVE, 181
MTA
defined, 433
my_stuff
access control, 168
N
native SNMP daemon
reconfiguring, 230
restarting, 229
NativePool, 155
navigation
access to Administration Server via URL, 38
ndex_page, 333
NEAR, 274, 403
NEAR/N, 274, 403
Netscape Server Application Programming Interface
(NSAPI)
architecture overview, 31
server extension, overview of, 31
netscape-http.mib, 222
managed objects and descriptions, 222
network management station (NMS), 221
NEWS, 404
NIS, defined, 433
NMS-initiated communication, 237
NNTP
defined, 433
nobody user account, 51
non-alphanumeric characters
search, 277
nonce, 162
NOT, 275, 403
not, 396
nsacl directory, 36
NSAPI
architecture overview, 31
454
o, 121
obj.conf, 35, 57, 207, 392
configuration file, overview, 33
default authentication, 159
referencing ACL files, 398
removing styles, 367
set up SAFs for using quality of service, 217
virtual servers, 293
obj.conf.clfilter, 35
objectclass, 72
octet-stream, 339
one, 74
OpenView, HP network management software
user with SNMP, 213
operators
attribute expressions, 396
for Chinese, Japanese, and Korean, 403
modifying, 272
query language, 273
query, combining, 271
which to use, 272
wildcards, 276
options
components available at installation, 32
OR, 275, 403
or, 396
OR Search, 271
order, 196
organizational units
creating, 81
deleting, 84
editing, 83
finding, 82
renaming, 83
organizationalPerson, object class, 63
ou, 121
owners
managing, 79
PageMap, 253
parameters
search, configuring, 246
password file, 433
loading on startup, 351
password protection
NTFS file system, 90
password, user
to change or create, 68
password.conf, 90, 150
passwords
guidelines for creating, 128
PathCheck, 189, 191, 398
key size restriction, 125
pattern files
HTML, 278
search, configuring, 248
pattern variables
configuration files, 287
search, 288
user defined, 284
user-defined, 283
using, 282
pattern variables, generated, 287
performance
dynamic groups, impact of, 73
using quality of service, 215
PermanentID, 253
person, object class, 63
PHRASE, 275, 404
PHRASE Search, 271
pk12util
exporting certificates and keys, 112
importing certificates and keys, 113
PKCS#11
exporting certificates and keys with pk12util, 112
importing certificates and keys with pk12util, 113
installing using modutil, 111
module, adding, 111
plugins directory, 36
pool parameter, 156
ports
security and, 131
Index
455
456
Q
qos-error, Error, 218
qos-handler, AuthTrans, 218
quality of service
concurrent connections, virtual servers, 220
example, 216
only HTTP bandwidth for application level
measured, 219
set up SAFs in obj.conf for using, 217
using, 215
virtual servers, configuring settings for, 322
query, 271
building custom, 66
non-alphanumeric characters, 277
operators as search words, 272
operators for Chinese, Japanese, and Korean, 403
operators, combining, 271
operators, using, 269
operators, which to use?, 272
operators. modifying, 272
performing a standard, search, 263
wildcards, using, 276
Query Handler
using, 344
query language
operators, 273
search, default assumptions, 270
query.pat, 278
QueueSize, 155
R
RAM
defined, 434
rc.2.d, 434
starting the server with, 147
rc.local, 90
read access, 181
README.txt, 37
realm, 162
recompute interval, 216
record.pat, 279
defined, 434
server and, 51
root certificate
removing, 99
restoring, 100
root web, 410
rotation, access log, 56
RqThrottleMinPerSocket, 151
runtime environments
Java, 330
software module, Web Server architecture
overview, 31
S
SAF samples
location, 219
sagt, 229
sagt, command for starting Proxy SNMP agent, 229
samples directory, 36
scope, 74
search
adjusting the number of attributes, 250
advanced, 266
arguments, required, 281
collection-specific variables, 286
configuration file variables, 287
configuration files, 250
configuring, 246
configuring files manually, 249
controlling access to, 243
customizing the interface, 277
displaying a highlighted document, 268
document formats, for Japanese, Korean, and
Chinese, 404
generated pattern variables, 287
home page, 263
in Chinese, Japanese, and Korean, 403
in Japanese, 404
indexing your documents, 251
Java-based guided interface, 264
languages available, 402
list of languages supported, 402
Index
457
458
LDAP, 76
search filter, LDAP
any string that contains an equal sign (=), 65
search queries
custom, building, 66
search rules, 271
search type options
list of, 67
search, text
configuring, 242
secret-keysize, 125
Secure Sockets Layer (SSL)
encrypted communication protocol, 104
security
.htaccess, considerations, 197
enabling FIPS-140, 116
enabling when creating a new listen socket, 106
enabling when editing a new listen socket, 106
feature overview, 28
FrontPage, 411
global parameters in magnus.conf, 110
increasing, 126
virtual servers, configuring, 322
Security & Access Control
application services overview, 31
security directives, 110
See alsos
managing, 80
Server, 388
server
general capabilities, international
considerations, 399
LDAP users and groups, international
considerations, 400
logs (archive prior to running the log
analyzer), 208
removing, 46
server access
restricting, 57, 153
server authentication
definition, 88
server daemon, defined, 434
server extensions
software module, Web Server, 30
server instance
adding, 45
Server Manager
accessing, 39
introduction, 39
list of additional tabs, 40
Manager Servers, list of preferences, 39
running the log analyzer (archive server logs
prior to use), 209
tuning thread limit, 151
UI overview, 29
server performance
dynamic groups, impact of, 73
server root, defined, 435
Server Settings
accessing, 51
Server, Administrator
shutting down, 50
server.xml, 110, 197, 292
configuration file, overview, 33
servercertnickname, 115
Server-initiated communication, 238
servers
checking status in real time via SNMP, 213
installing multiple, 45
migrating 4.x to 6.0, 46
ports under 1024, 51
remote, adding to a cluster, 138
removing from a cluster, 140
restart time interval, changing, 150
restarting (NT), 149
restarting (Unix), 147
restarting automatically, 148
restarting manually (Unix), 148
root user, 51
starting, 147, 149
starting and stopping, 146
stopping, 149
stopping manually (Unix), 149
types of CAs, 117
types of statistics available for monitoring, 214
user account for starting, 51
using Control Panel to start, 149
Servers, running multiple
using multiple instances of the server, 45
servers, running multiple
using virtual servers, 45
servers.lst, 35
server-side applications, 327
how they are installed on Web Server, 328
types that run on Web Server, 328
servlets
API reference, 329
cache directories, 334
deleting version files, 334
example of accessing, 333
installed on server, how, 328
overview, how to install, 329
server extension, overview of, 31
Web Server requirements for running, 330
servlets and JSPs
deploying outside of web applications, 333
servlets directory, 36
Session Management Service
application services overview, 31
SessionData, 35, 334
SessionData directory, 36
SessionData file, 37
SET
SNMP message, 237
setting, superuser
changing, 51
setup directory, 37
shell CGI, 342
shell programs
installing CGI, Windows NT, 342
shutting down the Administration Server, 50
sjis, 404
SMUX, 227, 230
sn, 63
SNMP
AIX daemon configuration, 230
basics, 221
checking servers status in real time, 213
community string, 236
community strings, configuring, 236
daemon
restarting, 229
GET and Set messages, 237
master agent, 221
installing, 228, 230, 231
manually configuring, 232
Index
459
starting, 234
master agent, installing, 230
master agent, starting, 235
native daemon
reconfiguring, 230
restarting, 229
proxy agent, 228
installing, 228
starting, 229
proxy agent, installing, 228
proxy agent, starting, 229
setting up on a server, 226
subagent, 221
trap, 236
trap destinations, configuring, 236
snmp directory, 37
SNMP master agent
enabling and starting, 231
snmpd, command for restarting native SNMP
daemon, 229
snmpd.conf, 230
SOCKS, defined, 435
soft, 332
soft (symbolic) links
definition, 359
software modules, Web Server, 29
sounds like
search type option, 67
SourceType, 252, 253
specifying dynamically generated, 278
SSL
authentication, 161
defined, 435
enabling, 108
enabling on Administration Server, 105
information needed to enable, 93
parameters, one set of per virtual server
connection group, 313
preparation for, 126
using with virtual servers, 300
SSL 2 protocol, 108
SSL 3 protocol, 104, 108
SSL authentication method, 393
SSL configuration file directives
setting values, 110
460
T
tags, META, 254
Technical Support
http
//iplanet.com/support, 24
telephoneNumber, 64
telnet, 436
termination timeout
magnus.conf, 146
setting, 146
testacl, 398
text search
configuring, 242
thread limit, tuning, 151
thread pools
information you specify to add, 154
syntax in virtual server class obj.conf, 155
time interval, server restarts
changing, 150
timeofday, 396
timeout, termination
setting, 146
Title, 253
title, 64
TLS, 104
enabling, 108
TLS and SSL3 ciphers
Netscape Navigator 6.0, 109
TLS encryption protocol, 108
TLS protocol, 104
TLS Rollback option
ciphers (use for MS Internet Explorer 5.0 and
5.5), 109
tocend.pat, 278
tocrec.pat, 278
tocstart.pat, 278
top-level domain authority, 436
traffic
settings, counting statistics for, 216
Transport Layer Security (TLS)
encrypted communication protocol, 104
trap
SNMP, 236
traps
messages containing event variables, 222
Triple DES cipher, 116
trust database
auto creation when requesting or installing
certificates for external PKCS#11 module, 115
creating, 89
password, changing, 128
Index
461
U
uid, 63, 121
defined, 436
Uniform Resource Identifier (URI), 243
uniqueMembers, 70
unit, organizational
creating, 81
units, organizational
deleting, 84
editing, 83
finding, 82
renaming, 83
Unix platform
accessing Administration Server, 43
URI (Uniform Resource Identifier), 243
URI, defined, 436
uri_path, 331, 333
URL
access to Administration Server, 38
defined, 436
encodings, 281
how to map, 244
mapping, defined, 437
SSL-enabled servers and, 109
URL forwarding
configuring, 355
URL-Host-Based virtual servers, 296
us, 357
us-ascii, 357
user, 420
user accounts
changing, 50
nobody, 51
user and group authentication
results stored in ACL user cache, 165
462
V
variables
collection-specific, 286
file, configuration, 285
pattern, using, 282
variables, event
traps, 222
variables, global
settings in magnus.conf, 151
variables, pattern
user-defined, 283
variables, pattern, generated, 287
verifycert, 122
VeriSign
certificate authority, 91
VeriSign Certificate
installing, 92
requesting, 91
version control
attribute, is obsolete, 264
version files
deleting, JSPs and servlets, 334
Viewer, Event, 211
viewing, 203
viewing events, 211
virtual server class
creating via HttpServerAdmin create
command, 375
specifying the chroot directory, 132
thread pools, 155
using quality of service, 215
Virtual Server Manager
accessing, 302
UI overview, 29
virtual servers, 303
acceptor threads, 294
access logs, viewing, 324
accessing databases, 198
allowing users to monitor, 306
associated services, specifying, 306
certificates, 88
class settings, editing or deleting, 305
class, creating, 305
classes, creating, 293
Index
463
W
WaitingThreads, 151
war_file_name, 332
wdeploy
command line parameters, 331
wdeploy utility, 331, 437
web, 420
web application
defined, 437
web application archive (WAR)
defined, 437
web applications
deploying, 331
Web Publishing layer, architecture overview, 30
Web Server
architecture, overview, 29
component options, 32
features, 28
464
software modules, 29
starting and stopping, 146
web site
restricting access (global and
single-instance), 168
web software
standards support, 28
web, root, 410
web-apps.xml
using, 331
WebBot functions, 409
WILDCARD, 276, 404
wildcards
? operator, 277
operators, 276
Resource Picker, 40
table of patterns and descriptions, 23
wildcards, resource
list of, 173
wildcards, using, 276
Windows CGI, 339
Windows NT
programs, overview of CGI, 339
Windows NT platforms
accessing Administration Server, 44
WORD, 276, 404
words, stop
deciding which words not to search, 245
write access, 181
writing, 182
WWW-authenticate, 389
WXEVersion, 253
X
x509v3 certificates
attributes, 121
x-euc-jp, 357
x-mac-roman, 357
x-sjis, 357