Zeus Web Server 4.3
User Guide
any manner or form (including photocopying or storing it in any medium by electronic means and whether or not transiently or incidentally to some other use of this documentation) other than in accordance with any applicable licence agreement or with the prior written consent of Zeus Tech-nology Limited. Any copies of this documentation must incorporate this notice.
Zeus Technology, the Zeus logo, Zeus Web Server (ZWS), Zeus Load Balancer (ZLB) and Zeus Extensible Traffic Manager (ZXTM) are trade marks of Zeus Technology Limited. Other trade marks used may be owned by third parties.
Adobe, Acrobat and Acrobat Reader are trademarks of Adobe Systems Incorporated. Microsoft, FrontPage and Internet Explorer are registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Netscape and Netscape Navigator are registered trademarks of Netscape Communications Corporation in the United States and other countries.
Zeus Technology Ltd The Jeffreys Building Cowley Road Cambridge CB4 OWS United Kingdom Phone: +44 (0) 1223 525000 Fax: +44 (0) 1223 525100 Email: info@zeus.com Web: http://www.zeus.com
Zeus Web Server 4.3 User Guide
Table of Contents
CHAPTER 1
Overview ...19
1.1 Introducing Zeus Web Server... 19
API Support and Integration... 20
1.2 Intended Audience... 22
1.3 Introducing this Manual... 22
Road Map... 22
Version Information... 24
1.4 Documentation Conventions... 24
1.5 Further Information... 24
CHAPTER 2
Basic Concepts ...27
2.1 Introduction... 27
2.2 Web Servers... 27
Introducing Web Servers... 27
Web Server Functionality... 28
Zeus Web Server Functionality... 29
2.3 Virtual Servers... 29
Introducing Virtual Servers... 29
Types of Virtual Servers... 30
Managing Virtual Servers using Zeus Web Server... 30
2.4 Clusters... 31
Introducing Clusters... 31
Managing Clusters with Zeus Web Server... 32
2.5 Subservers... 32
Introducing Subservers... 32
Managing Subservers using Zeus Web Server... 33
2.6 Bandwidth Throttling... 34
2.7 Web Server Security... 34
Introducing Web Server Security... 34
Introducing Private Keys... 35
Introducing Self-Signed Certificates...35
Zeus Web Server Security Support...35
2.8 Logging... 37
2.9 Monitoring Activity...38
2.10 Script-Based Management... 38
CHAPTER 3
Starting Zeus Web Server ...41
3.1 Introduction... 41
3.2 Starting and Stopping Zeus Web Server... 41
Starting Zeus Web Server... 41
Stopping Zeus Web Server... 42
Starting and Stopping Individual Components... 42
3.3 Setting Up your Browser and Reader...43
3.4 Accessing the Zeus Web Server Interface Pages... 43
3.5 Preparing to Publish a Web Site...45
3.6 Creating a New Virtual Server... 45
3.7 Using the Virtual Server Status Page...50
Overview of the Virtual Server Status Page Layout... 50
Starting and Stopping a Virtual Server...52
Committing Configuration Changes...52
3.8 Publishing a Web Site...53
3.9 Viewing Your Web Site...53
CHAPTER 4
Basic Tasks...55
4.1 Introduction...55
4.2 Configuring Virtual Servers... 55
Configuring One Virtual Server... 55
Modifying Multiple Virtual Servers...56
4.3 Grouping Virtual Servers...56
Creating a Group...57
Changing the Members of a Group...58
Adding Virtual Servers to an Existing Group...59
Zeus Web Server 4.3 User Guide
4.4 Monitoring Virtual Servers and Groups... 59
Monitoring Virtual Servers... 60
Monitoring Groups... 61
4.5 Committing Configuration Changes... 61
4.6 Starting and Stopping Virtual Servers... 63
4.7 Resolving Problems Using the Diagnose Icon... 63
4.8 Deleting Items... 65
Deleting Virtual Servers... 65
Deleting Groups... 65
4.9 Licensing Web Server Machines... 65
Licensing Mechanisms... 66
Viewing Server License Details... 66
Updating a Web Server License... 67
4.10 Setting up Virtual Server SSL Security... 68
Using Certificate Sets... 68
Creating a Certificate Set... 69
Entering Certificate Set Information... 70
Importing Existing Files into a Certificate Set...71
Managing Certificate Sets...71
Deleting a Certificate Set... 72
Issuing a Certificate Signing Request... 72
4.11 Real-Time Monitoring... 73
Selecting Which Events to Monitor... 75
Configuring the Graph... 75
4.12 Grouped Reports... 76
4.13 Current Connections... 76
4.14 Using the Traffic History Pages... 78
Using the Traffic Overview Page... 79
Using the Web Site Comparison Page... 80
Using the Cluster Traffic Analysis Page... 81
4.15 Configuring your Preferences... 82
4.16 Configuring Administration Security... 83
CHAPTER 5
Configuring Virtual Server Functionality...87
5.1 Introduction...87
5.2 Functionality Overview...88
5.3 Using the Configuration Pages... 89
Overview of the Layout of the Configuration Pages...89
Configuring a Single Virtual Server... 91
Configuring Multiple Virtual Servers... 91
Resolving Errors and Warnings... 93
Indicator Summary...93
CHAPTER 6
General Configuration Information...95
6.1 Introduction...95
6.2 Viewing the Configuration Summary...96
Renaming a Virtual Server... 96
6.3 Viewing the Request Processing Summary...96
Request Processing reference... 97
6.4 Fundamental Configuration Settings...98
6.5 Advanced Configuration Settings...98
6.6 Configuring SSL Security for a Virtual Server...100
Enabling SSL Support for a Virtual Server... 101
Creating an SSL Server Certificate Set...102
Using SSL Client Certificates... 102
Why are SSL Client Certificates useful?...103
Configuring the Locations of Public Certificates and Revocation Lists...103
Reloading a Virtual Server with updated certificates and CRLs104 CHAPTER 7
Configuring File Handling...105
7.1 Introduction...105
7.2 Configuring MIME Types...105
Configuring the Default MIME Type...106
Adding a MIME Type...106
Zeus Web Server 4.3 User Guide
Automatic MIME Type Detection... 107
7.3 Configuring Content Negotiation... 108
How Users Configure Browsers for Content Negotiation... 108
How Content Negotiation Works... 109
Naming Files... 109
How Users Request Files... 109
Linking between Pages...110
How Files are Returned...110
Types of Content Negotiation... 111
Configuring Content Negotiation on the Virtual Server... 113
Configuring Language Negotiation... 113
Modifying an Assigned Language Code... 114
Deleting an Assigned Language Code... 114
Configuring Character Set Negotiation... 114
Modifying an Assigned Character Set Code... 115
Deleting an Assigned Character Set Code... 115
Configuring Encoding Negotiation... 115
Modifying an Assigned Encoding... 116
Deleting an Assigned Encoding... 116
Configuring MIME Type Negotiation... 116
Designing a Web Site to use Content Negotiation... 117
Adapting an Existing Web Site to use Content Negotiation.... 118
Language Content Negotiation of HTTP Error Pages... 119
7.4 Configuring Content Compression... 120
Introducing Content Compression... 120
Enabling Content Compression... 120
Configuring which MIME types to Compress... 121
Configuring Static Content Compression... 122
Configuring Dynamic Content Compression... 123
7.5 Configuring File Uploading... 123
Controlling Security... 123
Controlling File Ownership... 124
CHAPTER 8
Configuring URL Handling ... 125
8.2 Configuring URL Mapping...126
Creating an Alias...126
Deleting an Alias...128
Editing an Alias...128
8.3 Configuring Gateway Aliases...129
Adding a Gateway Alias...130
Rewriting HTTP Redirects...130
Rewriting HTTP Cookies...131
Deleting a Gateway Alias...131
Changing a Gateway Alias...131
Rewriting the URL before forwarding...132
8.4 Configuring Home Directories...132
Changing the Web Page Subdirectory...132
Changing the Username Prefix...133
Configuring Username to Home Directory Mapping...133
Using the Standard passwd File...134
Using a File Similar to /etc/passwd...134
If All Home Directories are in a Single Subdirectory...135
Using an LDAP Server...135
8.5 Configuring Directory Requests...137
Configuring Index Files...138
Configuring Directory Listings...138
Changing the Directory Listing using htaccess....139
8.6 Configuring Handlers...139
Adding a New Handler...139
8.7 Configuring Request Rewrite Scripts...140
Using Request Rewrite Scripts...141
Syntax of the Scripting Language...142
Scripting Language Variables...143
Scripting Example using Variables...145
Scripting Language Commands...145
Scripting Language Labels...153
Scripting Language Strings...153
Scripting Language Comments...154
Zeus Web Server 4.3 User Guide
Developing Request Rewrite Scripts... 154
Entering a Request Rewriting Script... 155
Running a Script... 156
Debugging Scripts... 156
Configuring Compiler Information... 157
Configuring Debugging Information... 157
Overwriting the Request URI... 158
Stopping a Script in a Loop... 158
Converting from Existing Apache mod_rewrite Scripts... 159
8.8 Configuring Spelling Correction... 159
Configuring the Spelling Correction Functionality... 160
8.9 Configuring Response Headers... 161
Configuring the Response Headers Functionality... 161
Response Headers example... 162
Response Headers macros... 162
Example: Setting an Expires time for images... 164
CHAPTER 9
Configuring Logging and Monitoring ... 165
9.1 Introduction... 165
9.2 Configuring Request logging... 165
Configuring the Log File Format... 166
Using a Custom Format String... 167
Configuring Conditional Logging... 169
Logging SSI Requests... 170
Consolidating and Splitting Multiple Request Log Files... 170
9.3 Error Handling... 173
Customizing HTTP Error Pages... 173
Specifying the HTTP Error Page Location... 174
Adding Dynamic Content to HTTP Error Pages... 175
Generating Error Pages in Third-Party Applications... 175
Advanced Control of HTTP Error Pages... 175
Configuring the Error Log File Location... 176
9.4 Traffic History Statistics Gathering... 176
9.5 Configuring User Tracking... 177
Specifying Cookie Names...178
Configuring Cookie Lifetimes...178
Specifying Optional Cookie Domains...179
Analyzing Cookie Results...179
9.6 Configuring Forensic logging...179
Example log entries...180
Analyzing the Forensic log file...181
9.7 Configuring SNMP monitoring...182
Enabling reporting via SNMP...182
Variables reported via SNMP...183
Setting SNMP security...184
SNMP variable behaviour...184
CHAPTER 10
Configuring Access ... 185
10.1 Introduction...185
10.2 Configuring Access Rules...186
Background...186
Types of Access Control...186
Introducing Access Rules...188
How Zeus Web Server Applies Access Rules...188
Configuring the Access Rules: Overview...189
Specifying the User Database...190
Configuring Access Users in the Internal Database...191
Configuring Access Groups in the Internal Database...192
Using an LDAP Database...192
Using an Operating System Lookup...194
Configuring Access Rules...195
Specifying Host Names and IP Addresses...196
Modifying Rules...198
Re-ordering Rules...198
Debugging Rules...198
10.3 Using htaccess Files...199
Background...199
Zeus Web Server 4.3 User Guide
Supported htaccess Directives... 200
Enabling Automatic Headers and Footers... 201
Adding Common Headers to Web Pages... 201
Adding Common Footers to Web Pages... 202
10.4 Configuring Bandwidth Throttling... 202
Setting a Throttling Limit... 203
10.5 Configuring Who Can Refer to Your Content... 204
Configuring Referrer Checking... 205
Redirecting Denied Requests... 205
Allowing Specified Web Sites to Use Your Bandwidth... 206
Denying Requests with no Referrer Header... 206
CHAPTER 11
Configuring API Support... 209
11.1 Introduction... 209
11.2 Configuring SSI Support... 210
Introducing SSI... 210
Using SSI Directives...211
Configuring SSI Support...211
Configuring SSI Handlers... 212
11.3 Configuring CGI Support... 213
Introducing CGI... 213
Simple Example... 214
Setting up a CGI Script Directory... 214
Enabling and Configuring General CGI Support... 215
Restricting CGI Script Locations... 215
Configuring Aliases for CGI Script Directories... 216
Configuring Additional CGI Environment Variables... 217
Configuring CGI Error Logging... 218
Configuring Additional CGI Settings... 219
Configuring CGI Sandboxing... 219
Specifying CGI Configurables... 220
Running Multiple Scripts Concurrently... 221
Specifying the Security Configurables... 221
Configuring chroot Jails... 223
Introducing FastCGI...224
Running FastCGI Applications...225
Comparing FastCGI with CGI...226
Further Information about FastCGI...227
Enabling and Configuring FastCGI Support...227
Restricting FastCGI Locations...228
Configuring FastCGI Concurrency...228
Configuring FastCGI Security Settings...229
Configuring Local Responder Script Directories...230
Configuring Remote Responder Script Directories...231
Configuring Authorizers...233
Configuring Remote Scripts to Start...235
Configuring Additional FastCGI Environment Variables...235
11.5 Configuring ISAPI Support...236
Introducing ISAPI...236
Introducing ISAPI Server Extensions...237
Introducing ISAPI Filters...237
Running ISAPI Applications In-Process and Out-of-Process....238
Comparing ISAPI with CGI...239
Further Information about ISAPI...239
Enabling and Configuring ISAPI Support...240
Configuring ISAPI Extension Directories...240
Configuring In-Process and Out-of-Process Extensions...241
Registering In-Process ISAPI Filters...241
Registering Out-of-Process ISAPI Filters...242
11.6 Configuring Java Servlet Support...242
Introducing Java Servlets...242
Introducing the Virtual Server’s Java Servlet Support...243
Enabling and Configuring Java Servlets Support...243
Adding a Java Servlet Mount Point...243
Accessing Servlets...244
11.7 Configuring NSAPI Support...245
Introducing NSAPI...245
Overview of the NSAPI Interface...245
Zeus Web Server 4.3 User Guide
Configuring the NSAPI Configuration File Directory... 246
Configuring NSAPI Sandboxing... 247
The NSAPI Runner... 248
11.8 Configuring Support for the ZDAC API... 248
Introducing ZDAC... 248
Introducing the ZDAC Authentication API... 249
Introducing the ZDAC Content API... 249
Further Information about ZDAC... 250
Enabling and Configuring ZDAC Support... 250
Specifying the ZDAC Content Directory... 250
Configuring a Content Generator... 251
Configuring an Authorizer... 251
CHAPTER 12
Configuring Subservers ... 253
12.1 Introduction... 253
12.2 Concepts... 254
Subserver Directory Structure... 254
Directory Structure Prefix and Suffix... 258
12.3 Creating Subservers... 258
12.4 Using Subservers... 259
Publishing a Web Site on a Subserver... 259
Configuring the DNS for Subservers... 260
Viewing a Subserver’s Web Site... 260
Deleting a Subserver... 260
12.5 Advanced Subserver Configuration... 261
Enabling Default Subservers... 261
Automatic Webmaster Email Address... 261
Using a Custom Subserver Mapping Function... 262
Using Subservers with Older Browsers... 264
Request Logging for Individual Subservers... 264
CGI Logging for Individual Subservers... 264
CHAPTER 13
Configuring Add-Ons ... 267
13.1 Introduction...267
13.2 Configuring the Search Engine...267
Configuring the Search Engine Functionality...268
Generating the Search Index File...269
Accessing the Search Page...269
Updating the Search Index File...270
Excluding Files from the Search...270
Controlling how the Search Engine Treats Files... 271
Customizing the Appearance of the Search Engine...272
13.3 Configuring Server-Side Imagemaps...274
13.4 Configuring FrontPage...274
Introducing FrontPage Functionality...274
Introducing the FrontPage Extensions...274
Pre-Requisites...275
Downloading and Installing the FrontPage Extensions...275
Enabling and Configuring FrontPage Support...276
Configuring the FrontPage Forms Interface...277
Disabling a FrontPage Installation...278
Configuring Additional FrontPage Extension Directives...278
Moving a FrontPage Installation...279
Chrooting a FrontPage Installation...279
13.5 Configuring PHP...280
Introducing PHP...280
Configuring PHP...281
Configuring Concurrency and Security Settings...281
Using your own PHP handler...281
CHAPTER 14
Using Clusters ... 283
14.1 Introduction...283
14.2 Creating a Cluster of Web Servers...284
Installing an Administration Server....285
Installing Zeus Web Server across the Cluster...286
Zeus Web Server 4.3 User Guide
Configuring Request Distribution within the Cluster... 287
14.3 Publishing a Web Site on a Cluster... 288
14.4 Changing the Cluster Configuration... 289
Adding a Web Server to a Cluster... 289
Removing a Web Server from a Cluster... 289
Returning a Web Server to a Cluster... 290
Deploying Configuration Files to a New Web Server in a Cluster290 Customizing Virtual Servers for Different Web Servers... 291
14.5 Monitoring Clusters... 292
Viewing the Cluster Configuration... 292
Viewing the Activity on a Specific Web Server on a Machine. 292 CHAPTER 15
Using Zeus Perl Extensions ... 295
15.1 Introduction... 295
15.2 Getting started with Zeus Perl Extensions... 296
Installed files... 296
Installation of Perl modules... 296
15.3 Configuring Zeus Perl Extensions... 297
Enabling #perl in SSI... 300
Configuring additional Library Paths... 300
Configuring the Logging Level... 300
15.4 Migrating existing Perl modules... 300
htaccess directives... 301
The Perl Startup File... 301
Using webctl with Zeus Perl Extensions... 302
The apache2zeus conversion utility... 303
Zeus::ModPerl::Registry... 304
15.5 Differences from the Apache Perl API... 305
CHAPTER 16
Configuring Global Information ...307
16.1 Introduction... 307
16.2 Global Functionality Overview... 307
16.3 Using the Global Settings Pages... 308
16.4 Configuring the Service Protection System... 310
Introducing Basic Service Protection Concepts... 310
Enabling and Configuring the Service Protection System... 311
Specifying Debug Logging Options...312
Testing Protection Settings...313
Introducing Request Filtering...313
Configuring Request Filtering Rules...314
Adding a Single Request Filtering Rule...315
Adding Multiple Request Filtering Rules...316
Modifying Individual Request Filtering Rules...316
Modifying Individual Request Filtering Rules...316
Deleting Rules...317
Importing and Exporting Rules using text files...317
Configuring Advanced Request Filtering Options...318
Introducing Connection and Rate Limits...319
Limiting Users’ Concurrent Connections...319
Limiting User’s Connection Rates...321
Advanced monitoring of Connection Limiting...321
Connection Limiting Error Log Messages...322
APPENDIX A
HTTP Status Codes
323
A.1 HTTP Status Codes...323APPENDIX B
Using htaccess Directives
325
B.1 Introduction...325B.2 Configuring .htaccess Files...325
.htaccess File Format...325
How Zeus Web Server Applies Directives...326
B.3 Supported Directives...327
B.4 Types of Directives...330
B.5 Section Directives...331
How Errors in Section Directives are Handled...333
Zeus Web Server 4.3 User Guide
The Include Directive... 335
B.6 Header Directives... 335
The Header Directive... 336
The AddType Directive... 336
The ForceType Directive... 337
The DefaultType Directive... 338
The Redirect Directive... 338
The ServerAdmin Directive... 340
B.7 Expires Directives... 341
The ExpiresActive Directive... 342
The ExpiresDefault Directive... 342
The ExpiresByType Directive... 343
B.8 Directory Listing Directives... 343
The DirectoryIndex Directive... 343
The IndexIgnore Directive... 343
B.9 HTTP Error Page Directives... 344
The ErrorDocument Directive... 344
B.10 Handler Directives... 344
The AddHandler Directive... 344
The SetHandler Directive... 345
The RemoveHandler Directive... 345
B.11 CGI Script Directives... 346
CGI Sandboxing Directives... 346
CGI Security Directives... 347
B.12 Environment Directives... 348
The SetEnvIf Directive... 348
The SetEnvIfNoCase Directive... 349
The BrowserMatch Directive... 350
The BrowserMatchNoCase Directive... 350
B.13 Access Control Directives... 350
Controlling Access using Deny, Allow and Order... 351
Password Protecting Areas of the Web Site... 352
User-Based Access Control Directives... 354
Building up Sophisticated Access Rules... 357
B.14 Restriction Directives...359
The Options Directive...359
The AllowOverride Directive...360
B.15 Directory Mapping Directives...361
The Alias Directive...361
The ScriptAlias Directive...362
The FastCGIAlias Directive...362
The ISAPIAlias Directive...363
B.16 Zeus Extensions to the Apache Specification...364
The PassEnvAuthorization Directive...364
Content Compression Directives...364
B.17 Perl directives...365
PerlScript <path>...365
PerlRequire <path>...365
PerlModule <module-name>...365
PerlSetEnv <name> <value>...366
PerlSetVar <name> <value>...366
PerlAddVar...366
B.18 Perl Handler Directives...366
PerlHeaderParserHandler...366 PerlInitHandler...366 PerlAccessHandler...366 PerlAuthenHandler...366 PerlAuthzHandler...367 PerlTypeHandler...367 PerlFixupHandler...367 PerlHandler...367 PerlLogHandler...367 PerlCleanupHandler...367
APPENDIX C
Scripting Overview
369
C.1 Introduction...369C.2 Script Location...369
Zeus Web Server 4.3 User Guide
Viewing Zeus Web Server Man Pages... 370
C.3 Script Overview... 371
Creating, Deleting and Controlling Virtual Servers... 371
Error Tracking and Testing... 371
Miscellaneous Functions... 371
C.4 The webctl Script... 372
Webctl Syntax... 372
Committing Configuration Changes to a Virtual Server... 373
Starting, Stopping and Restarting Virtual Servers... 373
Synchronizing a Cluster... 374
Listing which Web Servers are in a Cluster... 375
Reloading Certificate Validation Information... 375
C.5 The addserver.sh Script... 376
C.6 The delserver.sh Script... 377
C.7 The errormailer Script... 377
C.8 The subserver_logsplit.pl Script... 378
C.9 The blf2clf Program... 379
C.10 The httpclient Program... 380
C.11 The gzipcache Program... 380
C.12 The fpinst.sh Script... 381
FrontPage Installation Script Command-Line Options... 382
FrontPage Installation Script Command-Line Parameters... 383
C.13 The Virtual Server Configuration Files... 386
Configuration File Format... 386
Location of Configuration Files... 386
The Skeleton Configuration File... 387
Using a Changed Configuration File... 387
C.14 The Global Configuration File... 387
Global Configuration File Format... 387
Changing the Global Configuration File... 388
C.15 The Dynamic Global Configuration File... 388
APPENDIX D
Using Regular Expressions
389
D.1 Overview... 389Examples...391
Glossary ... 393
Index ... 403
CHAPTER 1
Overview
1.1 Introducing Zeus Web Server
Zeus Web Server is a high performance web server with a scalable architecture that can host tens of thousands of web sites on a single machine. It provides a reliable, secure web server that can handle tens of thousands of simulta-neous connections and provides leading end-user response times and transac-tion throughput. Its flexible functransac-tionality can easily be integrated with existing systems, and its comprehensive and intuitive web-based configura-tion, management and administration system enables you to configure and run multiple web sites easily, either locally or remotely, using a web browser. The web-based user interface supports web server clusters and centralized user management, enabling cost-effective administration of complex distrib-uted web server infrastructures. In addition to using the user interface, you can also manage and configure Zeus Web Server from the command line, and from scripts.
Zeus Web Server is designed for, and used by, businesses that are supporting mission-critical web sites, where speed and reliability are key. This includes Business-to-Business and Business-to-Consumer commerce sites, Internet Content Providers/Portals, ISPs offering shared web hosting services, and corporate Intranets.
It also integrates seamlessly with other Zeus products, providing a straightfor-ward migration and upgrade path to our Traffic Management and Mass Hosting products.
API Support and Integration
The web provides an accessible development platform, based upon open stan-dards, that ensures interoperability between applications. Zeus Web Server supports the following open-standard APIs:
• Server Side Includes (SSI)
SSI provides a simple means of organizing and managing web sites and is used extensively to provide attractive dynamic content. Zeus Web Server contains a powerful, efficient, recursive SSI parsing engine that signifi-cantly expands how SSI functionality can be used. For more information, see Configuring SSI Support on page 210.
• Secure CGI sandbox system
Zeus Web Server is fully CGI/1.1 compliant and uses a unique sandbox environment to execute CGI programs safely by applying fine grain restrictions to CGI programs. It can place limits on the machine resources that CGI processes can consume, run programs under different UNIX IDs and run them in secure 'chroot' jails. For more information, see Enabling and Configuring General CGI Support on page 215.
• FastCGI
FastCGI is an open standard for generating dynamic web content and authenticating access to web sites. It is an extension of the existing CGI standard, that eliminates many of its weaknesses. Zeus Web Server fully supports FastCGI applications. For more information, see Configuring Support for FastCGI on page 224.
• ISAPI
The Internet Server Application Programmers Interface (ISAPI) provides a vendor-independent way of extending the functionality of your web server. It is a widely-supported Microsoft-backed standard. Zeus Web Server fully supports ISAPI extensions and filters on all platforms and architectures. For more information, see Configuring ISAPI Support on page 236.
• Java Servlets
Java’s threaded nature and object inheritance make it ideal for many web applications. Their platform independence enables Java Servlets to be distributed across a cluster of machines easily, which can include
special-Zeus Web Server 4.3 User Guide
increased performance and system robustness. Zeus Web Server provides Java Servlet support through native Jserv/Tomcat and JRun interfaces. For more information, see Configuring Java Servlet Support on page 242. • NSAPI
NSAPI is a powerful, comprehensive web development toolkit with third-party support. Zeus Web Server provides NSAPI support to enable seam-less migration of web applications written for Netscape® Enterprise Server. For more information, see Configuring NSAPI Support on page 245.
• Zeus Perl Extensions
The Zeus Perl Extensions provide an interface to allow specially written Perl modules to interface with Zeus Web Server. The interface provides a rich layer of interaction with HTTP requests and headers, and is designed to provide a very high level of performance, which is much faster than using Perl in CGI scripts. For more information, see Using Zeus Perl Exten-sions on page 295
• Zeus Distributed Authentication and Content API
The Zeus Distributed Authentication and Content API (ZDAC) enables the web server to interact with external authentication servers and content generation servers over a TCP/IP socket interface. For more information, see Configuring Support for the ZDAC API on page 248.
• FrontPage
Zeus Web Server offers full support for Microsoft's and Netscape's web publishing applications. Microsoft FrontPage support is available on all Microsoft-supported UNIX platforms. For more information, see Config-uring FrontPage on page 274.
• PHP/Zend
PHP is an open-source server-side scripting language for creating dynamic Web pages for e-commerce and other web applications. Zeus Web Server provides a high-performance platform through the FastCGI interface. For more information, refer to the Zeus support web site, http://support.zeus.com/.
1.2 Intended Audience
This manual is aimed at customers who are running Zeus Web Server. The chapters assume that you are familiar with basic web server functionality, and simple UNIX commands.
The appendices contain more advanced information. These assume that you are familiar with the UNIX command line and simple scripts.
1.3 Introducing this Manual
This manual introduces the basic concepts to help you understand and use Zeus Web Server effectively. It then describes how to use it and provides a comprehensive guide to all its functions.
Please send any feedback on this manual to docs@zeus.com.
Road Map
• The Basic Concepts chapter introduces fundamental web server concepts and describes the functionality that Zeus Web Server provides. Read this chapter if you are unfamiliar with web server functionality or if you would like to read an overview of the Zeus Web Server functionality. • The Starting Zeus Web Server chapter describes how to start Zeus Web
Server, how to access its user interface pages and how to create a Virtual Server.
• The Basic Tasks chapter describes how to use Zeus Web Server to carry out basic tasks. It assumes that you have already created your first Virtual Server, and describes how to modify, monitor and manage multiple Virtual Servers, and how to set up secure communication for them using SSL. It
Zeus Web Server 4.3 User Guide
also describes how to use the administration pages and how to enable them to use SSL.
• The Configuring Virtual Server Functionality chapter provides an overview of the functionality that can be configured for each Virtual Server and describes how to enable and disable it.
• The General Configuration Information chapter describes how to view and configure the Virtual Server’s general configuration information.
• The Configuring File Handling chapter describes the different ways in which you can configure the Virtual Server to handle requests for different files (or file types), and how it returns files to users.
• The Configuring URL Handling chapter describes the different ways in which you can configure the Virtual Server to handle requests for different URLs.
• The Configuring Logging and Monitoring chapter describes how you can monitor the performance of your web sites, and track how people are using them.
• The Configuring Access chapter describes how to configure web site accessibility, in a number of different ways.
• The Configuring API Support chapter introduces the APIs that Zeus Web Server supports and describes how to configure a Virtual Server to support applications written using them.
• The Configuring Subservers chapter describes how to set up and use a Virtual Server that supports Subservers, and the different Subserver direc-tory structures that you can use.
• The Configuring Add-Ons chapter describes how to integrate the Virtual Server with a number of different add-ons, such as FrontPage, the search engine, and the spelling correction functionality.
• The Using Clusters chapter describes how to create, modify and monitor a cluster.
• The Using Zeus Perl Extensions chapter describes how to use the Zeus Perl Extensions.
• The HTTP Status Codes appendix lists the standard HTTP status codes supported by Zeus Web Server.
• The Scripting Overview appendix describes the scripts, commands and programs that are available, and how to use them. It also describes the format and the location of the Zeus Web Server configuration files. • The Using htaccess Directives appendix outlines the .htaccess file format,
and describes the supported directives and how to use them.
• The Using Regular Expressions appendix introduces regular expressions and describes how to use them to specify IP addresses and host names.
Version Information
This manual describes the functionality of, and uses screen shots from, Zeus Web Server version 4.3.
1.4 Documentation Conventions
This document uses the following conventions:1.5 Further Information
For further information about running Zeus Web Server that is not covered here, please refer to our support web site, at http://support.zeus.com/, which
Item Convention Example
Names of windows and buttons.
name Click the Apply changes button
A new term, that is being defined.
new term generate a private key
A variable item variable type http://your_machine_name
Zeus Web Server 4.3 User Guide
provides an extensive FAQ, a range of product documentation and white papers, and access to our external mailing lists.
If you are unable to find what you are looking for on this web site, or if you would like guidance in developing Zeus Web Server applications, please contact us at support@zeus.com, quoting your customer reference number in the subject header of your email.
CHAPTER 2
Basic Concepts
2.1 Introduction
This chapter introduces fundamental web server concepts and describes the functionality that Zeus Web Server provides.
Read this chapter if you are unfamiliar with web server functionality or if you would like to read an overview of Zeus Web Server functionality.
2.2 Web Servers
Introducing Web Servers
In the simplest terms, web servers host web sites. One web server can host a number of different web sites: each web site is identified by an address that is used to access it. The web server makes pages available on the web by listening on the network for incoming requests for specific IP addresses, ports and host names.
The web site content is stored in a directory structure within the document root (or docroot) directory. The pages are either written and stored in their entirety, or can be dynamically generated. This is described in more detail in the following section.
Users access web sites using web browsers. Browsers request pages from the web server using URLs1, such as http://www.zeus.com/, and then display the pages returned by the server. Web servers can also receive information
back from browsers, for example, when someone fills in and submits a form. They can process this information in different ways and return further pages if required. Servers and browsers communicate with each other using the Hypertext Transfer Protocol (HTTP).
Web Server Functionality
Web servers host web sites, which can be thought of as being made up of two types of content:
• Static content is content that is stored in a file (such as an HTML page, or graphic image and so on) and sent to the browser to be displayed when requested. The content does not change unless someone modifies the file. Static files are generally created and then saved in the web site document root, so that they are ideally suited to being served up from a centralized file server.
For example, a movie review could be a page made up of static content. • Dynamic content needs to be generated in some way before the web
server returns it to the browser. Dynamic content is therefore generated on-the-fly, when requested, by calling a program that is run to produce the required output. Pages that contain dynamic content place servers under a heavier load and should be generated and served by fast
machines. There are many different ways of generating dynamic content, such as CGI, FastCGI, Java servlets, and NSAPI and ISAPI applications. For example, a cinema listings page that returns the listings for a speci-fied day could contain dynamic content. In this case the web server could query a database and build the result into a page before sending this page to the browser.
Web servers handle requests for information by locating and returning any static content files, and by calling the appropriate applications to generate dynamic content. Web servers can then incorporate all this information into the response that they return to the browser.
In order to be able to generate and return information securely and correctly, web servers also need to be able to control access to different applications and files, and display appropriate pages or information if the requested infor-mation does not exist, or cannot be accessed by the user making the request. It is also helpful to users if web servers can log access and activity information and be configured to manage the bandwidth available to different web sites, so that users can monitor and manage their web sites effectively.
Zeus Web Server Functionality
Zeus Web Server is a high performance, HTTP/1.1 compliant web server with a scalable architecture that can host tens of thousands of web sites on a single machine2.
It provides distributed content generation and authentication, with compre-hensive access control and supports the industry-standard APIs listed in API Support and Integration on page 20. Its functionality is described in more detail in the sections that follow.
2.3 Virtual Servers
Introducing Virtual Servers
A Virtual Server can be thought of as the environment that provides web server functionality for an associated web site3. Each Virtual Server can be configured to provide a specific level of functionality, such as the ability to run CGI scripts or ISAPI applications. It has its own unique address and docu-ment root that contains the content for its web site.
2. Note that some web servers host thousands of web sites, and some large web sites are hosted by hundreds of web servers.
3. If the Virtual Server supports Subservers, as described in Subservers on page 32, then it pro-vides the environment for a set of web sites.
Types of Virtual Servers
There are two different types of Virtual Server. The original version of the HTTP specification4 associated each web site with a single IP address. This meant that as additional web sites were added to a machine, more IP addresses also had to be added, which wasn't sustainable (as there are a fixed number of IP addresses available), and limited web server scalability. These Virtual Servers are referred to as hard Virtual Servers, which means that they are identified by a unique IP address and port combination.
To avoid these problems, HTTP/1.15 added a new way of identifying the desti-nation web site using first the IP address and port combidesti-nation, and then the contents of a Host Header (set to the requested host name). This enables one machine (with one IP address) to support multiple web sites, each of which is uniquely identified on that machine by its Host Header. These Virtual Servers are called soft Virtual Servers. A group of soft Virtual Servers can share a common IP address and port combination, and are distinguished using the Host Header field. This means that many web sites can be hosted on just one machine, without needing to configure it with many IP addresses. This is the most commonly used type of Virtual Server.
Zeus Web Server supports both hard and soft Virtual Servers. It can support thousands of hard Virtual Servers (limited only by the operating system TCP stack) and tens of thousands of soft Virtual Servers (limited only by the amount of available memory and Operating System scalability and not by the Zeus Web Server software).
Managing Virtual Servers using Zeus Web Server
You can use Zeus Web Server to set up, run and manage multiple Virtual Servers, each of which can be configured and controlled completely indepen-dently from the others. They can be stopped and started without affecting any others, and can also be monitored independently (described in Monitoring Activity on page 38).
Each Virtual Server can have individual bandwidth limits specified (as
described in more detail in Bandwidth Throttling on page 34), ensuring that no one Virtual Server can use more than its share of system resources. This can help guarantee particular levels of service for each Virtual Server, and also help contain any denial of service attacks.
Note:
i
Because SSL security is configured for particular IP address and port combina-tions, this means that hard Virtual Servers can be configured independently with SSL security, but soft Virtual Servers cannot.
Refer to Creating a New Virtual Server on page 45 to find out how to create a new Virtual Server using Zeus Web Server.
2.4 Clusters
Introducing Clusters
A cluster is a group of computers, each of which is running the same set of Virtual Servers (with the same configurations). This means that they are effectively hosting their web sites across multiple machines, so that they act together like one “big” web server, commonly called a “web server farm”. Clusters are usually run in conjunction with some sort of intelligent load balancing mechanism that distributes incoming web requests across the web servers in the cluster. This can be used to ensure that the web servers are loaded evenly, and that no particular web server is overloaded with requests, particularly if other web servers have spare capacity available. It can also mean that if one machine fails then its load is shared transparently between the others, thus providing fault tolerance. There are a number of different load balancing solutions available, implemented both in hardware and soft-ware, including Zeus Load Balancer6.
6. For more information about Zeus Load Balancer, refer to http://www.zeus.com/products/zlb/
Clusters enable you to increase your web serving computing power easily by simply adding more computers to the cluster. This can often be cheaper and involve less downtime than upgrading a single central server. You can also store your static web pages using a centralized networked file system (NFS) that can be accessed by all machines in the cluster.
Managing Clusters with Zeus Web Server
Zeus Web Server makes it as simple and straightforward to set up and manage multiple web sites on a cluster of web servers as it is to set them up on just one. The Administration Server manages and coordinates all the web serving components within the system (which can also include other products such as Zeus Load Balancer6). It holds the master configuration for all the web servers in the cluster, and automatically updates their configuration at the same time, thus ensuring consistency across the cluster. This means that you can deploy web site configurations across the entire cluster at the click of a button, and can monitor the real-time activity of the cluster.
Zeus Web Server clusters therefore provide an easy way of hosting multiple web sites across multiple machines, so that you can easily add machines as required, and eliminate single points of failure in your web hosting network. Refer to Creating a Cluster of Web Servers on page 284 for more information about setting up a cluster using Zeus Web Server.
2.5 Subservers
Introducing Subservers
Hosting providers often want to be able to run many web sites with similar configurations. For example, they might want to be able to offer a small set of “service offerings” (levels of web site functionality) with an associated pricing system, and an easy way of moving customers between them. Subservers provide an easy way of configuring, managing, supporting and scaling lots of similarly configured web sites. They enable you to set up the web site functionality just once, in just one place (the Virtual Server), and
Virtual Server has multiple document roots, each of which is accessed as a separate web site. Each of these document roots is associated with its own Host Header, and is called a Subserver.
Subservers make it simple to set up multiple web sites configured with the same functionality whilst avoiding the memory and disk usage overheads of running hundreds of Virtual Servers. They can be configured and managed easily just by configuring and managing one Virtual Server.
Managing Subservers using Zeus Web Server
Zeus Web Server enables you to set up Subservers by simply creating a Virtual Server with Subserver functionality enabled.
You can then add Subservers to the Virtual Server simply by adding subdirec-tories to the Virtual Server document root7: you do not need to configure any other information or stop and start the Virtual Server. This means that adding a new web site can be as easy as simply creating a new directory. Each of these Subservers supports the functionality provided by their “hosting” Virtual Server. When the Virtual Server receives a request for a Subserver, it simply checks to see whether it has a document root directory of the same name as the request’s Host Header. If so, it returns the appropriate file from that docu-ment root.
Customers can simply be given access to a Subserver document root (providing them with whatever functionality the associated Virtual Server is configured with), and they can then maintain and update their web sites in the usual way.
7. Because operating systems usually provide a limit to the number of subdirectories that can be supported within a directory (and therefore to the number of document root directories that can be supported), the Zeus Web Server uses a hashing scheme that extends this and enables approximately 70 billion (236) document root directories or Subservers to be
sup-ported on one Virtual Server. This means that in practice other limits constrain the total number of document roots.
2.6 Bandwidth Throttling
Bandwidth throttling enables you to limit the bandwidth available to any given web site. It can be used to ensure that no single web site uses all the available bandwidth, thus compromising the availability of other web sites hosted by the same web server.
Zeus Web Server makes it easy for you to specify the bandwidth that is avail-able to each Virtual Server (or Subserver), as described in Configuring Band-width Throttling on page 202.
2.7 Web Server Security
Introducing Web Server Security
Web server security is made up of a number of different aspects. To be secure, web servers cannot simply send pages straight to clients (browsers) in a form that can be intercepted and read by anybody. Web servers must be able to ensure that only the client that is supposed to be reading (or editing) some-thing is able to do so. This enables sensitive information such as names, addresses and credit card numbers to be transmitted securely between web servers and web browsers.
The table below summarizes the different aspects of web server security and how these issues can be solved using a particular security implementation, called SSL (Secure Sockets Layer) security:
Aspect Issue Solution
Identity Are you really talking to the person or web site that you think you are?
Web servers authenticate them-selves to browsers using public and private keys, and certificates.
Introducing Private Keys
The first step in configuring web site security is to generate a private key. This key is used to unlock the coded communication that is intended only for the key holder.
Introducing Signed Certificates
Signed certificates are certificates that are signed by a recognized Certificate Authority (CA), such as VeriSign, vouching for your identity. If you are going to use a publicly-recognized signed certificate, you will need to purchase one from a recognized CA who will use the information that you provide to check that you are who you say you are.
Once you have received your requested public certificate from the CA, you need to configure your Virtual Server to use it.
Introducing Self-Signed Certificates
While waiting for a signed certificate, you can generate a self-signed certifi-cate that you can use for web site security testing. A self-signed certificate simply states that you are who you say you are, without any independent veri-fication. Note that it is not necessary to do this; you can use a signed certifi-cate, without having used a self-signed certificertifi-cate, but it does enable you to develop and test your system first.
Zeus Web Server Security Support
Zeus Web Server provides full support for 128 bit SSL v3 and client-side X.509 certificates. It also supports hardware crypto-accelerators that can be used to
Privacy Is anyone else reading the infor-mation you are sending or receiving?
Web servers agree an Encryption Key with the browser and use it to encrypt all information they send. Integrity Are you reading what was
actu-ally sent to you, or has it been modified in transit?
Web servers send each encrypted message with a Message Authenti-cation Code.
carry out the SSL processing in hardware, and so reduce the load on the machines running the web servers8.
The Zeus Web Server interface makes it extremely easy to set up SSL-enabled web sites. It can generate private keys, self-signed certificates and certificate signing requests that can be sent to a recognized CA. It is integrated with the VeriSign web site, and can lead you through the process of buying a signed certificate. It also provides clustered support for SSL, so that you can set up SSL-secured web sites across a cluster.
For more information about setting up SSL, refer to Setting up Virtual Server SSL Security on page 68.
8. Note that most of the SSL processing overhead occurs when the secure connection to the Virtual Server is being established. Once established, an SSL connection uses little
addi-2.8 Logging
Logging enables you to record information about your web server system. Zeus Web Server can record the following types of information:
• Error logs record information about Zeus Web Server’s activity. These logs are categorized in the following way:
• Request logs record information about every request received by each Virtual Server. You can specify exactly what information is logged, and use these logs in conjunction with the Traffic History pages (introduced in the following section) to provide the basis for detailed analysis of your web site usage trends.
Zeus Web Server enables you to switch request logging on and off, specify where the logs are written to and configure which fields are included in the logs (on a per-Virtual Server basis), so that you can include exactly the information that you need and no more.
For more information about configuring logging, refer to Configuring Request logging on page 165 and Error Handling on page 173.
Information Type Marked Indicates
Status information INFO Normal web server activity. For example, the web server starts and stops.
Warning information WARN There was a problem starting a resource such as a Virtual Server, but it has still been started. For example, the specified global .htaccess file could not be found, and so the Virtual Server was started without it.
Error information SERIOUS There was a problem starting a resource such as a Virtual Server, that prevented it from starting. For example, a Virtual Server’s docu-ment root could not be found.
Fatal information FATAL There was a problem that prevented the
product from running. For example, an instal-lation file has been corrupted and so Zeus Web Server is unable to run.
2.9 Monitoring Activity
Zeus Web Server enables you to monitor your web server activity in the following ways:
• Real-Time Monitoring
This page displays real-time statistics that enable you to monitor the activity of the web servers on any of the machines in your cluster. It displays a real-time graph, that can be updated every second, showing how often various events occur within Zeus Web Server. You can monitor a wide range of events, such as how many requests the web server is answering, how many times a specific HTTP error page is returned, or how often a particular piece of functionality is used. Refer to Real-Time Moni-toring on page 73.
• Traffic History
These pages9 display dynamically-generated graphical information about web site activity (the hits or bytes transferred from each web site over the previous day or week). These pages display graphs showing recent activity for the selected categories of information (such as machines or Virtual Servers and so on). Refer to Using the Traffic History Pages on page 78 for more information about using this.
Note that this activity information is held separately from the request and error logs (introduced in the previous section).
2.10 Script-Based Management
Zeus Web Server provides an easy-to-use web-based interface for configura-tion, management and administration tasks, which calls a set of underlying scripts. Sometimes, however, a task may need to be repeated hundreds of times, say. In this case it can be easier to simply run the scripts directly from the command line, or combine multiple commands in a script of your own. This can be helpful if you are performing repetitive tasks, or are performing a complex task made up of many individual small steps.
For more information about using scripts and manipulating configuration files, refer to Scripting Overview on page 369.
CHA PTER 3
Starting Zeus Web Server
3.1 Introduction
This chapter assumes that you have installed Zeus Web Server, as described in Zeus Web Server Getting Started Guide. It describes how to start Zeus Web Server, how to access its user interface pages and how to create a Virtual Server.
Read this chapter if you are running Zeus Web Server for the first time. The next chapter describes how to configure your Virtual Servers.
3.2 Starting and Stopping Zeus Web Server
Starting Zeus Web Server
Normally Zeus Web Server starts automatically once you have installed it. To access it follow the instructions in the next section.
If, for any reason, however, Zeus Web Server has not started, you can start it explicitly by entering the following command, as the user that you installed under (usually root):
$ installation_dir/start-zeus
Stopping Zeus Web Server
Similarly, you can stop Zeus Web Server from the command line as the user that you installed under (usually root) in the following way:
$ installation_dir/stop-zeus
Where installation_dir is the directory that you installed in. This stops all the Virtual Servers on Zeus Web Server.
Warning:
!
Once you have stopped Zeus Web Server, you will no longer be able to access the user interface pages, or any of its Virtual Servers or the web sites that they are running.
Starting and Stopping Individual Components
The start-zeus and stop-zeus commands start and stop all the installed components. These include the administration component, which enables you to access the user interface pages, and the web server component, which runs all the Virtual Servers. If you have other Zeus products installed there will be other components too.
You may want to leave the web server component running, and just start the administration component when you want to access the user interface pages. In this case you can start the administration component in the following way:
$ installation_dir/admin/rc start
To stop the administration component, do the following: $ installation_dir/admin/rc stop
3.3 Setting Up your Browser and Reader
This section describes some of the browser and PDF reader settings that you can specify in order to maximize the functionality of the User Interface. • Multiple Language Support
The user interface pages can be displayed in any of the languages that are available as a Zeus Web Server language pack. To display them in one of these languages, simply configure that language as your preferred language in your browser settings. These can typically be found in the browser’s options or preferences menu.
• Viewing the Virtual Server tree structure
It is recommended that you enable cookie support in your browser. This enables the expanded state of your Virtual Server tree to persist as you move between pages. All the functionality will still work if you do not enable cookie support but you may find that you need to keep expanding your Virtual Server tree every time you access the Virtual Server Status page.
• Viewing the online documentation
The online documentation is displayed using the Adobe Acrobat reader10. It is recommended that you set your Adobe Acrobat reader settings to display in continuous mode. Do this by accessing the Adobe File/Prefer-ences/General dialog box. Set Default Page Layout to Continuous.
3.4 Accessing the Zeus Web Server Interface Pages
To access the Zeus Web Server interface pages, enter the URL that was returned to you during the installation process (as described in the Zeus Web Server Getting Started Guide) in your browser location bar. This usually has the form: http://YourMachineName:AdminServerPort, where yourmachinename is the name of the machine on which you installed Zeus Web Server, and AdminServerPort indicates the port that it is running on (usually port 9090).11Your browser displays the login dialog box:
Enter admin into the User Name field, and enter the password that you chose during the installation process into the password field. Note that both of these fields are case-sensitive.
Zeus Web Server displays an empty Virtual Server Status page:
Note:
i
You can bookmark this page, so that it is easy to return to.
This page provides access to the Virtual Server management and configuration pages for controlling your Virtual Servers.
Note that if you install other Zeus products, the page also displays links to their associated management and configuration pages.
The next step is to create a Virtual Server, as described in Creating a New Virtual Server on page 45. For more information about using this page, refer to Basic Tasks on page 55.
3.5 Preparing to Publish a Web Site
Before setting up your first Virtual Server and publishing a web site, you should have the following:
• An address for the web site, that visitors will use to access it. You will need to register the domain name, and then set up a DNS entry for it before using it.
For example, to set up the web site www.mywebsite.com, register the mywebsite.com domain name and then set the DNS entry for
www.mywebsite.com to your Zeus Web Server computer’s IP address. • The web pages, associated files, and applications that provide the content
for your web site.
3.6 Creating a New Virtual Server
The first step in using Zeus Web Server is to create at least one Virtual Server. A Virtual Server hosts web site content and provides the functionality used to generate its dynamic component. Virtual Servers are described in more detail in Virtual Servers on page 29.
To create a new Virtual Server, simply do the following: 1) Click the Virtual Server link in the Web Controller menu.
2) Fill in the fields on this page in the following way:
Set this field... ... to...
Virtual Server Name
a name that will help you identify this Virtual Server easily. It can contain letters, numbers, hyphens, dots and underscores, but no spacesa (for example, ‘personal’, ‘secure’, or
‘www.mywebsite.com’). It also cannot start with an under-score.
Zeus Web Server uses this name to identify this Virtual Server to you in the Virtual Server Status page, but it will not be seen by people viewing and using its web site.
Host Name and Port
the URL that clients will use to visit the Virtual Server’s web sites. It can be made up of letters, numbers, hyphens (-) or dots (.), but no spaces or underscores. You must ensure that you have registered this domain name and set up a DNS entry for it, as described in Preparing to Publish a Web Site on page 45. Note that you should also include the port number that the web site is running on if this is anything other than the default HTTP port (port 80). This will not normally be the case, but might be useful for you to do if you are developing and testing a new web siteb.
Server Comment comments about the Virtual Server. This text is displayed in the Virtual Server Status page, so you can use it to record any information that you want to associate with the Virtual Server. Document Root the full name and path of the subdirectory in which you are
storing the Virtual Server’s web site content. Note that this is the full path and so must start with a “/”.
Aliases specify aliases for your web site. Virtual Server aliases are a way of specifying “alternative web addresses” for a web site: the user goes to the same web site, and sees the same web pages, whichever alias is used. It can be helpful to specify a number of alternative addresses that you think users might use to access your web site.
For example, you could specify www.mywebsite.co.uk to be an alias for www.mywebsite.com. c
Specifying an alias of * means that this Virtual Server will be treated as the default Virtual Server for the IP addresses that it is binding to. This means that the Virtual Server will process requests for any host headers that do not match any configured aliases or host names for these IP addresses. Do not configure more than one Virtual Server with an alias of * on any IP address.
You can also configure a Virtual Server to respond to a number of web sites within a domain. For example you could specify *.accounts.mybank.com and *.mybank.co.uk, so this Virtual Server will serve products.mybank.co.uk and platinum.accounts.mybank.com.
You can only use * for a wildcard as the first character of the alias. It is not possible to specify www.*.mybank.com Note that in the same way that you must register a domain name before using it as a web site address, you must also register any domain names that you wish to specify as aliases. Note that this field can only be specified for Soft Virtual Servers.