The following server requirements cover both running the software on-premise and on third-party PaaS providers.
eZ Platform Cloud
eZ software is built to rely on existing technologies and standards. The minimal setup is
Apache/Nginx. Recommendation for production setups is to use
Solr in a clustered setup.
For supported versions of these technologies see Recommended and Supported setups below.
These setups are tested by QA and are generally recommended setups. For security and performance we furthermore recommend use of the newer versions of components below unless otherwise noted.
|Debian||Ubuntu||RHEL / CentOS|
|Operating system||9.x "Stretch"||16.04LTS "Xenial" / 18.04LTS "Bionic"||7.x|
|Web Server||Nginx 1.10Apache 2.4||Nginx 1.10/1.14Apache 2.4||Nginx 1.10 (latest via RHSCL)Apache 2.4|
|DBMS||MariaDB 10.1MySQL 5.5.3||MariaDB 10.0/10.1MySQL 5.7*||MariaDB 10.1 (latest via RHSCL)MariaDB 10.0 (latest via RHSCL)MySQL 5.6 (latest via RHSCL)MariaDB 5.5|
|PHP||PHP 7.0||PHP 7.0/7.2||PHP 7.0 (latest via RHSCL)|
|PHP packages||php-cliphp-fpmphp-mysql or php-pgsqlphp-xmlphp-mbstringphp-intlphp-mcryptphp-curlphp-gd or php-imagick||php-cliphp-fpmphp-mysql or php-pgsqlphp-xmlphp-mbstringphp-intlphp-mcryptphp-curlphp-gd or php-imagick||php-cliphp-fpmphp-mysqlnd or php-pgsqlphp-xmlphp-mbstringphp-processphp-intlphp-pear (optional, provides pecl)php-gd or php-imagick (via pecl)|
|Cluster PHP packages||php-memcached (via pecl) or php-redis (via pecl)||php-memcached (via pecl) or php-redis (via pecl)||php-memcached (via pecl) or php-redis (via pecl)|
Solr versions older than 6.6.2 have a security vulnerability. Remember to download or update to a higher version.
|Search||Solr (recommended, for better performance and scalability of all API Queries):Solr 4.10Solr 6 SOLR BUNDLE >= 1.3, CURRENTLY TESTED WITH SOLR 6.6LTSOracle Java/Open JDK: 7 or 8 (needed for Solr, version 8 recommended)|
|Graphic Handler||GraphicsMagick or ImageMagick or GD|
|Clustering||Linux NFS or S3 (for IO, aka binary files stored in content repository)Memcached or Redis 3.0 or higher (preferably a separate volatile-ttl instance for sessions, and an allkeys-lru/allkeys-lfu instance for cache)Varnish 4.1 or higher with varnish-modules (if you use varnish-modules 0.9.x, you need ezplatform-http-cache 0.8.x) or Fastly using our bundle provided with eZ Platform Enterprise (for HttpCache)|
|Filesystem||Linux ext3 / ext4|
Other supported setups¶
For security and performance we generally recommend (unless otherwise noted and marked with *) using the newer versions of components below.
- OS: Linux
- Web Servers:
- Apache 2.4, with required modules
- event MPM is recommended
- Nginx 1.10, 1.12, 1.14
- Apache 2.4, with required modules
- MySQL 5.5.3 and higher, 5.6*, 5.7*
- MariaDB 5.5 (new enough to support
utf8mb4character set), 10.0, 10.1, 10.2*, 10.3*
- 7.0 - 7.2
- Redis (preferably a separate volatile-ttl instance for sessions, and an allkeys-lru/allkeys-lfu instance for cache)
- Solr or SQL based Search engine (but does not provide same featureset or performance as Solr)
- NFS or S3
- Varnish 4.1 or higher with varnish-modules or Fastly using our bundle provided with eZ Platform Enterprise (for HttpCache)
- pdo mysql (with mysqlnd)
- php-memcached (3.x on PHP 7, 2.2 on PHP 5) or php-redis
* Note: Mysql 5.7+ and MariaDB 10.2+ changes how certain queries are parsed and is known to have issues with content attribute sorting queries in legacy because of that at the moment, MySQL 5.6 technically works but executes several hundred times slower on said queries. Because of this we overall recommend MariaDB 10.1 and 10.0, and don't recommend MySQL 5.6/5.7+ and MariaDB 10.2+ in use with legacy at the moment.
Development and Experimental setups¶
eZ Platform, the foundation of all eZ software, can theoretically run and execute on many more setups than the ones listed as recommended and supported, including any operating system supported by PHP, on a PHP 7.0 version or higher that pass the Symfony requirements, using cache solutions technically supported by Stash, using databases supported by Doctrine DBAL, and using a binary file storage solution supported by FlySystem.
Examples of Development setups:
- OS: Windows, macOS X, Linux
- Filesystem: NTFS, HFS+, ...
Examples of Experimental setups:
- OS: Any system supported by PHP
- Filesystem: BTRFS, AUFS, APFS, ...
- IO: Azure, (S)FTP, GridFS, etc.
- Databases: Postgres, MSSQL, Oracle (As in technically supported by Doctrine DBAL which we use, but none supported by our installer at the moment, and Oracle and MSSQL is not covered by automated testing)
While all these options are not actively supported by eZ Systems, they are community supported. Meaning you can use them with both open source edition and enterprise edition, however if you encounter issues best way to handle them is via contribution, and any such efforts made to improve support for these technologies can contribute to the technology being supported by eZ Systems in the near future.
eZ software is developed to work with any web browser that support modern standards, on any screen resolution suitable for web, running on any device. However for the Editorial and Administration User Interfaces you'll need; a minimum of 1024-by-768 screen resolution, a desktop or tablet device, and a recommended/supported browsers found below.
These setups have been undergone some additional manual testing and is known to work.
- Mozilla® Firefox® most recent stable version
- Google Chrome™ most recent stable version
- Microsoft® Edge® most recent stable version
- Apple® Safari® most recent stable version, desktop and tablet
- Opera® most recent stable version, or higher, desktop and mobile
Please note that the user interface might not look or behave exactly the same across all browsers as it will gracefully degrade if browser does not support certain features.
eZ Platform Cloud requirements and setup¶
eZ Platform Cloud
Cloud hosting with eZ Platform Cloud and Platform.sh¶
In general, eZ Platform Cloud supports all features and services of Platform.sh that are compatible and supported by the eZ Platform version you use.
- Platform.sh provides Redis support for versions 2.8, 3.0 and 3.2. eZ Platform supports Redis version 3.0 or higher. As a result, Redis is supported by eZ Platform Cloud versions 3.0 and 3.2.
- Platform.sh provides Elastic Search service (different versions supported). eZ Platform 1.13 does not officially support Elastic Search. As a result, Elastic Search is not supported for use as search engine for eZ Platform (1.13).
Features or services supported by eZ Platform but not covered by Platform.sh may be possible by means of a custom integration.
eZ Platform Cloud Setup support matrix¶
|Setup||Description||eZ Platform Cloud support|
|Recommended setup||eZ PlatformeZ Platform setup, with no use of legacy.||eZ Platform software plus cloud hosting infrastructure is supported by eZ for version 1.13 and higherRecommended configuration provided out of the box and fully supported, on-boarding help available.|
|Supported setup||Legacy Bridge setupeZ Publish 5.x-like setup where web traffic goes to eZ Platform/Symfony and Legacy Bundle provides legacy fallback features.Notably it allows among other things enabling a "Legacy mode" where legacy bundle lets legacy take over handling of URL aliases.||Installation and cloud is supported by eZ for version 1.13 and 2.xReview and potential adaptation of the application configuration to be performed by eZ Systems technical services prior to deployments. The cost and effort of this review and potential adaptation is not included in eZ Platform Cloud subscription and will vary depending on each project's specificities.NOTE: Advanced legacy features like ezfind, Async publishing, ezodf, and similar go under 'Experimental setup', to avoid this migrate to similar eZ Platform features.|
|Experimental setup||eZ Publish, eZ Publish Platform and other pure legacy setupseZ Publish (version 4.x) or eZ Publish Platform (version 5.x) standalone setup or an experimental setup with eZ Platform and Legacy Bridge.||Not covered by eZ Platform Cloud subscription.The use of Platform.sh service is possible as a standalone service and can be used to bridge migration needs. We recommend involving an eZ business partner that has experience with setting up legacy projects on Platform.sh|
Recommended eZ Platform Cloud setup¶
For more details on recommended setup configuration see bundled
.platform/ configuration files.
These files are kept up-to-date with latest recommendations and can be improved through contributions.
Supported eZ Platform Cloud setup¶
Because of the large range of possible configurations of eZ Publish legacy, there is no ready-made recommended setup. Make sure to set aside time and budget for:
- Verifying your legacy configuration and ensuring it is supported by Platform.sh
- Additional time for adaptation and configuration work, and testing by your own team
- Additional consulting/onboarding time with Platform.sh, eZ Systems technical services, and/or one of the many partners with prior experience using Platform.sh with eZ Publish legacy
The cost and effort of this is not included in eZ Platform Cloud subscription and will vary depending on the project.
Experimental/custom Platform.sh setups¶
Any use of experimental versions or setups is not eligible for use with eZ Platform Cloud. However, it is possible to use an eZ Enterprise subscription in combination with a Platform.sh contract, where you or a partner take ownership of the configuration to set up the project.
Such projects are possible by means of custom integrations/configuration, but they may generate issues that won't be covered by eZ Enterprise subscription bug fix guarantee.
Use a partner with prior experience on legacy and Platform.sh
If you are in need of setting up your legacy project on Platform.sh for a transitional period, eZ can put you in contact with a partner experienced in setting up older projects on Platform.sh. This will save you a lot of time and effort.
How to move to a supported setup with relatively low effort
If you would like to use a supported setup but need to run legacy code, consider upgrading to eZ Platform with Legacy Bridge, using PHP 7 to avoid legacy admin getting slower.
Until you are ready for full migration you can continue to use legacy admin and operate your front end(s) in legacy mode or partial legacy mode (Symfony pagelayout with fallbacks to legacy) This makes your project ready to perform a gradual migration to eZ Platform.
eZ Systems offers enablement and technical services to help you perform such an upgrade, and helps you plan for the follow-up migration.
Features supported by eZ Platform, but not natively by Platform.sh, can in many cases be used by means of custom integrations with external services.
For example, you can create an integration with S3 by means of setting up your own S3 bucket and configuring the relevant parts of eZ Platform. We recommend giving the development team working on the project access to the bucket to ensure work is done in a DevOps way without depending on external teams when changes are needed.