DocumentazioneCommerceGuida all’installazione

Solo PaaS

Nginx

Ultimo aggiornamento: 15 luglio 2024
  • Argomenti:

Creato per:

  • Esperto
  • Amministratore
  • Sviluppatore

Adobe Commerce supporta nginx 1.x (o la versione principale più recente). È inoltre necessario installare la versione più recente di php-fpm.

Le istruzioni di installazione variano in base al sistema operativo in uso. Per informazioni, vedere PHP.

Ubuntu

La sezione seguente descrive come installare Adobe Commerce 2.x su Ubuntu utilizzando nginx, PHP e MySQL.

Installa nginx

sudo apt -y install nginx

Puoi anche generare un indice dall'origine

Dopo aver completato le sezioni seguenti e aver installato l'applicazione, verrà utilizzato un file di configurazione di esempio per configurare nginx.

Installare e configurare php-fpm

Adobe Commerce richiede diverse estensioni PHP per funzionare correttamente. Oltre a queste estensioni, se utilizzi nginx devi installare e configurare l'estensione php-fpm.

Per installare e configurare php-fpm:

  1. Installa php-fpm e php-cli:

    apt-get -y install php7.2-fpm php7.2-cli
    
    NOTE
    Con questo comando viene installata la versione più recente disponibile di PHP 7.2.X. Consulta requisiti di sistema per le versioni PHP supportate.
  2. Apri i file php.ini in un editor:

    vim /etc/php/7.2/fpm/php.ini
    
    vim /etc/php/7.2/cli/php.ini
    
  3. Modificate entrambi i file in modo che corrispondano alle seguenti righe:

    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    NOTE
    È consigliabile impostare il limite di memoria su 2 G durante il test di Adobe Commerce. Per ulteriori informazioni, consultare Impostazioni PHP richieste.
  4. Salva ed esci dall’editor.

  5. Riavviare il servizio php-fpm:

    systemctl restart php7.2-fpm
    

Installare e configurare MySQL

Per ulteriori informazioni, consultare MySQL.

Installare e configurare

Esistono diversi modi per scaricare Adobe Commerce, tra cui:

  • Ottieni il metapacchetto Compositore

  • Clona l'archivio Git

Questo esempio mostra un'installazione basata su Compositore utilizzando la riga di comando.

  1. In qualità di proprietario del file system, accedi al server applicazioni.

  2. Passare alla directory principale dei documenti del server Web o a una directory configurata come directory principale dei documenti host virtuale. In questo esempio viene utilizzato il valore predefinito di Ubuntu /var/www/html.

    cd /var/www/html
    
  3. Installa Compositore a livello globale. Il Compositore è necessario per aggiornare le dipendenze prima di installare Adobe Commerce:

    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crea un progetto Compositore utilizzando il metapacchetto Adobe Commerce.

    Magento Open Source

    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Quando richiesto, immetti le chiavi di autenticazione. La chiave pubblica è il tuo nome utente; la tua chiave privata è la tua password.

  5. Impostare le autorizzazioni di lettura/scrittura per il gruppo di server Web prima di installare l'applicazione. Ciò è necessario affinché la riga di comando possa scrivere file nel file system.

    cd /var/www/html/<magento install directory>
    
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    chown -R :www-data . # Ubuntu
    
    chmod u+x bin/magento
    
  6. Installa dalla riga di comando. In questo esempio si presuppone che la directory di installazione sia denominata magento2ee, che db-host si trovi nello stesso computer (localhost) e che db-name, db-user e db-password siano tutti magento:

    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1 \
    --search-engine=elasticsearch7 \
    --elasticsearch-host=es-host.example.com \
    --elasticsearch-port=9200
    
  7. Passa alla modalità sviluppatore:

    cd /var/www/html/magento2/bin
    
    ./magento deploy:mode:set developer
    

Configura indice

È consigliabile configurare Nginx utilizzando il file di configurazione nginx.conf.sample fornito nella directory di installazione e nell'host virtuale Nginx.

