Magento 2.1 technology stack requirements
Operating systems (Linux x86-64)
Linux distributions such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and so on
Memory requirement
Upgrading the Magento applications and extensions you obtain from Magento Marketplaces and other sources can require up to 2GB of RAM. If you are using a system with less than 2GB of RAM, we recommend you create a swap file; otherwise, your upgrade might fail.
Composer (latest stable version)
Composer is required for developers who wish to contribute to the Magento 2 codebase or anyone who wishes to develop Magento extensions
Web servers
In addition, the apache mod_rewrite
module must be enabled. mod_rewrite
enables the server to perform URL rewriting. For more information, see our Apache documentation.
- nginx 1.8 (or latest mainline version)
Database
MySQL 5.6
Magento application version 2.1.2 and later are compatible with MySQL 5.7.
MariaDB and Percona are compatible with Magento because we support MySQL 5.6 APIs.
PHP
Supported PHP versions:
-
~5.6.5
-
7.0.2
-
7.0.4
-
~7.0.6
-
~7.1.0
For versions 2.1.16 and later, Magento supports PHP 7.1 for the 2.1.x release line. The other supported PHP versions remain valid and unchanged.
PHP documentation: CentOS, Ubuntu
Required PHP extensions
-
lib-libxml
-
ext-ctype
-
ext-gd
-
ext-spl
-
ext-dom
-
ext-simplexml
-
ext-mcrypt
-
ext-hash
-
ext-curl
-
ext-iconv
-
ext-intl
-
ext-xsl
-
ext-mbstring
-
ext-openssl
-
ext-zip
PHP OPcache
We strongly recommend you verify the PHP OPcache is enabled for performance reasons. The OPcache is enabled in many PHP distributions. To verify if it is installed, see our PHP documentation for CentOS or Ubuntu.
If you must install it separately, see the PHP OPcache documentation.
PHP settings
We recommend particular PHP configuration settings, such as memory_limit
, that can avoid common problems when using Magento.
For more information, see Required PHP settings.
SSL
- A valid security certificate is required for HTTPS.
- Self-signed SSL certificates are not supported.
- Transport Layer Security (TLS) requirement
PayPal and repo.magento.com
both require TLS 1.1 or later
Mail server
Mail Transfer Agent (MTA) or an SMTP server
RabbitMQ 3.5 (Only Magento Commerce)
RabbitMQ will be used to publish messages to queue and to define the consumers that receive the messages asynchronously.
Magento can utilize the following technologies
- Redis versions 3.2, 4.0, 5.0 (compatible with 2.4+) Version 5.0 is highly recommended
- Varnish version 3.5 or latest stable 4.x version for page caching
-
memcached latest stable version for session storage with either
memcache
ormemcached
PHP extensions (latest stable version) -
Magento Commerce only
-
Apache Solr 4.x
Solr search can be used as a search provider. Available for Magento Commerce only.
-
Elasticsearch versions 1.7 and 2.x (recommended)
- If you get the Elasticsearch software from the Elasticsearch Linux repository, we support versions 2.x.
- If you get the Elasticsearch software from their Elasticsearch-PHP repository, we support the
2.0
branch.
-
-
Three master databases
These master databases provide scalability advantages for different functional areas of the Magento application: checkout, orders, and product data. Available for Magento Commerce only.
Optional but recommended
- php_xdebug2.2.0 or later (development environments only; can have an adverse effect on performance)
There is a known issue with xdebug
that can affect Magento installations or access to the storefront or Magento Admin after installation.
For details, see Known issue with xdebug.
- PHPUnit (as a command-line tool) 4.1 or later