Come installare Magento 2 su Localhost

Pubblicato: 2021-04-12

Sommario

Aggiornato il 13 aprile 2021 : gli utenti potrebbero riscontrare un errore 404 non trovato durante il tentativo di installare Magento 2.4.2. Segui la soluzione suggerita nell'articolo per il miglior risultato.

È passato molto tempo da quando Magento ha introdotto la sua versione 2.0. Con un'interfaccia utente più intuitiva e prestazioni migliorate, è probabile che molti utenti Magento 1 esistenti si sposteranno a Magento 2 prima o poi. Seguendo la tendenza, SimiCart ha anche rilasciato l'app mobile Magento 2 a dicembre 2016.

Oggi ti mostreremo come installare Magento 2.4 localmente su Windows usando il server XAMPP. Questo tutorial è rivolto agli attuali utenti di Magento 2 e anche agli utenti che non conoscono Magento. Ora, iniziamo!

Parte 1: Installa e configura XAMPP

Passaggio 1 : scarica XAMPP

Link per il download: https://www.apachefriends.org/download.html

Ti consigliamo di installare XAMPP con la versione PHP 7.4.x, consigliata da Magento per M2.4. Sempre secondo Magento, puoi installare Magento 2.4 con PHP 7.3, ma non è testato o consigliato.

Passaggio 2 : installa XAMPP

Dopo aver scaricato XAMPP, fai doppio clic sul file per installarlo sul tuo computer.

Fare clic su Avanti .

passo 1 della configurazione di xampp

Lascia la selezione predefinita come nell'immagine. Fare clic su Avanti .

passo 2 della configurazione di xampp

Scegli la cartella di installazione. Il percorso predefinito è C:\xampp . Successivamente, fai clic su Avanti .

passo 3 della configurazione di xampp

Fare clic su Avanti .

passo 4 della configurazione di xampp

Fare clic su Avanti .

passo 5 della configurazione di xampp

Il programma di installazione ora installerà xampp sul tuo computer. Per favore aspetta per un po.

installazione di installazione di xampp

Al termine della configurazione, vedrai l'opzione "Vuoi avviare il Pannello di controllo ora?". Tienilo selezionato. Fare clic su Fine per uscire dalla configurazione e accedere al Pannello di controllo XAMPP.

completamento della configurazione di xampp

Passaggio 3 : configura XAMPP

Nel pannello di controllo di XAMPP, fai clic sul pulsante Config nella riga "Apache" e fai clic su " PHP (php.ini) ".

configurare php.ini


Nel file php.ini , trova queste righe e rimuovi ; prima di ogni riga:

 ;estensione=intl
;estensione=sapone
;estensione=prese
;estensione=sodio
;estensione=xsl

Espandi memory_limit a 4G:

 limite_memoria=4G

Al termine, salva e chiudi il file. Quindi, fai clic sul pulsante Start su 2 righe Apache e MySQL per avviarli. Non uscire da XAMPP dopo questo passaggio, lascialo funzionare.

Passaggio 4 : configurare il file hosts

Apri C:\Windows\System32\drivers\etc\hosts . Aggiungi la seguente riga all'ultima riga:

 127.0.0.1 www.localhost.com

Passaggio 5 : crea un database

Sfoglia l'URL http://localhost/phpmyadmin/ per accedere alla pagina phpMyAdmin. Inserisci il nome di un database ("Magento2", ad esempio) e fai clic su Crea .

phpmyadmin

Prendi nota del nome del tuo database, poiché in seguito vorrai installare Magento su di esso (usando l'utente root ).

Parte 2: Installa Elasticsearch

A partire dalla versione 2.4, Magento richiede che Elasticsearch sia il motore di ricerca del catalogo.

Scarica Elasticsearch 7.6.0: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x è testato solo con Elasticsearch 7.6.x. Puoi usare altri 7.x versioni a tua discrezione, ma ti consigliamo di utilizzare la versione testata di Elasticsearch.)

Estrai il file .zip che hai appena scaricato. In una finestra di terminale, cd nella directory estratta ed esegui questo comando:

 .\bin\elasticsearch.bat

Al termine dell'installazione, puoi verificare se Elasticsearch è installato correttamente su http://localhost:9200 , che dovrebbe darti qualcosa del genere:

 {
   "nome" : "Cp8oag6",
   "cluster_name" : "ricerca elastica",
   "cluster_uuid": "AT69_T_DTp-1qgIJlatQqA",
   "versione" : {
     "numero" : "7.6.0",
     "build_flavor" : "predefinito",
     "build_type" : "tar",
     "build_hash": "f27399d",
     "build_date": "2016-03-30T09:51:41.449Z",
     "build_snapshot": falso,
     "lucene_version" : "8.7.0",
     "minimum_wire_compatibility_version" : "1.2.3",
     "minimum_index_compatibility_version" : "1.2.3"
   },
   "slogan" : "Sai, per la ricerca"
 }