Queste istruzioni presuppongono l'utilizzo della posizione predefinita di Ubuntu per l'host virtuale nginx (ad esempio, /etc/nginx/sites-available) e la directory principale dei documenti predefinita di Ubuntu (ad esempio, /var/www/html). È tuttavia possibile modificare tali posizioni in base all'ambiente in uso.

  1. Crea un nuovo host virtuale per il sito:

    vim /etc/nginx/sites-available/magento
    
  2. Aggiungi la seguente configurazione:

    upstream fastcgi_backend {
      server  unix:/run/php/php7.2-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /var/www/html/magento2;
      include /var/www/html/magento2/nginx.conf.sample;
    }
    
    NOTE
    La direttiva include deve puntare al file di configurazione nginx di esempio nella directory di installazione.
  3. Sostituisci www.magento-dev.com con il tuo nome di dominio. Deve corrispondere all’URL di base specificato durante l’installazione di Adobe Commerce.

  4. Salva ed esci dall’editor.

  5. Attivare l'host virtuale appena creato creando un collegamento simbolico nella directory /etc/nginx/sites-enabled:

    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. Verifica che la sintassi sia corretta:

    nginx -t
    
  7. Inginx di riavvio:

    systemctl restart nginx
    

Verificare l'installazione

Apri un browser Web e passa all'URL di base del tuo sito per verificare l'installazione.

CentOS 7

La sezione seguente descrive come installare Adobe Commerce 2.x su CentOS 7 utilizzando nginx, PHP e MySQL.

Installa nginx

yum -y install epel-release
yum -y install nginx

Al termine dell'installazione, avviare Index e configurarlo per avviarlo al momento dell'avvio:

systemctl start nginx
systemctl enable nginx

Dopo aver completato le sezioni seguenti e aver installato l’applicazione, utilizzeremo un file di configurazione di esempio per configurare nginx.

Installare e configurare php-fpm

Adobe Commerce richiede diverse estensioni PHP per funzionare correttamente. Oltre a queste estensioni, se utilizzi nginx devi installare e configurare l'estensione php-fpm.

  1. Installa php-fpm:

    yum -y install php70w-fpm
    
  2. Aprire il file /etc/php.ini in un editor.

  3. Rimuovere il commento dalla riga cgi.fix_pathinfo e modificare il valore in 0.

  4. Modifica il file in modo che corrisponda alle righe seguenti:

    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    NOTE
    È consigliabile impostare il limite di memoria su 2 G durante il test di Adobe Commerce. Per ulteriori informazioni, consultare Impostazioni PHP richieste.
  5. Rimuovere il commento dalla directory del percorso di sessione e impostare il percorso:

    session.save_path = "/var/lib/php/session"
    
  6. Salva ed esci dall’editor.

  7. Apri /etc/php-fpm.d/www.conf in un editor.

  8. Modifica il file in modo che corrisponda alle righe seguenti:

    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. Rimuovi commento dalle righe ambiente:

    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
  10. Salva ed esci dall’editor.

  11. Creare una directory per il percorso della sessione PHP e impostare il proprietario sull'utente e sul gruppo apache:

    mkdir -p /var/lib/php/session/
    
    chown -R apache:apache /var/lib/php/
    
  12. Creare una directory per il percorso della sessione PHP e impostare il proprietario sull'utente e sul gruppo apache:

    mkdir -p /run/php-fpm/
    
    chown -R apache:apache /run/php-fpm/
    
  13. Avviare il servizio php-fpm e configurarlo per l'avvio al momento dell'avvio:

    systemctl start php-fpm
    
    systemctl enable php-fpm
    
  14. Verificare che il servizio php-fpm sia in esecuzione:

    netstat -pl | grep php-fpm.sock
    

Installare e configurare MySQL

Per ulteriori informazioni, consultare MySQL.

Installare e configurare

