Your Guide to Magento 2 Requirements

Increasingly, eCommerce businesses are deciding to switch to Magento 2 for its better security, user-friendly interface, and overall better performance.  It's essential to keep your Magento system installation current to ensure you have the latest advancements available. In this guide, we'll break Magento 2 system requirements into several areas, including server requirements, hardware requirements, and hosting requirements.  

Magento 2 Server Requirements

Image via Flickr by davidstewartgets Magento 2 server requirements support several reverse proxy servers.  It's necessary to confirm that your current server either matches Magento 2 server requirements preconditions or that you've uploaded the latest mainline version.  These servers include:
  • Nginx 1.8
  • Apache 2.2
  • Apache 2.4

Magento 2 Hardware Requirements for CPUs

Magento web nodes serve all uncached requests or requests the application is unable to cache.  One central processing unit (CPU) can effectively serve approximately two to four Magento requests.  The equation below will determine the number of web cores/nodes required to process requests coming in without them needing to go into the queue: N [Cores] = (N [Expected Requests] / 2) + N [Expected Cron Processes] If you expect your eCommerce store's load to differ, you can manually increase how many web cores/nodes are active during a specific sales period.  You can also use an auto-scaling model to extend web tiers automatically.

Magento 2 Hardware Requirements for Memory

To upgrade the Magento extension and applications obtained from sources, including Magento Marketplace, you'll likely need up to 2 GB of RAM.  When utilizing a system with 2 GB or less of RAM, it's recommended that you create a swap file to avoid upgrade failure.

Magento 2 Hardware Requirements for PHP

Magento 2 accepts several versions of the programming language PHP.  It is important to note that for PHP 7, PHP 7.0.5 has been known to affect Magento 2 code compiler.  To avoid this issue, it is best not to use PHP 7.0.5. Instead, use:
  • 5.5x where x is higher than 22
  • 5.6x
  • 7.0.2 to 7.1.0 with the exception of 7.0.5

Magento 2 Hardware Requirements for Database Engines

MySQL is a leader in open-source databases for web applications.  Building on the confidence the industry places in MySQL, Magento 2 system requirements include MySQL 5.6 for database structure.  By supporting MySQL 5.6 application programming interfaces (APIs), Magento 2 is also adaptable with MariaDB and Percona.

Magento 2 Hardware Requirements for Cache Systems

The Magento 2 system addresses the speed concerns of Magento 1.  While faster than its predecessor, manufacturers still recommend you enable and utilize a cache management tool to help improve overall speed.

Memcached

A memory object caching system that can be built into the Magento system, Memcached is distributed to be used as a fast back-end cache, improving overall speed considerably.

PHP OPcache

A bytecode cache engine that holds precompiled script bytecode via shared memory, PHP OPcache eliminates the need for PHP to upload and define scripts upon request.

Redis

Redis is an open-sourced system that, after installation, plays the role of session back end and cache for Magento systems.  The most powerful feature of Redis is its ability to support master/slave replication and on-disk save.

Varnish

Appearing as an ordinary server to users, Varnish is a caching HTTP reverse proxy that stores files or file fragments from the memory that reduce network bandwidth consumption and response time for equivalent future requests.

Magento 2 Hosting Requirements

To meet Magento 2 hosting requirements, you need either an LNMP or LAMP stack.  These stacks include a Linux operating system, Nginx or Apache HTTP server, MySQL management system, and PHP programming language. Magento servers must run recent Apache or Nginx web daemon, PHP versions as well as specific PHP extensions, modern database, and a modern Linux kernel.  Servers must also override options in .htaccess files and run scheduled cron jobs with PHP.  IronPlan Cloud hosting plans can meet all these requirements. eCommerce businesses can choose either a dedicated or a VPS server.  Magento 2 hosting requirements do not recommend shared hosting, as resources might not be available when needed or during busy times.  While VPS servers with enough RAM can provide adequate resources for most small or new eCommerce stores, more active or larger eCommerce businesses should invest in a dedicated server.

Magento 2 Requirements for Operating Systems

Linux distributions such as CentOS, Debian, RedHat Enterprise Linux (RHEL), Ubuntu, and similar.

Operating Systems not Supported by Magento

Mac OS and Windows OS do not support Magento.

Magento 2 System Requirements for Email Services

To receive and send emails in Magento 2, you must have an SMTP or MTA server configuration.
  • Simple Mail Transfer Protocol (SMTP):  Upon successful configuration within the Magento system, you can send and receive emails.
  • Mail Transfer Agent (MTA):  Enables email transfer by utilizing a client-server application architecture.  The SMTP specifies the transmission details.

Magento 2 Requirements for Secure Sockets Layer (SSL)

SSL serves as a security layer between your browser and a web server. It authorizes encrypted links to store all data shared between browsers and the web server while remaining integral and private.  Many websites utilize SSL to protect customer transactions.  Magento 2 requirements for establishing SSL for your eCommerce store include:
  • HTTPS must have a valid security certificate.
  • Self-signed SSL certificates are not permitted.
  • Transport Layer Security (TLS) is a requirement.

TLS Magento 2 Requirements

Magento requires TLS 1.1 or later and its component repository repo.magento.com.  The PCI Security Standards Council has removed SSL/TLS 1.0 as a strong cryptography example from the 3.1 version of the PCI Data Security Standard (PCI DSS), stating that, as of June 30, 2016, it can no longer be used as a security control. To process payments in a live environment, PayPal requires TLS version 1.2, which is already needed in the sandbox. The experts at IronPlane can assist your eCommerce business to make sure you're meeting Magento 2 system requirements, including server requirements, hosting requirements, and hosting requirements.  Contact our knowledgeable sales team today to get started.