Parte 3: Scarica Magento usando Composer

Poiché alcuni dei plugin di Magento 2 non funzionano con composer 2.x, ti consigliamo di utilizzare una versione stabile di composer 1.x per scaricare Magento. Il modo migliore per farlo sarebbe installare Composer-Setup.exe.

Questa configurazione installerà l'ultima versione del compositore e imposterà le variabili di ambiente PATH in modo da poter chiamare comodamente il compositore da qualsiasi directory. Al termine dell'installazione di composer, è necessario eseguire il downgrade a una versione precedente 1.x utilizzando composer self-update --1 per garantire la migliore compatibilità.

Quindi, cd su C:\xampp\htdocs ed esegui il seguente comando:

 compositore create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <nome-directory-di-installazione>

Dovrebbe volerci del tempo prima che il compositore scarichi e installi tutti i moduli necessari. Quando tutto è finito, questo è ciò che dovresti vedere:

compositore scarica Magento

Parte 4: installa Magento usando la riga di comando

A partire da Magento 2.4, l'interfaccia della riga di comando è il metodo di installazione predefinito (e unico) per Magento.

Durante l'installazione di Magento 2.4, potresti riscontrare alcuni errori. Per prevenire tali errori, devi prima apportare alcune modifiche ai file Magento.

Per evitare questo errore:

errore gd2

Trova la funzione validateURLScheme in \vendor\magento\framework\Image\Adapter\Gd2.php e sostituiscila con:

 funzione privata validateURLScheme(string $filename): bool
   {
       $ schemi_permessi = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($nomefile);
       if ($url && isset($url['schema']) && !in_array($url['schema'], $schemi_consentiti) && !file_exists($nomefile)) {
           restituire falso;
       }
       restituisce vero;
 }

Quindi, cd nella tua directory Magento ed esegui questo comando:

 php bin/magento setup:install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=yourdbname --db-user=yourdbuser --db-password=yourdbpassword - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- timezone=America/Chicago --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

Descrizioni :

  • base-url : il percorso in cui si trova la tua directory Magento, che segue il seguente formato: http[s]://<host o ip>/<your Magento install dir>/
  • db-host : il nome host o l'indirizzo IP del tuo host
  • db-name : cambialo con il nome del database Magento che hai appena creato
  • db-user : un utente del database con autorizzazione completa. Useremo l'utente root predefinito.
  • db-password : la password dell'utente del database. Lascia vuoto se stai usando l'utente del database "root".
  • admin-firstname : il tuo nome
  • admin-lastname : il tuo cognome
  • admin-email : il tuo indirizzo email
  • admin-user : il nome utente che utilizzerai per accedere al Pannello di amministrazione
  • admin-password : la password che utilizzerai per accedere al Pannello di amministrazione
  • language : la lingua che utilizzerai nel tuo pannello di amministrazione e nella tua vetrina. Usa il codice della lingua come en_US .
  • admin-email : cambialo nella tua email
  • currency : imposta la valuta predefinita da utilizzare nel tuo negozio. Inserisci php bin/magento info:currency:list per un elenco di valute supportate insieme ai loro codici
  • timezone : passa al fuso orario in cui ti trovi. Fai riferimento all'elenco dei fusi orari supportati per un'idea migliore su cosa riempire.
  • url-rewrites : impostato su 1 per abilitare le riscritture del server Web. Questo aiuterà con il posizionamento del tuo sito.
  • backend-frontname : imposta il tuo URL di amministrazione. L'omissione di questo parametro risulterà in un URL generato casualmente per il tuo percorso di amministrazione Magento (ad esempio, admin_jkhgdfq)
  • search-engine : imposta la versione di Elasticsearch che desideri utilizzare per questa installazione di Magento. L'impostazione predefinita è elasticsearch7
  • elasticsearch-host : il nome host o l'indirizzo IP su cui è in esecuzione Elasticsearch. L'impostazione predefinita è localhost
  • elasticsearch-port : il numero di porta che Elasticsearch sta ascoltando. Il valore predefinito è 9200

Per opzioni più configurabili, fare riferimento alla guida ufficiale di Magento.

Al termine dell'installazione, vedrai questo messaggio:

 Verifica dei permessi del file dopo l'installazione...
 Per sicurezza, rimuovi i permessi di scrittura da queste directory: 'C:/xampp/htdocs/magento24/app/etc'
 [Avanzamento: 1270 / 1270]
 [SUCCESSO]: installazione di Magento completata.
 [SUCCESSO]: URI del pannello di amministrazione: /admin
