If you are working on a Magento Commerce Cloud project, see Service versions in the Cloud Guide.
Operating systems (Linux x86-64)
Linux distributions, such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and similar. Magento is not supported on Microsoft Windows and macOS.
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.
In addition, you must enable the Apache
mod_rewritemodule enables the server to perform URL rewriting. The
mod_versionmodule provides flexible version checking for different
httpdversions. For more information, see our Apache documentation.
- MySQL 8.0 for on-premise installations
- MariaDB 10.4 for Magento Commerce Cloud projects
Magento is also compatible, but has not been tested and is not recommended, with MySQL 5.7.9, MariaDB 10.2, and Percona 5.7.
Magento only uses MySQL features compatible with MariaDB. MariaDB may not be compatible with all MySQL features, however; so be sure to research compatibility issues before using a feature in your Magento module. Reindexing on MariaDB 10.4 takes more time compared to other MariaDB or MySQL versions. See Configuration best practices.
Magento supports PHP 7.4.0. You can install Magento 2.4.0 with 7.3, but it is not tested or recommended. It is intended for upgrading from Magento 2.3.x to Magento 2.4.0.
There is a bug in PHP 7.4.2 which causes some messages to not render properly. Magento recommends using other versions of 7.4.
Required PHP extensions
The PHP installation instructions include a step for installing these extensions.
Refer to official PHP documentation for installation details.
If you must install it separately, see the PHP OPcache documentation.
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.
As of Magento 2.4.0, MySQL is no longer used for search. You must use Elasticsearch. Magento is tested with Elasticsearch 7.6.x. You can use other versions at your discretion, but we recommend using the tested version of Elasticsearch.
Magento no longer supports Elasticsearch 2.x, 5.x, and 6.x.
- A valid security certificate is required for HTTPS.
- Self-signed SSL certificates are not supported.
Transport Layer Security (TLS) requirement - PayPal and
repo.magento.comboth require TLS 1.2 or later:
Required system dependencies
Magento requires the following system tools for some of its operations:
Mail Transfer Agent (MTA) or an SMTP server
Technologies Magento can use
- Redis version 5.0 is recommended and used in testing for page caching and session storage
Varnish version 6.x (tested with 6.3.1)
RabbitMQ can be used to publish messages to queue and to define the consumers that receive the messages asynchronously.
Magento Commerce only
Three master databases
These master databases provide scalability advantages for different functional areas of the Magento application such as checkout, orders, and all remaining Magento2 application tables.
Optional but recommended
- php_xdebug 2.5.x 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) 9.0.0