GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Magento 2 con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

Magento è un software di e-commerce open source ampiamente utilizzato e un sistema di gestione dei contenuti per siti Web di e-commerce basato su PHP Zend Framework. Utilizza MySQL o MariaDB come backend del database. Lo sviluppo di Magento è stato avviato nel 2008 da Varien.

In questo tutorial, ti mostreremo passo dopo passo come installare Magento 2 sull'ultima versione di Ubuntu 20.04. Installeremo Magento sotto lo stack LEMP, il server web Nginx, PHP-FPM 7.3 e il server MariaDB.

Requisiti

Per questo tutorial, installeremo Magento 2 sul sistema Ubuntu 20.04 con 2 GB di RAM, 50 GB di spazio libero su disco e 2 CPU.

Cosa faremo?

  • Installa il server web Nginx
  • Installa e configura PHP-FPM 7.3
  • Installa e configura MySQL Server
  • Installa PHP Composer
  • Scarica e installa Magento
  • Genera SSL Letsencrypt
  • Imposta Nginx Virtualhost per Magento
  • Post-installazione Magento

Passaggio 1:installazione del server Web Nginx

Innanzitutto, installeremo il server web Nginx sul sistema Ubuntu 20.04.

Installa Nginx usando il comando apt di seguito.

sudo apt install nginx

Una volta completata l'installazione, avvia il servizio Nginx e aggiungilo all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Successivamente, controlla lo stato del servizio Nginx usando il seguente comando.

systemctl status nginx

Il server web Nginx è attivo e funzionante sul server Ubuntu 20.04.

Successivamente, apriremo le porte HTTP e HTTPS sul nostro sistema Ubuntu.

Esegui il comando ufw di seguito.

for svc in ssh http https
do
ufw allow $svc
done

Di conseguenza, i servizi SSH, HTTP e HTTPS sono stati aggiunti alla regola del firewall ufw.

Ora esegui l'abilitazione del firewall ufw usando il seguente comando.

ufw enable

Digita 'y' e premi Invio e hai abilitato il firewall ufw.

Passaggio 2:installazione e configurazione di PHP-FPm 7.3

Dopo aver installato il server web Nginx, installeremo PHP-FPM sul nostro server Ubuntu 20.04.

Per impostazione predefinita, Ubuntu 20.04 viene fornito con la versione più recente di PHP/PHP-FPM 7.4. Ma per ora, Magento funziona solo con PHP/PHP-FPM 7.3. E in questo passaggio, installeremo PHP-FPM 7.3 dal repository PPA.

Prima di andare oltre, installa il pacchetto 'software-properties-common' e aggiungi il repository PPA per PHP 7.3 usando il comando seguente.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Il "add-apt-repository" aggiornerà automaticamente tutti i repository sul sistema.

Ora installa i pacchetti PHP-FPM 7.3 dal repository PPA usando il comando apt di seguito.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

E l'installazione di PHP-FPM 7.3 è stata completata.

Successivamente, vai alla directory '/etc/php/7.3' e modifica la configurazione 'php.ini' per PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Decommenta e modifica la configurazione come di seguito.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Salva e chiudi.

Quindi, avvia il servizio PHP-FPM e aggiungilo all'avvio del sistema.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Il servizio PHP-FPM è attivo e funzionante, verificalo utilizzando il comando seguente.

ss -xa | grep php
systemctl status php7.3-fpm

Di conseguenza, PHP-FPM è attivo e funzionante sul server Ubuntu 20.04, è in esecuzione nel file sock '/run/php/php7.3-fpm.sock'.

Passaggio 3:installazione e configurazione del server MariaDB

In questo passaggio, installeremo il server del database MariaDB, imposteremo la password di root predefinita per MariaDB e creeremo un nuovo database e un nuovo utente per Magento.

Installa i pacchetti MariaDB Server su Ubuntu 20.04 usando il comando apt di seguito.

sudo apt install mariadb-server

Una volta completata l'installazione, avvia il servizio MariaDB e aggiungilo all'avvio del sistema.

