Nginx

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:

    code language-bash
    apt-get -y install php7.2-fpm php7.2-cli
    
    note note
    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:

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

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    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:

    code language-bash
    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:

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.

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

    code language-bash
    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

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

    Adobe Commerce

    code language-bash
    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.

    code language-bash
    cd /var/www/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :www-data . # Ubuntu
    
    code language-bash
    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:

    code language-bash
    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:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./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:

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

    code language-conf
    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 note
    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:

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

    code language-bash
    nginx -t
    
  7. Inginx di riavvio:

    code language-bash
    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:

    code language-bash
    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:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    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:

    code language-conf
    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:

    code language-conf
    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:

    code language-conf
    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:

    code language-bash
    mkdir -p /var/lib/php/session/
    
    code language-bash
    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:

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

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

    code language-bash
    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:

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.

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

    code language-bash
    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

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

    Adobe Commerce

    code language-bash
    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.

    code language-bash
    cd /var/www/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :www-data . # Ubuntu
    
    code language-bash
    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:

    code language-bash
    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:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./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:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. Aggiungi la seguente configurazione:

    code language-conf
    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 note
    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:

    code language-bash
    nginx -t
    
  6. Inginx di riavvio:

    code language-bash
    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:

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

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

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

    code language-bash
    systemctl start firewalld
    
    code language-bash
    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:

    code language-bash
    firewall-cmd --permanent --add-service=http
    
    code language-bash
    firewall-cmd --permanent --add-service=https
    
    code language-bash
    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