Skip to main content

Private Web Server and Management Portal

Private Web Server and Management Portal

The Management Portal Apache server is self-contained and configured to listen on a non-standard TCP port (something other than the usual, well known, HTTP server port of 80). It does not interfere with any other web server installation operating on the same host.

To access the Management Portal, enter the following URL (which resolves to the port number on your private web server for the current Caché instance):

http://localhost:57772/csp/sys/UtilHome.csp

The minimal Apache server used for the Management Portal is often referred to as the Private Web Server.

A minimal build of the Apache web server is supplied for the purpose of running the Management Portal. This server is known as the Private Web Server (PWS) and is built and configured to meet the management needs of InterSystems server products and is configured to only connect to Cache and Ensemble. The options selected to create the PWS are not, in general, suitable for production use. In particular, security is minimal and the configuration deployed is generally unsuitable for applications for which a high volume of HTTP requests is anticipated. Testing (by InterSystems) of the PWS only covers the use of this server for managing Caché and Ensemble. However many developers find it useful to use the PWS for testing their own CSP and Zen applications.

Note:

When installing Caché and Ensemble, this private version of Apache is installed to ensure that:

  1. The Management Portal runs out of the box.

  2. An out-of-the-box testing capability is provided for development environments.

The private Apache web server is not supported for any other purpose.

For deployments of http-based applications, including CSP, Zen, and SOAP over http or https, you should not use the private web server for any application other than the Management Portal; instead, you must install and deploy one of the supported web servers (for information, see the section “Supported Web Servers” in the online InterSystems Supported PlatformsOpens in a new tab document for this release).

The PWS is responsible for supporting the management portals for Caché, Ensemble, and HealthShare Foundation. However, customers are not required to use this web server to manage InterSystems products: customers may run the various management portals through a web server of their own choosing.

Finally, the PWS is self contained and configured to listen on a non-standard TCP port (something other than the usual, well known, HTTP server port of 80). It will not interfere with any other web server installation operating on the same host.

Note:

The PWS is available for UNIX, Linux, Mac OS X and Windows. See the section Building the Private Web Server for more information.

The entry point for the Management Portal is normally via the following CSP path and file:

/csp/sys/UtilHome.csp

For example:

http://127.0.0.1:8972/csp/sys/UtilHome.csp

Building the Private Web Server

The (default) full Apache server is usually created with the following sequence of commands:

./configure --prefix=<install-dir>
make
make install

The minimal Apache build is typically created as follows:

./configure --prefix=/usr/cachesys/httpd --with-port=57772 \
            --with-pcre=$srcdir/pcre \
            --enable-mods-static="log_config mime alias unixd authz_core" \
            --disable-ssl \
            --enable-so --without-gdbm --without-ndbm \
            --without-berkeley-db --with-included-apr --with-expat=builtin \
            --with-mpm=prefork --disable-shared
make
make install

Notice that many of the services that are normally required for a production grade installation are excluded.

While this server can be used to host other CSP applications it is strongly recommended that a full, independent web server installation is used for this purpose. It should be remembered that any changes made to the configuration of the Management Portal Apache installation are overwritten when the hosting Caché installation is upgraded.

The Management Portal Apache installation uses the following CSP Gateway modules for communicating with Caché:

  • Windows: CSPa2.dll and CSPa2Sys.dll

  • UNIX®: CSPa2.so and CSPa2Sys.so

Managing the Private Web Server

Under normal operational conditions, the Management Portal Web Server for a particular instance of Caché is started when Caché is started and closed down when Caché is closed down. Occasionally it may be necessary to restart the Management Portal Web Server without disrupting the corresponding Caché server. For example, a web server restart is necessary if a configuration change is made to the web server (httpd.conf).

Use the following commands to start and stop the Management Portal Web Server.

Windows

Start the Management Portal Web Server:

<cache-install-dir>\httpd\bin\httpd -k start -n <instname>httpd -c "Listen <port>"

Stop the Management Portal Web Server:

<cache-install-dir>\httpd\bin\httpd -k stop -n <instname>httpd
For example:

Caché installed in: C:\cachesys

Caché instance name: CACHE

TCP port for Apache: 57772

Start:

C:\cachesys\httpd\bin\httpd -k start -n CACHEhttpd -c "Listen 57772"

Stop:

C:\cachesys\httpd\bin\httpd -k stop -n CACHEhttpd

UNIX®

Start the Management Portal Web Server:

<cache-install-dir>/httpd/bin/httpd -d <cache-install-dir>/httpd -c "Listen <port>"

Stop the Management Portal Web Server:

kill `cat <cache-install-dir>/httpd/logs/httpd.pid`

Note:

On AIX®, LD_LIBRARY_PATH must include the /cache-install-dir/bin directory in order to manually run httpd.conf.

For example:

Caché installed in: /usr/cachesys

TCP port for Apache: 8972

Start:

/usr/cachesys/httpd/bin/httpd -d /usr/cachesys/httpd -c "Listen 8972"

Stop:

kill `cat /usr/cachesys/httpd/logs/httpd.pid`

You can also use the following methods of the class Config.StartupOpens in a new tab:

Limitations of the Private Web Server

This section discusses the differences between the configuration of the PWS and that of a typical production grade Apache installation.

Windows

Windows-based Apache installations use a special multithreaded form of the Apache Multi-Processing Module (MPM) which is better suited to the way the operating system is optimized. Therefore, the behavior of the PWS under Windows is similar to that of a production grade Apache build as far as the ability to handle concurrent load is concerned.

If high availability and production-grade security is a requirement, or there is a need to integrate with other sources of web information, or a need for a high degree of control over the web server, a separate production-grade build of Apache is recommended - ideally operating on its own server. If, on the other hand, low volumes of HTTP traffic are expected, and there are limited demands for high availability and security, then the PWS may be suitable for deployment under these circumstances.

UNIX

The PWS defaults to using the Apache Group’s prefork Multi-Processing Module (MPM). This is a non-threaded server model: the number of requests that can be concurrently served is directly related to the number of Apache worker processes in the pool.

The PWS is configured to occupy the smallest possible footprint by allowing a maximum of two worker processes to be created for the pool. The following settings will be found in the Apache configuration (httpd.conf) for the PWS:

MinSpareServers 1
MaxSpareServers 2

By contrast, the default Apache configuration for a production grade build is usually as follows:

StartServers       5
MinSpareServers    2
MaxSpareServers   20
ServerLimit      256
MaxClients       256

This configuration allows Apache to create 5 worker processes at startup, increasing to a maximum of 256 as the concurrent load increases. Because of these differences in configuration, the performance of the PWS is noticeably inferior to that of a production grade Apache build. This performance deficit becomes more noticeable as the concurrent load increases. However, it is possible to change the configuration of the PWS to match that of a full Apache installation (shown above). Apache must be completely restarted after changing these parameters.

FeedbackOpens in a new tab