systemctl start mariadb
systemctl enable mariadb

Il servizio MariaDB è attivo e funzionante.

Successivamente, imposteremo la password di root di MariaDB utilizzando l'utilità 'mysql_secure_instalaltion'.

Esegui il comando 'mysql_secure_instalaltion' di seguito.

mysql_secure_installation

Digita la tua password complessa per l'utente root di MariaDB e digita "Y" per tutta la configurazione.

Set a root password? [Y/n] Y
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

Di conseguenza, la password di root di MariaDB è stata configurata.

Successivamente, creeremo un nuovo database e un nuovo utente per l'installazione di Magento.

Accedi alla shell MariaDB/MySQL usando il comando mysql di seguito.

mysql -u root -p

Ora crea un nuovo database per la nostra installazione di Magento. Crea il database 'magentodb' e l'utente 'magentouser' con la password 'magentodbpass'.

Esegui le query MySQL di seguito.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Ora digita 'exit' per uscire dalla shell MySQL.

Di conseguenza, il nuovo database e l'utente per l'installazione di Magento sono stati completati.

Passaggio 4:installa Composer

Composer è un gestore delle dipendenze per PHP. è un gestore di pacchetti a livello di applicazione per PHP che ti consente di scaricare ulteriori dipendenze e librerie PHP nel tuo progetto PHP.

In questo passaggio, installeremo PHP Composer dal repository di Ubuntu.

Installa Composer usando il comando apt di seguito.

sudo apt install composer -y

Una volta completata l'installazione, controlla la versione del compositore di seguito.

composer --version

Di seguito è riportata la risposta che riceverai.

Composer 1.10.1 2020-03-13 20:34:27

Come si può vedere, Composer 1.10 è stato installato sul server Ubuntu 20.04.

Passaggio 5:scarica e installa Magento 2

In questo passaggio, scaricheremo e installeremo Magento 2 e tutti i pacchetti PHP necessari utilizzando Composer.

Innanzitutto, vai alla directory '/var/www/' e scarica il codice sorgente di Magento 2.3.5 CE (Community Edition) usando il comando wget come di seguito.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Una volta completato tutto, estrai il codice sorgente di Magento e rinomina la directory estratta nella directory 'magento2'.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

Quindi, vai alla directory di installazione di Magento '/var/www/magento2' e installa tutte le dipendenze dei pacchetti PHP per Magento usando il comando Composer come di seguito.

cd /var/www/magento2/
composer install

Una volta completata l'installazione, correggi la proprietà della directory di installazione di Magento 2 all'utente 'www-data'.

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

Di conseguenza, l'installazione di Magento 2 e di tutte le dipendenze dei pacchetti è stata completata.

Passaggio 6:genera SSL Letsencrypt

Per questo tutorial, proteggeremo l'installazione di Magento 2 utilizzando SSL Letsencrypt. E in questo passaggio, genereremo SSL Letsencrypt usando il comando certbot. Inoltre, assicurati che il tuo nome di dominio sia risolto nell'indirizzo IP del server.

Installa lo strumento certbot utilizzando il comando apt di seguito.

sudo apt install certbot

Una volta completata l'installazione, interrompere il servizio Nginx.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Una volta completato tutto, otterrai i tuoi certificati SSL nella directory '/etc/letsencrypt/live/magento.your-domain.com'.

Di conseguenza, è stato generato l'SSL Letsencrypt per l'installazione di Magento 2.

Passaggio 7:configurazione di Nginx Virtualhost per Magento 2

In questo passaggio, aggiungeremo una nuova configurazione di host virtuale Nginx per Magento 2.

Vai alla directory '/etc/nginx/sites-available/' e crea una nuova configurazione 'magento' usando l'editor vim.

cd /etc/nginx/sites-available/
vim magento

Incolla la seguente configurazione al suo interno.

