Breve introduzione a Magento
Quando si parla di Magento si fa riferimento a una fra le più diffuse piattaforme eCommerce presenti online; si tratta di un CMS, un software in grado, cioè, di creare, gestire e mantenere operativo un portale Web nel quale poter effettuare compravendita di prodotti, occupandosi degli ordini, della comunicazione con un eventuale software di contabilità e della gestione degli utenti, nonchè di mettere a disposizione ulteriori strumenti, attraverso estensioni o plugin, per migliorare l’esperienza sia del visitatore sia del gestore.
Recentemente è stata rilasciata la seconda versione del software, che vede ingenti miglioramenti e nuove funzionalità; la sua installazione prevede determinati requisiti hardware e software, in modo tale che la configurazione e il suo funzionamento avvengano in modo ottimale.
Requisiti Hardware
L’ultima versione disponibile e scaricabile è la 2.4.5; in essa, i nodi Web di Magento si occupano di servire tutte quelle richieste che non sono memorizzare nella memoria cache; questa applicazione è in grado di distribuire su tutti i core del processore le richieste Magento e ognuno di essi è in grado di servirne fino a quattro in modo efficace.
È possibile allocare dinamicamente questa risorsa in base al numero di utenti connessi all’eCommerce, anche in modo automatico.
Lato pratico, per garantire un funzionamento sempre reattivo ed evitando che le richieste siano accodate, si consiglia l’uso di una CPU con almeno 8 core di elaborazione e 16 Thread.
Data l’estrema parallelizzazione, le soluzioni più adeguate comprendono i prodotti server come AMD EPYC o Intel Xeon.
Altro importante aspetto da considerare fa riferimento alla memoria RAM. Magento 2 necessita della memoria di sistema per ospitare il framework PHP che lo caratterizza.
Generalmente, se la configurazione prevede l’installazione di Magento 2 in una singola macchina server, la memoria minima consigliata è di 2 GB; se, invece, si intende sfruttare la configurazione distribuita tramite pipeline, è consigliabile che è il server di compilazione disponga di almeno un banco da 2 GB di RAM, mentre ogni nodo Web deve essere equipaggiato con almeno 1 GB di memoria primaria.
Per la precisione, vi sono diversi scenari nei quali il sistema basato su PHP può operare:
- Webnode dedicato alle pagine di vetrina; sono sufficienti 256 MB;
- Webnode che serve pagine di amministrazione con un ampio catalogo; 1 GB di RAM è preferibile;
- Cron di Magento 2 che indicizza un sito con un corposo catalogo: almeno 256 MB;
- Compilazione e distribuzione delle risorse statiche: bastano 756 MB.
In caso in cui non si disponesse di sufficiente RAM, è possibile allocare dello spazio aggiuntivo a tale scopo sfruttando i file di Swap, ossia riservando porzioni di Hard disk o SSD come memoria alternativa alla RAM ogni qualvolta il sistema lo richieda.
Il sistema operativo
Altro indispensabile componente a cui prestare attenzione riguarda il sistema operativo. Magento 2 è progettato per funzionare su sistemi che fanno affidamento al kernel Linux. Sono supportate diverse distribuzioni, fra le quali RedHat Enterprise Linux (RHEL), CentOs, il comune Ubuntu, Debian, Manjaro e simili.
Essi possono essere x86 oppure x64, seppur sia consigliabile l’utilizzo di quest’ultima architettura. Sia MacOS sia Microsoft Windows non sono supportati.
Altri requisiti software e di sistema
Innanzitutto, come citato precedentemente, Magento fa affidamento a tool PHP per poter svolgere le normali funzioni di backEnd e non tutte le versioni sono pienamente compatibili.
L’ultima versione del software per l’eCommerce lavora correttamente se è installato PHP 8.1. Le versioni precedenti di Magneto 2 (come la 2.4.4, 2.4.3, fino alla 2.3.0) supportano versioni inferiori di PHP, che spaziano dalla 7.1 per la versione più datata alla 7.4 per la versione più recente prima della 2.4.5.
Altro fondamentale software da installare e configurare è il Web Server. Sia Apache che NginX sono ammessi. Il primo, tuttavia, è la soluzione più diffusa e con il supporto maggiore in caso di problemi o richieste specifiche.
È indispensabile, inoltre, mettere a disposizione del CMS un database nel quale archiviare tutte le transazioni e gli articoli, nonché i dati necessari al corretto funzionamento del sistema. MySQL è il DBMS consigliato, seppur ne siano supportati altri come MariaDB (spesso diffuso in sistemi Linux), Percona o altre versioni basate su MySQL.
Per ottenere la piena operatività di tutta la suite di strumenti piuttosto che affidarsi solamente alle funzioni di base, è buona norma installare altri strumenti di contorno, fra i quali: Composer 2 come gestore di pacchetti PHP, Elasticsearch 7 come server di ricerca, RabbitMQ per una gestione avanzata della messaggistica, Redis per avere tempi di risposa bassissimi per quanto riguarda l’accesso ai dati e Varnish come acceleratore PHP.