The IBM HTTP Server (powered by Apache) for i is a complete Web server product which offers several components and features to assist in your web site configuration and development.
Besides installing the IBM HTTP Server, there are other products and IBM i options that you might need to run your Web server. For a complete list, reference Redbook HTTP Server (powered by Apache): An Integrated Solution for IBM iSeries Servers.
Components available in LPP DG1 (*BASE)
The IBM HTTP Server embraces features of the open-source Apache HTTP server software, regularly incorporating the latest levels of Apache. In addition, a graphical user interface is provided for easy configuration and management of your HTTP servers. Other useful features are also shipped providing a complete and easy-to-use Web serving product.
IBM HTTP Server incorporates all the latest features of Apache, as well as, integrates the security and functionality of IBM i. One of the key differentiators of IBM i is the many built-in features and services that make the platform one of the most secure in the market. The IBM HTTP Server also includes many security functions which help extend the IBM i security to the Web environment.
IBM HTTP Server provides excellent Web serving performance through its support of: caching, file compression, and performance statistics data collection. For example, dynamic caching of web pages gives you better static page serving performance using local caching, proxy caching, or Fast Response Cache Accelerator (FRCA). File compression using the mod_deflate module increases network performance. To view the performance statistics of your server, use the Real Time Server Statistics tool that is available in the IBM Web Administration for i interface.
For HTTP server performance information and capacity planning tools, refer to the IBM i Performance Capabilities Reference and the IBM Workload Estimator on the IBM i Performance Management Web site.
More features of IBM HTTP Server are described under Getting Started.
The IBM Web Administration for i interface combines forms, tools, and wizards to create a simplified environment to set up and manage many different servers and server types on your system.
One of the key differences between IBM HTTP Server and other Web server products is the graphical user interface (GUI) provided for setting up and managing your servers. The IBM Web Administration for i interface is rich in function, examples, error-checking, and ease-of-use. Administration is made significantly easier through the use of forms, wizards, tasks and tools.
When using the IBM Web Administration for i interface, it is no longer necessary to memorize directive names and their proper usage or syntax. Directives are represented in the interface by descriptive field names, along with help text for every field. The IBM Web Administration for i enforces supported context for the directives.
The IBM Web Administration for i interface supports the following servers and server types on your IBM i to help integrate these technologies into an useful production ready Web environment.
To create interactive Web applications that can take full advantage of your enterprise data, take a look at Net.Data from IBM. Net.Data provides the connectivity to dynamic data that can make your Web site stand out from the crowd! By using Net.Data, you can build Web applications with data from a variety of data sources. Your web applications will have the power of all of the data in your enterprise.
For more information, see the Net.Data Web site.
If Web serving is a critical aspect of your business, you may want high availability and scalability for your Web server environment. High availability and scalability of the Web server environment can be achieved through the use of IBM i clustering.
The Web server cluster solution can provide:
Clusters are a collection of complete systems that work together to provide a single, unified computing capability.
A liveness monitor checks the state of the Web server and interacts with the Web server and the clustering resource services in the event that a Web server fails (failover), or a manual switchover takes place (ensures no interruption of Web server services). The clustered hash table (part of the state replication mechanism) can be used to replicate highly available CGI program state data across the cluster nodes so that the state data is available to all nodes in the event that a Web server fails (failover) or is switched-over manually (switchover). To take advantage of this capability, an existing CGI program must be enabled in a highly available Web Server environment. CGI programs write to the CGI APIs to indicate what data is replicated.
There are three Web server cluster models that are supported:
For more information, see the High Availability Web Server Cluster Web page and Redbook HTTP Server (powered by Apache): An Integrated Solution for IBM iSeries Servers (Chapter 14 - High availability).
FastCGI is an open standard extending the Common Gateway Interface (CGI) standard supported by many common web servers today. This standard defines how information is exchanged between a Web server and FastCGI programs isolated in external processes. On IBM i these external processes are provided by a FastCGI Apache module which make external PASE programs (FastCGI programs) available as CGI jobs which can then be utilized by the native ILE environment resulting in faster HTTP request processing.
The role of FastCGI programs, as dictated by the FastCGI specification, is to process incoming HTTP request data received from browser clients. For example the following steps are taken when a user enters data into a Web form and submits the form to a FastCGI enable Web server for processing:
- The HTTP request is received at the Web server.
- The HTTP request's Uniform Resource Identifier (URI) is parsed to identify how the request should be processed.
- Based on the URI contained in the HTTP request, action is taken to server a file or process the request through a script or program. FastCGI related URI's are handled by a FastCGI program depending on what server directives have been specified in the HTTP configuration files.
IBM HTTP Server for i administrators control which FastCGI programs the system can run by specifying certain server directives in the HTTP configuration files. With the proper server directives specified, IBM HTTP server for i can recognize which URI's contained in HTTP requests are for a FastCGI program, commonly called a FastCGI script. Depending on the server directives, the server calls that program on behalf of the client.
The IBM HTTP Server for i only supports FastCGI programs that run in the IBM i PASE environment and conform to the FastCGI standard (link resides outside ibm.com).