upstream fastcgi_backend {
        server  unix:/run/php/php7.3-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Salva e chiudi.

Quindi, attiva l'host virtuale Magento Nginx e testa la configurazione di nginx e assicurati che non ci siano errori.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
nginx -t

Ora riavvia il servizio Nginx usando il seguente comando.

systemctl restart nginx

Di conseguenza, la configurazione dell'host virtuale Nginx per Magento 2 è stata creata e abilitata.

Fase 8 - Post-installazione Magento

Apri il tuo browser web e digita il nome del dominio di installazione di Magento nella barra degli indirizzi.

https://magento.hakase-labs.io/

Ora verrai reindirizzato alla connessione sicura HTTPS e otterrai la pagina di benvenuto di Magento e i Termini di servizio.

Fai clic su 'Accetta e imposta Magento ' per continuare.

Nella pagina "Verifica disponibilità", assicurati che tutti i requisiti siano verdi e fai clic su "Avanti pulsante '.

Digita i dettagli del database MariaDB e dell'utente che abbiamo creato sopra e fai clic su 'Avanti '.

Per la "Configurazione Web", cambia tutto il protocollo HTTP in HTTPS e assicurati di cambiare "Indirizzo amministratore Magento".

Ora fai clic su "Opzioni avanzate" e contrassegna tutte le opzioni HTTPS, quindi deseleziona l'opzione "Apache Rewrites" e fai clic su "Avanti ' di nuovo.

Quindi, nella configurazione "Personalizza il tuo negozio" di Magento, lascialo come predefinito e fai clic su "Avanti pulsante '.

Ora digita i dettagli utente amministratore, e-mail e password. Quindi fai clic su Avanti pulsante.

Fare clic su "Installa ora" pulsante per installare il tuo negozio Magento 2.

Ora fai tutta l'installazione non ha errori.

Al termine di tutta l'installazione, otterrai 'Success ' come sotto.

Fai clic su "Avvia amministratore Magento ' per accedere alla tua dashboard di amministrazione Magento.

Ora digita il tuo utente e password di amministratore Magento, quindi fai clic su "Accedi" e otterrai la dashboard di amministrazione Magento come di seguito.

Per la pagina indice predefinita di Magento, apri una nuova scheda e digita il nome del tuo dominio nella barra degli indirizzi.

Di seguito è riportata la pagina dell'indice predefinita di Magento.

Di conseguenza, l'installazione di Magento 2 è stata completata.

Quindi, torna alla shell del tuo server e configureremo Magento Cron e rimuoveremo il permesso di scrivere alcune directory di installazione di Magento.

Per configurare il cron Magento, esegui il comando seguente.

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

Il cron Magento verrà eseguito sotto l'utente 'www-data', controllalo utilizzando il comando seguente.

crontab -u www-data -l

Di conseguenza, Magento Cron è stato aggiunto al sistema.

Successivamente, dobbiamo rimuovere il permesso di scrittura dalla directory '/var/www/magento2/app/etc'.

Esegui il comando chmod di seguito.

chmod u-w /var/www/magento2/app/etc

E infine, l'installazione di Magento 2 con server web Nginx, server MariaDB, PHP-FPM 7.3 sull'ultimo Ubuntu 20.04 è stata completata con successo.


Ubuntu
  1. Come installare Nextcloud con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  2. Come installare Magento 2 con Nginx e Letsencrypt su Ubuntu 18.04

  3. Come installare Magento con Nginx su Ubuntu 16.04

  4. Come installare Shopware con NGINX e Lets crittografare su Ubuntu 18.04 LTS

  5. Installa Automatad CMS con Nginx e Lets Encrypt SSL su Ubuntu 18.04

Come installare ProjectSend con Apache e Lets Encrypt SSL su Ubuntu 20.04

Come installare Moodle con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare MediaWiki con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare Gitea con Nginx e Lets Encrypt SSL gratuito su Ubuntu 20.04

Come installare Let's Encrypt SSL con Nginx su Ubuntu 16.04 LTS

Come installare Nginx con Let's Encrypt SSL su Ubuntu 20.04 LTS