Runtime dependencies

In order to successfully install, configure, and deploy Swarm, the following dependencies are required:

Optional dependencies:

Supported operating system platforms

Because Swarm includes binary versions of P4PHP (the Perforce extension for PHP), we support Swarm on the following operating systems:

You may be able to get Swarm running on another platform if you build P4PHP yourself and satisfy the other runtime dependencies. Instructions on how to obtain and build P4PHP from source can be found here.

Important

P4PHP does not support threaded operation. If you compile P4PHP from source, ensure that the version of PHP you compile for is non-threaded.

Apache web server

Swarm requires Apache HTTP Server 2.2 or newer:

Swarm also requires the following Apache modules:

Important

Only the prefork MPMAn MPM, or multi-processing module, is a component of the Apache web server that is responsible for binding to network ports, accepting requests, and dispatch operations to handle the request. is supported. Use of the worker or event MPMs is not supported and is likely to cause problems because P4PHP does not support threaded operation.

For more information on the prefork MPM, see:

PHP

Swarm requires PHP 5.3.3+, 5.4.x, 5.5.x, 5.6.x, or 7.0:

Important

PHP must be non-threaded because P4PHP does not support threaded operation.

Swarm requires the following PHP extensions:

Swarm greatly benefits from the following PHP extensions:

Helix server requirements

Swarm works with any supported version of the Helix Versioning Engine. The versions supported in this release of Swarm include the following versions:

Swarm performs best with the Helix Versioning Engine version 2016.2 or newer.

Swarm requires a user with at least admin privileges in the Helix Versioning Engine. This can be an existing user, or a new user created specifically to support Swarm.

For more information about how to set up a Helix Versioning Engine, see Helix Versioning Engine Administrator Guide: Fundamentals.

Trigger dependencies

The Swarm triggers, which are installed on the Helix server in a later step, require perl 5.08+:
https://www.perl.org/get.html

On the Windows platform, we have tested Swarm against Strawberry Perl. There are two Perl modules that are also required which may not be part of a minimal Perl installation.

Worker dependencies

The recurring task to invoke Swarm workers, installed in a later step, requires either of:

Supported web browsers

The following browsers are supported for use with Swarm:

Other web browsers might also work, including prior, development or beta builds of the above web browsers, but are not officially supported.

Swarm requires that JavaScript and cookies are enabled in the web browser.

Optional dependencies

Swarm can display previews of office-type documents when LibreOffice is installed. Installation is not required, but when LibreOffice is installed Swarm automatically detects its presence.

For more information, see LibreOffice.

To use the Download .zip feature (see Downloading files as ZIP archive), Swarm requires that the zip command-line tool be available.

For more information, see Archives configuration.

Security-enhanced Linux (SELinux)

Swarm supports SELinux on CentOS 7. SELinux is an advanced access control mechanism that improves security for Linux distributions.

SELinux operates in one of three modes:

See SELinux on CentOS 7 configuration for details.

If you see a Swarm configuration error similar to the error shown below, SELinux has not been correctly configured for Swarm. Check you have configured SELinux on CentOS 7 correctly.

Choose installation approach

Once you are aware of Swarm dependencies and can satisfy them, you have the following choices for installing Swarm. Choose one approach:

If you have not already done so, download Swarm.