Come installare Magento 2?
Questa è una delle domande che mi vengono spesso rivolte da sviluppatori che vogliono affacciarsi al mondo di Magento e che ne vogliono approfondire lo studio.
Pertanto ho deciso di raccogliere in un unico post, una guida completa che ti aiuti a configurare correttamente il server e installare Magento 2 tramite composer e il Wizard.
Sommario
Prima di installare Magento 2
Prima di procedere è necessario che tu abbia un server su cui installare Magento 2.
Se non ce l’hai, puoi seguire due strade.
La prima è quella di noleggiare un server dedicato oppure un VPS, ma sicuramente se sei uno sviluppatore alle prime armi, con poca disponibilità economica, questa soluzione non è consigliabile.
A meno che tu non stia già lavorando per un tuo cliente.
La seconda è quella di installare una macchina virtuale Linux sul tuo computer desktop o portatile e lavorare direttamente li.
Ti sconsiglio di usare Windows come sistema operativo su cui installare Magento 2 🙂
Se vuoi saperne di più su quale sia il miglior hosting per Magento 2, puoi seguire la guida che scrissi un po’ di tempo fa.
Creare una macchina virtuale Linux con Virtual Box
Ho realizzato un video tutorial, che ti illustra passo passo come installare una macchina virtuale Linux con Virtual Box.
VirtualBox è uno dei software di virtualizzazione più utilizzati (lo puoi scaricare gratuitamente da virtualbox.org), ma puoi usare quello che preferisci.
Come hai potuto vedere, creare una macchina virtuale Linux è un’operazione abbastanza semplice e rappresenta la base da cui iniziare.
NOTA: questo tutorial è basato su Debian 9 (Non usare Debian 10!), con alcuni accorgimenti tuttavia, puoi usarlo per Ubuntu o altre distribuzioni Linux. Per CentOS devi considerare che, per installare pacchetti, dovrai usare yum anziché apt-get.
Creare un Virtual Server con Virtualmin
Il secondo passo è quello di creare il virtual server che ospiterà magento 2 e i suoi files.
Esistono diversi pannelli di gestione che ti permettono di automatizzare quest’operazione, come ad esempio Plesk oppure Virtualmin, oppure se sei su CentOS, puoi utilizzare CentOs Web Panel.
In questo video tutorial ti mostro come installare e configurare Virtualmin, che offre diversi vantaggi, oltre a essere completamente gratuito.
Nel mio caso ho creato un virtual server per il dominio magento.nicolasodano.com, ma tu ovviamente dovrai crearlo per il tuo.
A questo punto sei pronto.
Non ti resta che scoprire come installare Magento 2 proseguendo con questa guida!
Come installare Magento 2: La guida
Ho già realizzato un video tutorial, basato su Magento 2.2.6, disponibile quando realizzai il video.
La trovi un po’ più sotto, tuttavia voglio aiutarti a installare Magento 2.3, che richiede l’utilizzo di PHP 7.1.3+, 7.2.x a differenza del suo predecessore e pertanto qualcosina è cambiato.
Come installare PHP 7.2
Quindi prima di procedere con il video tutorial vediamo come installare la versione 7.2 di Php e rimuovere la precedente, installata con virtualmin, ovvero 7.0.13 (Ma vale anche con PHP 7.1!).
Accedi con le credenziali di root alla tua macchina virtuale e lancia i seguenti comandi nella shell di Linux, per rendere disponibili i pacchetti della versione di PHP che vogliamo installare:
apt install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt update
A questo punto puoi installare php 7.2 digitando quanto segue:
apt install php7.2 php7.2-common php7.2-cli php7.2-fpm
Verifica quali altri pacchetti di Php sono presenti digitando:
dpkg -l | grep php | tee packages.txt
Come puoi vedere dall’immagine, vengono elencati sia i pacchetti riferiti alla versione 7.0 di PHP che i nuovi pacchetti:
Ora non ci resta che installarli digitando:
apt install php7.2-cgi php7.2-mbstring php7.2-mysql php7.2-xml libapache2-mod-php7.2
Nota: il pacchetto libapache2-mod-php7.2 va installato solo se stai usando Apache2 con il prefork MPM (puoi vederlo digitando apachectl -V e controllando la voce Server MPM)
Infinite puoi disabilitare la versione 7.0 di PHP digitando:
a2dismod php7.0 (oppure 7.1)
Per abilitare la versione corretta di PHP da Virtualmin, devi accedere al pannello di controllo e sotto la voce Server Configuration accedere alla voce Php Versions:
Assicurati pertanto di selezionare la voce corretta e cliccare su Save Versions. In questo modo viene disabilitata automaticamente la versione precedente di PHP e abilitata quella nuova.
Rimuovere PHP 7.0 ( o PHP 7.1)
A questo punto puoi rimuovere la vecchia versione di Php digitando:
apt purge php7.0*
Nota che, durante l’installazione potrebbe chiederti se vuoi installare Php 7.3. Scegli “No” come opzione, in quanto attualmente, non è garantito il corretto funzionamento di Magento 2 con questa versione.
Quindi, onde evitare spiacevoli inconvenienti, tieni gli occhi attenti su questa fase.
Nota che puoi testare la corretta installazione di Php 7.2 Digitando php -v sulla shell.
Se tutto è andato a buon fine, dovresti vedere la versione nuova installata.
A questo punto digita:
a2enmod php7.2
Se hai eseguito tutto come descritto in precedenza, non dovresti ricevere errori, ma se dovessi ricevere questo avviso :
ERROR: Module php7.2 does not exist!
Esegui il comando:
apt install libapache2-mod-php7.2 libapache2-mod-php
Nota che, nelle versioni più recenti di php7.2, apt installa anche le librerie di php 7.3.
Te ne accorgi eseguendo php -v e in questo caso dovresti vedere attivo php 7.3.
Quindi in tal caso esegui il comando:
apt purge php7.3
Ora puoi digitare nuovamente:
a2enmod php7.2
Tuttavia potresti riscontrare un problema!
Quindi ti invito a seguire attentamente ora, prima di entrare nel vivo di come installare Magento 2 sul tuo server!
Crea un file (ad esempio test.php) nella cartella public_html del tuo virtual server contenente questa stringa:
<?php echo 'ok' ?>
e poi richiamalo da browser.
Molto probabilmente, anziché visualizzare al video l’output corretto, il file verrà scaricato.
Pertanto segui questi passi, esattamente come sono descritti.
- Vai su /home/magento/fcgi-bin
- Digita chattr -i php7.2.cgi per consentirne la cancellazione
- Cancella la cartella /home/magento/fcgi-bin (ti consiglio di fare una copia di backup digitando mv fcgi-bin fcgi-bin_bkp)
- Cancella la cartella /home/magento/etc (esegui un backup con mv etc etc_bkp)
- Dal pannello di controllo di virtualmin passa a apache mod_php e poi abilita nuovamente fast cgi.
Per passare ad apache mod_php in virtualmin, accedi a Website Options sotto la voce Server Configuration:
Seleziona pertanto l’opzione Apache mod_php in corrispondenza di PHP script execution mode e poi su Save.
Infine esegui di nuovo l’operazione al contrario, torna a FCGId selezionando l’opzione e salvando la configurazione.
Come ultima operazione apri il file /etc/apache2/mods-enabled/php7.2.conf (puoi usare vi o un altro editor) e commenta le due linee:
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
così come mostrato in figura:
Riavvia il server di Apache ( systemctl restart apache2).
A questo punto, apri sul tuo browser il file di test creato in precedenza. Se hai seguito esattamente la procedura, dovresti vedere correttamente l’output a video.
Vediamo ora come installare Magento 2 🙂
Finalmente siamo entrati nel vivo di questo tutorial, che puoi seguire da qui.
Il video tutorial ti mostra una delle strade possibili da seguire e quella che io preferisco, ovvero tramite composer.
Prima di procedere assicurati di aver modificato la voce Maximum PHP script run time in virtualmin (oppure nel file php.ini), aumentando il valore da quello di default a 300 oppure seleziona unlimited.
Trovi questa voce in Server Configuration > Website Options.
Se lo fai da php.ini, riavvia apache2 prima di procedere.
A breve vedremo:
- come scaricare composer
- installare pacchetti aggiuntivi di PHP richiesti da Magento 2
- come scaricare e installare Magento 2 con composer
- Eseguire il wizard di configurazione di Magento 2
Come scaricare composer
Dal sito di composer nella sezione di download, scarica l’ultima versione disponibile.
Ti consiglio di digitare direttamente dalla shell quanto segue:
wget https://getcomposer.org/download/1.8.5/composer.phar
Scarica il pacchetto in /home/magento e assicurati che la cartella public_html sia vuota (cancella il file di test creato in precedenza e ogni altro contenuto presente digitando rm- rf /home/magento/public_html/*)
Se non lo sai, come puoi leggere in questa utilissima guida, Composer è uno strumento che ti aiuta a gestire le dipendenze dei pacchetti installati in un tuo progetto, permettendo di aggiornare le librerie esterne in modo semplice.
Composer è stato adottato per gestire al meglio le dipendenze tra i pacchetti di Magento 2 e pertanto ti consiglio di seguire questa strada.
In alternativa puoi scaricare Magento 2 da Github e saltare le fasi successive, ma te lo sconsiglio 🙂
Installare pacchetti aggiuntivi di PHP
Prima di procedere dovrai installare alcuni pacchetti aggiuntivi richiesti da Magento 2.
apt install php7.2-bcmath php7.2-curl php7.2-gd php7.2-intl php7.2-soap php7.2-zip
Una volta installati questi pacchetti puoi procedere con la fase successiva.
Ma prima riavvia il server di Apache:
service apache2 restart
Come scaricare e installare Magento 2 con composer
A questo punto per scaricare Magento 2 tramite composer dobbiamo creare il file composer.json.
Spostiamoci nella cartella public_html digitando:
cd /home/magento/public_html
Assicurati di essere autenticato come utente magento (su magento)
E poi digita (attento al punto finale che indica il percorso!):
php /home/magento/composer.phar create-project --repository=https://repo.magento.com/ magento/project-community-edition:2.3 .
Una volta lanciato il comando ti comparirà la richiesta di autenticazione:
Recuperare le credenziali di autenticazione Magento
Per ottenere lo username e la password richieste in fase di installazione, devi spostarti sul marketplace di Magento e autenticarti cliccando in alto a destra su Sign In.
Se non hai registrato nessun account, dovrai crearne uno.
Una volta eseguito il login, accedi al tuo profilo cliccando sulla voce My Profile in alto a destra.
A questo punto clicca su Access Keys.
In questa sezione vengono salvate tutte le chiavi di accesso, necessarie per scaricare e installare moduli e temi di terze parti, incluso Magento 2.
Crea una nuova chiave di accesso cliccando su Create a New Access Key.
Verranno generate in automatico una public key, che userai come username e una private key, che userai come password.
Clicca su Copy oppure copia il contenuto della Public Key e incollala nella shell.
Se stai usando Putty oppure Kitty ti basta premere col tasto destro del mouse, per incollare il contenuto.
Fai la stessa cosa con la Password.
Se ti viene richiesto di salvare le credenziali per un uso futuro seleziona Y.
A questo punto non ti resta che attendere il completamento del download dei pacchetti del core di Magento, che potrebbe richiedere qualche minuto.
Ignora i warning che ti vengono segnalati.
Prima di andare avanti, devi apportare una modifica ai file .htaccess del progetto.
Apri il file /home/magento/public_html/.htaccess.
Cerca la riga:
Options +FollowSymLinks
E commentala anteponendo il simbolo di cancelletto (#).
Fai la stessa cosa per il file /home/magento/public_html/pub/.htaccess
Eseguire il wizard di Magento 2
Se tutto è andato a buon fine, non ci resta che eseguire il wizard per completare l’installazione di Magento 2.
Apri il browser e avvia il sito (nel mio caso è http://magento.nicolasodano.com).
In questo modo partirà automaticamente la configurazione guidata.
Nota: Se non hai modificato i file .htaccess come ti ho suggerito nel paragrafo precedente, riceverai un messaggio di errore.
A questo punto clicchiamo su Agree and Setup Magento.
1. Verifica dei prerequisiti di Magento 2
Clicca su Start Readiness Check, affinché Magento esegua un controllo dei prerequisiti.
Se hai seguito correttamente il tutorial, non riceverai nessun messaggio di errore.
Clicca su Next
2. Configura il Database in Magento 2
Nella schermata successiva dovrai fornire le credenziali di accesso al Database.
Virtualmin assegna come password la stessa del Virtual server creato in precedenza.
Il Database Name è quello creato in fase di configurazione e, solitamente, corrisponde al nome utente: nel mio caso è magento.
3. Configura gli accessi al backend di Magento 2
Nella fase successiva dovrai impostare l’accesso al pannello di amministrazione.
Magento ti propone un indirizzo “sicuro”, che puoi cambiare all’occorrenza.
Ti consiglio di annotarlo in un file, così da non dimenticare l’URL.
Lascia inoltre invariate le opzioni avanzate.
4. Personalizza lo store Magento 2
A questo punto devi configurare il fuso orario, la valuta e la lingua di default del tuo store, così come riportato in figura.
Ovviamente queste opzioni cambiano, se operi in altri paesi 🙂
5. Crea un utente amministratore
Nel passo successivo inserisci le credenziali di accesso per l’utente Admin.
Potrai creare altri utenti e personalizzare i permessi di accesso successivamente, a installazione terminata.
Non ti resta quindi che premere su Install Now per completare la procedura di installazione.
Nota Bene: Prima di procedere, assicurati di aver impostato come unlimited il tempo limite di esecuzione degli script PHP.
Ricorda di riportare il valore a 30/60 secondi, al termine dell’installazione.
Se tutto quanto va a buon fine, riceverai, al termine della procedura, una conferma di avvenuta installazione.
Come installare Magento 2: Step conclusivi
A questo punto del tutorial, possiamo dire di essere quasi giunti alla fine.
Clicca su Launch Magento Admin per accedere al pannello di amminitrazione:
Se dovessi riscontrare problemi di accesso, assicurati di aver dato i permessi corretti ai files.
Esegui pertanto questi comandi, come utente di root:
find . -type f -exec chmod 644 {} \; // 644 permessi per i files
find . -type d -exec chmod 755 {} \; // 755 permessi per le cartelle
chmod 755 . // permessi cartella public_html
Esegui infine il deploy dei contenuti statici lanciando il seguente comando:
php bin/magento setup:static-content:deploy -f
Se hai eseguito correttamente la procedura, vedrai correttamente anche il front-office:
Conclusioni
Come hai potuto vedere, l’installazione di Magento 2, non è un’ operazione complessa.
Tuttavia richiede alcune attenzioni per evitare errori, che potrebbero causarti dei veri mal di testa.
Lascia un commento per farmi sapere se la mia guida “come installare Magento 2” ti è stata utile.
Vuoi scoprire come ottimizzare il tuo ecommerce in pochi semplici steps?
Scarica la mia guida gratuita.
Ebook Gratuito "Ottimizza il tuo sito e-commerce in pochi semplici steps"
Per saperne di più
Di seguito trovi alcuni link utili:
- Sito Web ufficiale Virtual box:
https://www.virtualbox.org/ - Market place di Magento:
https://marketplace.magento.com - Documentazione ufficiale di Magento 2:
https://devdocs.magento.com/guides/v2.2/install-gde/composer.html - Cosa è composer: https://devdev.it/guida-composer/cose-e-a-cosa-serve-composer/
- Virtualmin: https://www.virtualmin.com/download.html
Lascia un commento