GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come installare Magento 2.4 con LEMP Stack su Ubuntu 20.04

In questa guida, ti mostreremo come installare Magento 2.4 con stack LEMP su un VPS Ubuntu 20.04.

Magento è una delle piattaforme di eCommerce open source più popolari disponibili, grazie alla sua personalizzazione e flessibilità. Viene creato utilizzando Zend Framework e utilizza MySQL come sistema di gestione del database. Magento offre ai commercianti online un carrello degli acquisti molto flessibile e viene fornito con un ricco set di funzionalità, il che lo rende una scelta eccellente per le aziende che desiderano impostare una fermata online senza problemi.

Installazione di Magento 2.4 con uno stack LEMP su Ubuntu 20.04 dovrebbe richiedere meno di 10 minuti per il completamento. Iniziamo con il tutorial.

Prerequisiti

  • Un Ubuntu 20.04 VPS con accesso root abilitato o un utente con privilegi sudo
  • 4 GB di RAM o superiore
  • Nginx
  • MariaDB 10.4
  • Elasticsearch 7.6.x perché Magento 2.4 è testato con questa versione
  • PHP 7.4 con estensioni bcmath, ctype, curl, dom, gd, hash, iconv, intl, libxml, mbstring, openssl, pdo_mysql, simplexml, soap, xsl e zip abilitate. Inoltre, per motivi di prestazioni, è una buona idea installare e abilitare l'estensione opcache.
  • Un nome di dominio valido per l'accesso al sito Web Magento 2. Inoltre, è necessario un certificato SSL valido per accedere al sito Web tramite HTTPS.

Se non hai uno stack LEMP impostato (Nginx, MariaDB, PHP), nessun problema:in questo tutorial tratteremo anche come installarli.

Per iniziare

Innanzitutto, dovremo accedere al nostro server utilizzando SSH. Puoi farlo inserendo questo comando:

ssh root@IP_Address -p Port_number

Sostituisci "root" con un utente che dispone dei privilegi sudo, se necessario. Inoltre, sostituisci "IP_Address" e "Port_Number" con il rispettivo indirizzo IP e numero di porta SSH del tuo server.

Una volta effettuato l'accesso, dovresti aggiornare tutti i pacchetti del tuo sistema operativo Ubuntu alle ultime versioni disponibili.

apt-get update 
apt-get upgrade

Una volta che tutti i pacchetti del sistema operativo sono aggiornati, riavvia il server se necessario per applicare eventuali nuove modifiche alla configurazione.

Installa LEMP ed Elasticsearch

LEMP è un acronimo che descrive un sistema operativo Linux con Nginx, MySQL (o MariaDB) e PHP. È uno stack generale di applicazioni e server che può fornire la base per molti pacchetti software. Installiamo LEMP sul nostro VPS Ubuntu 20.04.

Installa Nginx

Se sul server è già installato un server Web Apache, arrestare il servizio Apache e disabilitarne l'avvio all'avvio del server:

systemctl stop apache2
systemctl disable apache2

Installa Nginx con il seguente comando:

apt-get install nginx

Questo è tutto ciò che dobbiamo fare con Nginx per ora.

Installa MySQL

Successivamente, installeremo il server del database MySQL, che verrà utilizzato per archiviare i dati del nostro sito Web Magento, come i prodotti, le categorie, i clienti e gli ordini.
Ai fini di questo tutorial, installeremo e utilizzeremo MariaDB. Per installare il server del database MariaDB, inserisci i seguenti comandi:

apt-get install software-properties-common

Dobbiamo aggiungere una chiave per aggiungere il nostro repository MariaDB.

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Ora che abbiamo la chiave, installiamo il repository:

add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.4/ubuntu bionic main'

Aggiorna i tuoi repository APT in modo che gli elenchi dei pacchetti vengano letti.

apt update

Infine, possiamo installare MariaDB.

apt install mariadb-server

Una volta installato MariaDB, abilita l'avvio del servizio MariaDB all'avvio del server:

systemctl enable mariadb.service

Verifica lo stato del servizio MariaDB:

systemctl status mariadb.service

Dovrebbe essere in esecuzione. Questo è tutto ciò che dobbiamo fare con MariaDB per ora.

