Ricerca nel sito web

Come installare Magento 2 con Nginx e Letsencrypt su Ubuntu 18.04


Questo tutorial esiste per queste versioni del sistema operativo

  • Ubuntu 11.04 (Natty Narwhal)

Su questa pagina

  1. Prerequisiti
  2. Cosa faremo
  3. Passaggio 1 - Installa Nginx su Ubuntu 18.04 LTS
  4. Passaggio 2 - Installa e configura PHP-FPM 7.1
  5. Passaggio 3 - Installa e configura il server MySQL
  6. Passaggio 4 - Installa e configura Magento 2
    1. - Installa PHP Composer
    2. - Scarica Magento 2
    3. - Installa i componenti di Magento
    4. - Genera SSL Letsencrypt
    5. - Configura l'host virtuale Nginx
    6. - Post-installazione di Magento

    1. Aggiuntivo:

    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 mostrerò come installare Magento 2 con Nginx, PHP 7.1 FPM e MySQL come database. Userò Ubuntu 18.04 (Bionic Beaver) come sistema operativo del server. Se non hai ancora una configurazione minima del server, consulta questo tutorial per ottenere una corretta configurazione di base.

    Prerequisiti

    • Ubuntu 18.04
    • 2 GB o più di memoria RAM
    • Privilegi di root

    Cosa faremo

    1. Installa Nginx su Ubuntu 18.04
    2. Installa e configura PHP-FPM 7.1
    3. Installa e configura MySQL Server
    4. Installa e configura Magento 2
      1. Installa PHP Composer
      2. Scarica Magento 2
      3. Installa i componenti di Magento
      4. Genera SSL Letsencrypt
      5. Configura l'host virtuale Nginx per Magento
      6. Post-installazione di Magento

      Passaggio 1: installa Nginx su Ubuntu 18.04 LTS

      In questo tutorial, utilizzeremo il server web Nginx per la nostra installazione di Magento.

      Accedi al server, aggiorna il repository e aggiorna tutti i pacchetti.

      sudo apt update
      sudo apt upgrade

      Ora installa il server web Nginx usando il comando apt di seguito.

      sudo apt install nginx -y

      Al termine dell'installazione, avviare il servizio Nginx e abilitarlo per l'avvio ogni volta all'avvio del sistema.

      systemctl start nginx
      systemctl enable nginx

      Il server Web Nginx è stato installato, controllalo utilizzando il comando netstat e assicurati che la porta HTTP 80 sia nello stato LISTEN. Un altro modo è usare il comando curl come di seguito.

      netstat -plntu
      curl -I localhost

      Passo 2 - Installa e configura PHP-FPM 7.1

      Dopo l'installazione del server web Nginx, installeremo PHP 7.1 sul server poiché Magento non supporta ancora PHP 7.2. Installeremo PHP-FPM con tutte le estensioni necessarie a Magento 2.

      Elenco delle estensioni PHP necessarie per l'installazione di Magento 2:

      • bc-matematica
      • ctype
      • arricciare
      • dom
      • gd, ImageMagick 6.3.7 (o successivo) o entrambi
      • intl
      • mbstring
      • mcrypt
      • hash
      • openssl
      • DOP/MySQL
      • XML semplice
      • sapone
      • sp
      • libxml
      • xl
      • zip
      • json
      • iconav

      Per questa guida, installeremo i pacchetti PHP-FPM dal repository PPA. Useremo il repository ondrej/php.

      Installa il pacchetto software-properties-common e aggiungi il repository ondrej/php utilizzando i comandi seguenti.

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

      Ora installa PHP-FPM 7.1 con tutte le estensioni necessarie.

      sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -y

      Al termine dell'installazione, controlla la versione PHP e le estensioni installate utilizzando i comandi PHP.

      php -v
      php -me

      Successivamente, configureremo il file php.ini per PHP-FPM e PHP-CLI.

      Modifica i file php.ini usando vim.

      vim /etc/php/7.1/fpm/php.ini
      vim /etc/php/7.1/cli/php.ini

      Cambia il valore di quelle linee come di seguito.

      memory_limit = 512M
      max_execution_time = 180
      zlib.output_compression = On

      Salva ed esci.

      Ora riavvia il servizio PHP-fpm e abilitalo per l'avvio ogni volta all'avvio del sistema.

      systemctl restart php7.1-fpm
      systemctl enable php7.1-fpm

      L'installazione e la configurazione di PHP-FPM 7.1 è stata completata, controllare il servizio utilizzando il comando netstat.

      netstat -pl | grep php

      E otterrai il file calzini PHP-fpm come di seguito.

      Passo 3 - Installa e configura MySQL Server

      Il software Magento richiede MySQL 5.6.xe Magento 2.1.2 o successivo richiede MySQL 5.7.x. In questo tutorial, installeremo l'ultimo server MySQL 5.8 sul sistema Ubuntu 18.04.

      Installa MySQL 5.8 usando il comando apt di seguito.

      sudo apt install mysql-server mysql-client -y

      Al termine dell'installazione, avvia il servizio MySQL e abilitalo per l'avvio ogni volta all'avvio del sistema.

      systemctl start mysql
      systemctl enable mysql

      Ora configureremo la password di root di MySQL utilizzando il comando mysql_secure_installation.

      mysql_secure_installation

      In questa versione di MySQL 5.8, c'è un miglioramento della sicurezza per la politica delle password di MySQL. È necessario scegliere la politica della password: 0 per la politica BASSA, 1 per la politica MEDIA e 2 per una politica FORTE.

      Per questa guida, utilizzeremo la politica della password MEDIUM e si consiglia di utilizzare la politica della password FORTE sul server di produzione.

      Scegli il numero 1 e premi Invio, quindi digita la tua nuova password di root MySQL.

       Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

      La password di root di MySQL è stata impostata.

      Successivamente, creeremo un nuovo database per la nostra installazione di Magento. Creeremo un nuovo database denominato magentodb con l'utente magentouser e la password è [email protetta]#.

      Accedi alla shell MySQL utilizzando l'utente root.

      mysql -u root -p

      Ora esegui le query MySQL di seguito per creare il database e l'utente.

      create database magentodb;
      create user #';
      flush privileges;

      L'installazione e la configurazione del server MySQL per l'installazione di Magento è stata completata.

      Passo 4 - Installa e configura Magento 2

      In questo passaggio, installeremo l'ultima versione di Magento 2.2.4 dal repository Github. Installeremo il compositore PHP per l'installazione dei componenti Magento, scaricheremo Magento dal repository Github, configureremo l'host virtuale Nginx per Magento e installeremo Magento utilizzando la post installazione basata sul web.

      - Installa il compositore PHP

      Installa PHP Composer su Ubuntu 18.04 usando il comando apt di seguito.

      sudo apt install composer -y

      Al termine dell'installazione, controllare la versione del compositore installata sul sistema.

      composer -V

      È stata installata l'ultima versione di PHP Composer.

      - Scarica Magento 2

      Vai alla directory /var/www e scarica il codice sorgente dell'archivio Magento da Github usando il comando wget.

      cd /var/www/
      wget https://github.com/magento/magento2/archive/2.2.4.tar.gz

      Ora estrai il file di archivio Magento e rinomina la directory in magento2.

      tar -xf 2.2.4.tar.gz
      mv magento2-2.2.4/ magento2/

      Il codice sorgente di Magento è stato scaricato e la directory /var/www/magento2 sarà la web root per il sito Magento.

      - Installa i componenti di Magento

      Installa i componenti di Magento usando il compositore PHP. Vai alla directory magento2 e installa tutti i componenti PHP necessari a Magento usando il comando composer.

      cd /var/www/magento2
      composer install -v

      Al termine dell'installazione, otterrai il risultato come mostrato di seguito.

      - Genera SSL Letsencrypt

      Metteremo in sicurezza la nostra installazione di Magento utilizzando SSL di Letsencrypt. Installa Letsencrypt utilizzando il comando apt di seguito.

      sudo apt install letsencrypt -y

      Al termine dell'installazione, arrestare il servizio nginx.

      systemctl stop nginx

      Ora genera i certificati SSL per il nome di dominio utilizzando il comando certbot come di seguito.

      certbot certonly --standalone -d magento.hakase-labs.pw

      Digita il tuo indirizzo e-mail, accetta i TOS Letsencrypt, quindi digita N per la condivisione e-mail.

      Al termine, otterrai il risultato come di seguito.

      I file del certificato SSL Letsencrypt sono stati generati nella directory /etc/letsencrypt/live.

      - Configura l'host virtuale Nginx

      Vai alla directory /etc/nginx/sites-available e crea un nuovo file host virtuale magento usando vim.

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

      Incolla lì la seguente configurazione.

      upstream fastcgi_backend {
              server  unix:/run/php/php7.1-fpm.sock;
      }
      
      server {
          listen 80;
          listen [::]:80;
          server_name magento.hakase-labs.pw;
          return 301 https://$server_name$request_uri;
      }
      
      server {
      
              listen 443 ssl;
              server_name magento.hakase-labs.pw;
      
              ssl on;
              ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
              ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;
      
              set $MAGE_ROOT /var/www/magento2;
              set $MAGE_MODE developer;
              include /var/www/magento2/nginx.conf.sample;
      }

      Salva la configurazione ed esci.

      Ora attiva l'host virtuale creando il collegamento simbolico per il file dell'host virtuale Magento alla directory abilitata per i siti.

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

      Testa il file di configurazione nginx e assicurati che non ci siano errori.

      nginx -t

      Ora riavvia il servizio PHP-FPM e Nginx.

      systemctl restart php7.1-fpm
      systemctl restart nginx

      E cambia il proprietario della directory web-root di Magento nell'utente e nel gruppo www-data.

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

      È stato aggiunto l'host virtuale nginx per Magento.

      - Post-installazione di Magento

      Apri il browser Web e digita l'URL di Magento. Il mio è:

      Per i termini e l'accordo, fare clic sul pulsante Accetto e configura Magento.

      Ora controlla tutta la configurazione del sistema e del server per Magento Readlines Check e assicurati che superi tutti i controlli del sistema e della configurazione come di seguito.

      Ora fai clic sul pulsante Avanti.

      Configurazione del database per Magento: digita tutte le informazioni del nostro database e fai clic su Avanti.

      Per la configurazione web, cambia l'indirizzo del negozio in HTTPS, Magento Admin Address con l'URL del tuo percorso di amministrazione e deseleziona Apache Rewrites, perché stiamo usando il server web Nginx.

      Fare di nuovo clic sul pulsante Avanti.

      Lascia Personalizza il tuo negozio come impostazione predefinita e fai clic su Avanti.

      Digita l'utente amministratore e la password, quindi fai clic su Avanti.

      E fai clic sul pulsante Installa ora per installare Magento.

      E quando l'installazione è completa, otterrai il risultato di successo come di seguito.

      Ora dobbiamo disabilitare l'accesso in scrittura per la directory /var/www/magento2/app/etc. Esegui il comando seguente.

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

      Magento è stato installato sul server Ubuntu 18.04 Bionic Beaver.

      Passaggio 5: test

      Digita l'indirizzo home dell'URL di Magento e assicurati di ottenere la home page predefinita di Magento. Il mio è: https://magento.hakase-labs.pw/

      Ora accedi alla dashboard di amministrazione di Magento visitando l'URL definito durante l'installazione admin_hakase. Il mio è:

      Digita il nome utente e la password, quindi fai clic sul pulsante Accedi.

      E otterrai la dashboard di amministrazione di Magento come di seguito.

      Magento 2 è stato installato su Ubuntu 18.04 con server web Nginx, database MySQL e PHP-FPM 7.1.

      Aggiuntivo:

      Se ricevi un errore relativo a un cronjob dell'indicizzatore Magento mancante, puoi risolverlo generando lo script crontab utilizzando il comando seguente:

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

      Ora controlla lo script list crontab per l'utente www-data.

      crontab -u www-data -l

      Riferimento

      • https://devdocs.magento.com/

Articoli correlati: