System Requirements

This paragraph provides some guidance in server hard- and software requirements.

The server does not need to be a high performance computing server, the back-end server(s) do the hard computational work.

Depending on the type of deployed applications, the dataflow can be significant and needs to be managed in-memory.

The duration of computations and the number of simultaneous users need to be accomodated. If there are many users doing many long-running computations, the server resources (memory) and number of simultaneous PHP processes need to be scaled up accordingly.

Server Hardware Requirements

Server type

The server can be a metal, virtualized. containerized or even "serverless" web- or app-server, that supports PHP 8.

CPU and Memory

As for any web application, you should size your server based on the traffic on the site.

Typically analytics applications deployed through the Portal Server are quite data intensive. During interaction with the server all data, including file up- and downloads, lives in memory in the Portal Server.

It is recommended to assign 512MB per simultaneous active server request. If applications do not do significant file up- and download this can be reduced.

Disk

The Portal Server application code is less than 50MB.

The main driving factors behind required additional disk space are:

1. The amount of front-end versions to be supported (current production versions < 10M each).
2. Logging enabled in combination with traffic through the server.

Logging directory can be configured outside the installation directory (recommended).

Particularly when traffic logging (intended for debugging purposes only) is enabled for an application log files can grow rapidly. File up- and download data is never being logged to save space.

Apart from disk space for logging it is recommended to allocate at least 1GB of diskspace for the application itself.

Server Software Requirements

Operating System

The Portal Server runs on Windows, and Linux (and most likely on other plaforms supporting webserver and PHP 8 technology).

Web Server

The Portal Server has been developed and tested with NGINX and Apache. Most likely it will work with any recent web server software with PHP 8 support.

PHP

The web server must support PHP 8. It can be installed as CGI or any other integration technology.

PHP extensions

The development and testing of the Portal Server has been done by means of a standard binairy PHP build including the standard range of extensions.

Next to those extensions the below are required to be enabled in the php.ini file of your server.

Mandatory extensions:

ExtensionComment
curlrequired for communication between the Portal Server and the MATLAB/Python backend servers
fileinfogeneral purpose
ldaprequired for LDAP or Active Directory authentication
opensslrequired for HTTPS communication between Portal Server and MATLAB/Python backend servers
zlibrequired to enable output compression

Please refer to the Installation paragraph where the check.php script is dicussed for highlighting permissions and lsting of values of som key settings. The location of the php.ini file used is also listed in the check.php results.

PHP.INI settings

PHP SettingSuggested ValueComment
max_execution_time300Excludes the time required for the curl call to the backend. Curl timeout is configured per application.
max_input_time300-
memory_limit512MThis limit should be sufficiently large (e.g. 4x the maximum expected payload incl. file uploads).
post_max_size256MThis limit should be sufficiently large (e.g. 2x the maximum expected payload incl. file uploads).