Installa Elasticsearch

Passa a una directory in cui puoi scaricare temporaneamente un file.

cd /opt

Scarichiamo il file del pacchetto Elasticsearch.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb

Installalo eseguendo questo comando successivo:

dpkg -i elasticsearch-7.6.1-amd64.deb

Avvia il servizio Elasticsearch:

systemctl start elasticsearch

Controlla lo stato:

systemctl status elasticsearch

Controlla la versione e altre informazioni su Elasticsearch:

curl -XGET 'http://localhost:9200'

Se tutto sembra normale fino a questo punto, ora possiamo installare PHP.

Installa PHP 7.4

Aggiungi il PPA per PHP 7.4:

add-apt-repository ppa:ondrej/php

Quindi, aggiorna l'elenco dei pacchetti del sistema operativo e installa PHP 7.4 con il seguente comando:

apt-get update
apt-get install php7.4

Installa tutte le estensioni PHP richieste con il seguente comando:

apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-bcmath

Una volta che le estensioni PHP sono state installate sul server, installa alcuni altri pacchetti del sistema operativo necessari per l'installazione di Magento 2:

apt-get install git curl software-properties-common

Quindi, apri il file di configurazione PHP principale /etc/php/7.4/fpm/php.ini :

nano /etc/php/7.4/fpm/php.ini

Modifica le seguenti impostazioni:

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
zlib.output_compression = On
upload_max_filesize = 128M
max_execution_time = 600
max_input_time = 900
date.timezone = America/Chicago

Salva e chiudi il file di configurazione PHP.

Crea un database per Magento 2

Proteggi la tua installazione di MariaDB utilizzando mysql_secure_installation sceneggiatura. Questo script rimuoverà gli utenti anonimi, non consentirà l'accesso root in remoto e rimuoverà il database di prova.

mysql_secure_installation

Ti consigliamo di rispondere a tutte le domande come mostrato di seguito:

Enter current password for root (enter for none): Press [Enter] since no password is set by default
Set root password? [Y/n]: N (You can set a password if you like)
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Successivamente, creeremo il nostro utente e database MySQL per il nostro sito Web Magento 2. Accedi al tuo server MySQL con il seguente comando e inserisci la tua password di root MySQL quando richiesto:

mysql -u root -p

Per creare un nuovo database per la nostra istanza Magento 2, esegui i seguenti comandi:

mysql> set global log_bin_trust_function_creators=1;
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED WITH mysql_native_password BY 'strongPassword';
mysql> create database magentodb;
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost';
mysql> flush privileges;
mysql> quit

Assicurati di dare il tuo magento Utente MariaDB una password reale e sicura.

Installa Magento 2

Ora possiamo procedere con l'installazione di Magento 2. Al momento della stesura di questo articolo, l'ultima versione stabile di Magento è la versione 2.4.

Per prima cosa, vai al repository GitHub e scarica l'ultima versione di Magento con il seguente comando:

mkdir -p /var/www/magento2/
cd /var/www/magento2/
git clone https://github.com/magento/magento2.git /var/www/magento2/

Successivamente, dovremo installare Composer per installare tutti i componenti Magento necessari. Puoi installare Composer semplicemente eseguendo il seguente comando:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Esegui questi comandi successivi per configurare il compositore.

cd /var/www/magento2
composer install
bin/magento setup:install --base-url=http://yourdomain.com/ --db-host=localhost --db-name=magentodb --db-user=magento --db-password=strongPassword --admin-firstname=FirstName --admin-lastname=LastName [email protected] --admin-user=magentoadmin --admin-password=strong-password --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

Non dimenticare per sostituire il nome di dominio , password del database , nome utente amministratore , password e indirizzo email dell'amministratore di conseguenza.
Una volta completata l'installazione, dovresti ricevere il seguente output:

[Progress: 699 / 701]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/magento2/app/etc'
[Progress: 700 / 701]
Write installation date...
[Progress: 701 / 701]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1k4pc0
Nothing to import.

Ricorda l'"URI amministratore Magento". Avrai bisogno di queste informazioni in seguito poiché è l'URL che utilizzerai per accedere al back-end di Magento.

Modifica la proprietà di magento2 directory in www-data con il seguente comando:

