Magento 2.1.x 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
- Apache 2.2 or 2.4In 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
7.0.0, 7.0.1 | 7.0.2 | 7.0.3 | 7.0.4 | 7.0.5 | 7.0.6–7.0.x | 7.1.x |
5.6.0–5.6.4 | 5.6.5–5.6.x |
5.5.x |
PHP documentation: CentOS, Ubuntu
Required PHP extensions:
- bc-math
- curl
- gd, ImageMagick 6.3.7 (or later) or both
- intl
- mbstring
- mcrypt
- mhash
- openssl
- PDO/MySQL
- SimpleXML
- soap
- xml
- xsl
- zip
- PHP 7 only:
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) requirementPayPal and
repo.magento.com
both require TLS 1.1 or later
Mail server
Mail Transfer Agent (MTA) or an SMTP server
Magento can utilize the following technologies:
- Redis version 3.0 for page caching and session storage (the latter supported by Magento version 2.0.6 and later only)
- 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 Enterprise Edition (EE) only
- Apache Solr 4.xSolr search can be used as a search provider. Available for Magento Enterprise Edition (EE) 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.
- RabbitMQ 3.5RabbitMQ can be used to publish messages to queue and to define the consumers that receive the messages asynchronously. Available for Magento EE only.
- Three master databasesThese master databases provide scalability advantages for different functional areas of the Magento application: checkout, orders, and product data. Available for Magento EE 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
How to get the Magento software
Magento software installation
Hi, we’re glad you’re among the 240,000 merchants worldwide who put their trust in our eCommerce software. We’ve gathered some information to help you get started with Magento and with your Magento installation.
We have some resources here to help get you started using the eCommerce platform of the future—Magento 2.
It’s what we do.
How to get the Magento software
Consult the following table for how to get started installing Magento Community Edition (CE) or Magento Enterprise Edition (EE).
User needs | Description | High-level installation and upgrade steps | Get started link |
---|---|---|---|
Easy installation, command line, have your own server | Some technical expertise, command line access to the Magento server.
Enables you to install the Magento software and extensions using either the Web Setup Wizard or the command line. You cannot use the Web Setup Wizard to upgrade the Magento software and extensions. You must upgrade using Composer and the command line. |
|
Easy installation (own server) |
Integrator, packager | Wants full control over all components installed, has access to the Magento server, highly technical, might repackage Magento CE with other components.
Enables you to install the Magento software and extensions using either the Web Setup Wizard or the command line. You can also upgrade the Magento application and extensions using the Web Setup Wizard or command line. |
|
Get the metapackage |
Contributing developer | Contributes to the Magento codebase, files bugs, and customizes the Magento software. Highly technical, has their own Magento development server, understands Composer and GitHub.
Enables you to install the Magento software and extensions using either the Web Setup Wizard or the command line. You cannot use Magento in a production environment. You cannot use the Web Setup Wizard to upgrade the Magento software and extensions. You must upgrade using Composer and git commands. |
|
Clone the Magento repository |
Useful information
At any time during your installation, take advantage of our installation quick reference (tutorial) or installation roadmap (reference). They’re really easy to use; the tutorial walks you through a sample installation. The roadmap provides links to common tasks throughout the guide.
Use the links on the left side of the page to navigate topics in each part of the installation.
Required server permissions
UNIX systems require root
privileges to install and configure software like a web server, PHP, and so on. If you need to install this software, make sure you have root
access.
You should not install the Magento software in the web server docroot as the root
user because the web server might not be able to interact with those files.
You’ll also need root
privileges to create the Magento file system owner and add that owner to the web server’s group. You’ll use the Magento file system owner to run any commands from the command line and to set up the Magento cron job, which schedules tasks for you.