Niente da importare.

Successivamente, dovremo apportare alcune modifiche aggiuntive per far funzionare Magento con Windows, in questo modo:

In app\etc\di.xml , sostituisci Symlink con Copy

 <virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
    <argomenti>
        <nome argomento="strategiesList" xsi:type="array">
            <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
            <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
        </argomento>
    </argomenti>
</tipo virtuale>

In vendor\magento\framework\View\Element\Template\File\Validator.php , sostituisci la riga 138 con:

 $realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));

Infine, esegui questi comandi:

 php bin/indicizzatore magento:reindex
php bin/configurazione magento: aggiornamento
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush

Ulteriori modifiche per Magento 2.4.2 e versioni successive

A partire da Magento 2.4.2, è ora obbligatorio servire il contenuto dalla cartella /pub/ per garantire una maggiore sicurezza. Questo è il motivo per cui sono necessarie ulteriori modifiche per far funzionare correttamente la versione di Magento 2.4.2.

Passaggio 1 : copia i file index.php e .htaccess da /pub/ nella tua cartella principale.

Passaggio 2 : trova la riga seguente in index.php (nella cartella principale):

 richiedono __DIR__ . '/../app/bootstrap.php';

e sostituirlo con

 richiedono __DIR__ . '/app/bootstrap.php';

Passaggio 3 : vai al database Magento 2 che hai creato di recente (in http://localhost/phpmyadmin ) e trova la tabella core_config_data usando questa query SQL:

 SELEZIONA * DA core_config_data

In questa tabella, vorrai inserire queste righe in:

Sentiero Valore
web/sicuro/url_statico_base http://localhost/magento24/pub/static/
web/non sicuro/url_statico_base http://localhost/magento24/pub/static/
web/secure/base_media_url http://localhost/magento24/pub/media/
web/non sicuro/base_media_url http://localhost/magento24/pub/media/
Sostituisci magento24 con la directory di installazione di Magento
  • Inserisci le righe manualmente:
Inserisci nuovo database di tabelle
Nuovo percorso e valore della riga del database Localhost
  • Inserisci righe con query SQL:
 INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

Le righe appena aggiunte dovrebbero assomigliare a questa:

Ora svuota la cache usando:

 php bin/magento cache:flush

E rinfresca il tuo frontend. Ora dovresti essere in grado di vedere una pagina vuota come questa quando accedi al tuo frontend tramite base-url configurato:

Magento 2 senza dati di esempio

Ora puoi accedere al tuo frontend Magento con il tuo base-url configurato. Ad esempio, con la nostra installazione di Magento 2.4.2, accediamo al nostro nuovo sito Magento all'indirizzo http://localhost/magento24/ e al nostro backend all'indirizzo http://localhost/magento24/admin .

*Nota: se riscontri questo errore quando provi ad accedere al tuo account Admin Magento: "Devi configurare l'autorizzazione a due fattori..."

Errore di autenticazione a due fattori del backend Magento

Prova a eseguire questo comando:

 php bin/modulo magento: disabilita Magento_TwoFactorAuth

Parte 5: Importa dati campione (facoltativo)

Esegui questo comando per importare dati di esempio:

 php bin/magento sampledata:deploy

Quando richiesto, inserisci le tue chiavi di autenticazione Magento. Le chiavi pubbliche e private vengono create e configurate nel tuo account Magento Marketplace.

Chiavi di accesso Magento

Al termine dell'importazione dei dati, eseguire:

 php bin/configurazione magento: aggiornamento
php bin/magento setup:static-content:deploy -f
php bin/magento cache: clean

Ora, aggiorna il frontend e dovresti essere in grado di vedere il negozio Magento predefinito con il tema Luma e i dati di esempio.

Tema Magento 2 Luma

Questo è tutto! Hai finito di installare Magento 2 sul tuo localhost. Ora puoi accedere al tuo frontend/backend Magento 2 e iniziare a esplorare le funzionalità di Magento 2. Ci auguriamo che questo post ti sia utile!


Ulteriori letture

10 migliori temi e modelli gratuiti per Magento 2 nel 2022
10 migliori temi e modelli gratuiti per Magento 2 nel 2022
Perry 3 gennaio 2022 8 minuti di lettura
12 migliori provider di hosting Magento 2
12 migliori provider di hosting Magento 2
Heiley Nguyen 4 giugno 2021 9 minuti di lettura
I 10 migliori siti Web di Magento 2
I 10 migliori siti Web di Magento 2
Perry 1 settembre 2020 9 minuti di lettura
10 migliori esempi di PWA Magento
10 migliori esempi di PWA Magento
Luca Vu 25 dicembre 2020 11 minuti di lettura