chown -R www-data:www-data /var/www/magento2/

Crea un file di configurazione Nginx

Crea un file di configurazione Nginx con il tuo editor di testo:

nano /etc/nginx/sites-available/magento2

Quindi aggiungi quanto segue come contenuto del file:

upstream fastcgi_backend {
server unix:/run/php/php7.4-fpm.sock;
}
server {
server_name yourdomain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;
include /var/www/magento2/nginx.conf.sample;
}

Assicurati di aver impostato yourdomain.com al tuo nome di dominio registrato.

Rimuovere il file di configurazione Nginx predefinito, se non viene utilizzato:

rm -f /etc/nginx/sites-enabled/default

Abilita il file di configurazione di Nginx appena creato, quindi testa la configurazione di Nginx e assicurati che non ci siano errori:

ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled/magento2
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Questo è tutto! Il tuo server web è ora configurato correttamente.

Installa un certificato SSL

Installeremo un certificato SSL gratuito da Let's Encrypt. Installa i pacchetti richiesti eseguendo questo comando:

apt-get install certbot python3-certbot-nginx

Quindi installa un nuovo certificato SSL per il tuo nome di dominio, assicurandoti che yourdomain.com è impostato sul nome di dominio registrato:

certbot --nginx -d yourdomain.com -d www.yourdomain.com

Seleziona "2" e scegli di reindirizzare il traffico HTTP a HTTPS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Usa i seguenti comandi CLI Magento 2 per aggiornare Magento base-url e base-url-secure valori:

cd /var/www/magento2/
php bin/magento setup:store-config:set --base-url="https://yourdomain.com/"
php bin/magento setup:store-config:set --base-url-secure="https://yourdomain.com/"

Modifica il file di configurazione di Nginx e abilita HTTP/2:

nano /etc/nginx/sites-enabled/magento2

Sostituisci:

listen 443 ssl;

Con:

listen 443 ssl http2;

Riavvia il servizio Nginx per rendere effettive le modifiche:

systemctl restart cron.service

Installa Cron Job

Magento richiede una configurazione del lavoro cron per molte importanti funzioni di sistema. Creiamo il seguente cron job:

crontab -u www-data -e

Aggiungi questo al file:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log

Salva e chiudi il file.

Riavvia il servizio cron:

systemctl restart cron.service

Questo è tutto! Magento 2 è stato installato con successo sul tuo server.

Puoi accedere al front-end di Magento su http://yourdomain.com :

Accedi al back-end di Magento 2 su http://yourdomain.com /URI amministratore Magento e configura Magento in base alle tue esigenze. Puoi installare estensioni, aggiungere prodotti, categorie e altro.

Sta diventando sempre più importante avere una presenza online nel mondo digitale di oggi. Non è necessario essere un esperto nell'amministrazione del sistema Linux quando utilizzi il nostro hosting Managed Magento:imposteremo tutto per te e lo manterremo, tutto incluso nel nostro VPS. Possiamo anche ottimizzare il tuo server ed eseguire qualsiasi richiesta tu possa avere. Avrai comunque il pieno controllo del tuo server, ma non dovrai mai più affrontare problemi.

Speriamo che questo tutorial ti abbia aiutato a installare Magento 2 sul tuo Ubuntu 20.04 VPS. In tal caso, considera la possibilità di condividere questo post sui social media con le nostre scorciatoie di condivisione o di lasciare un commento qui sotto con qualsiasi domanda o suggerimento che potresti avere. Grazie.


Panels
  1. Come installare LEMP su Ubuntu 18.04

  2. Come installare Magento su Ubuntu 18.04

  3. Come installare WordPress con uno stack LEMP su Ubuntu 18.04

  4. Come installare WordPress con lo stack LAMP su Ubuntu 20.04

  5. Come installare Nextcloud su Ubuntu 20.04

Come installare lo stack LEMP su Ubuntu 16.04

Come installare lo stack LEMP (Nginx, MariaDB, PHP7.1) su Ubuntu 17.10

Come installare lo stack LAMP con PhpMyAdmin in Ubuntu 20.04

Come installare Magento su Ubuntu 20.04 LTS

Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04

Come installare Magento 2.4.3 su Ubuntu 20.04 con LAMP