Esistono diversi modi per scaricare Adobe Commerce, tra cui:

  • Ottieni il metapacchetto Compositore

  • Clona l'archivio Git

Questo esempio mostra un'installazione basata su Compositore utilizzando la riga di comando.

  1. In qualità di proprietario del file system, accedi al server applicazioni.

  2. Passare alla directory principale dei documenti del server Web o a una directory configurata come directory principale dei documenti host virtuale. In questo esempio viene utilizzato il valore predefinito di Ubuntu /var/www/html.

    cd /var/www/html
    
  3. Installa Compositore a livello globale. Il Compositore è necessario per aggiornare le dipendenze prima di installare Adobe Commerce:

    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crea un progetto Compositore utilizzando il metapacchetto Adobe Commerce.

    Magento Open Source

    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Quando richiesto, immetti le chiavi di autenticazione. La chiave pubblica è il tuo nome utente; la tua chiave privata è la tua password.

  5. Impostare le autorizzazioni di lettura/scrittura per il gruppo di server Web prima di installare l'applicazione. Ciò è necessario affinché la riga di comando possa scrivere file nel file system.

    cd /var/www/html/<magento install directory>
    
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    chown -R :www-data . # Ubuntu
    
    chmod u+x bin/magento
    
  6. Installa dalla riga di comando. In questo esempio si presuppone che la directory di installazione sia denominata magento2ee, che db-host si trovi nello stesso computer (localhost) e che db-name, db-user e db-password siano tutti magento:

    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1
    
  7. Passa alla modalità sviluppatore:

    cd /var/www/html/magento2/bin
    
    ./magento deploy:mode:set developer
    

Configura indice

È consigliabile configurare Nginx utilizzando il file di configurazione nginx.conf.sample fornito nella directory di installazione e nell'host virtuale Nginx.

Queste istruzioni presuppongono l'utilizzo della posizione predefinita CentOS per l'host virtuale successivo (ad esempio, /etc/nginx/conf.d) e la directory principale dei documenti predefinita (ad esempio, /usr/share/nginx/html). È tuttavia possibile modificare queste posizioni in base all'ambiente in uso.

  1. Crea un nuovo host virtuale per il sito:

    vim /etc/nginx/conf.d/magento.conf
    
  2. Aggiungi la seguente configurazione:

    upstream fastcgi_backend {
      server  unix:/run/php-fpm/php-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /usr/share/nginx/html/magento2;
      include /usr/share/nginx/html/magento2/nginx.conf.sample;
    }
    
    NOTE
    La direttiva include deve puntare al file di configurazione nginx di esempio nella directory di installazione.
  3. Sostituisci www.magento-dev.com con il tuo nome di dominio.

  4. Salva ed esci dall’editor.

  5. Verifica che la sintassi sia corretta:

    nginx -t
    
  6. Inginx di riavvio:

    systemctl restart nginx
    

Configurare SELinux e Firewall

SELinux è abilitato per impostazione predefinita su CentOS 7. Utilizza il seguente comando per verificare se è in esecuzione:

sestatus

Per configurare SELinux e firewalld:

  1. Installare gli strumenti di gestione SELinux:

    yum -y install policycoreutils-python
    
  2. Eseguire i comandi seguenti per modificare il contesto di protezione per la directory di installazione:

    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
    
    restorecon -Rv '/usr/share/nginx/html/magento2/'
    
  3. Installare il pacchetto firewalld:

    yum -y install firewalld
    
  4. Avviare il servizio firewall e configurarlo per l'avvio al momento dell'avvio:

    systemctl start firewalld
    
    systemctl enable firewalld
    
  5. Esegui i seguenti comandi per aprire le porte per HTTP e HTTPS in modo da poter accedere all’URL di base da un browser web:

    firewall-cmd --permanent --add-service=http
    
    firewall-cmd --permanent --add-service=https
    
    firewall-cmd --reload
    

Verificare l'installazione

Apri un browser Web e passa all'URL di base del tuo sito per verificare l'installazione.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995