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
:
-
Installa
php-fpm
ephp-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. -
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
-
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. -
Salva ed esci dall’editor.
-
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.
-
In qualità di proprietario del file system, accedi al server applicazioni.
-
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
-
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
-
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.
-
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
-
Installa dalla riga di comando. In questo esempio si presuppone che la directory di installazione sia denominata
magento2ee
, chedb-host
si trovi nello stesso computer (localhost
) e chedb-name
,db-user
edb-password
siano tuttimagento
: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
-
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.
-
Crea un nuovo host virtuale per il sito:
code language-bash vim /etc/nginx/sites-available/magento
-
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. -
Sostituisci
www.magento-dev.com
con il tuo nome di dominio. Deve corrispondere all’URL di base specificato durante l’installazione di Adobe Commerce. -
Salva ed esci dall’editor.
-
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
-
Verifica che la sintassi sia corretta:
code language-bash nginx -t
-
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
.
-
Installa
php-fpm
:code language-bash yum -y install php70w-fpm
-
Aprire il file
/etc/php.ini
in un editor. -
Rimuovere il commento dalla riga
cgi.fix_pathinfo
e modificare il valore in0
. -
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. -
Rimuovere il commento dalla directory del percorso di sessione e impostare il percorso:
code language-conf session.save_path = "/var/lib/php/session"
-
Salva ed esci dall’editor.
-
Apri
/etc/php-fpm.d/www.conf
in un editor. -
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
-
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
-
Salva ed esci dall’editor.
-
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/
-
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/
-
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
-
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.
-
In qualità di proprietario del file system, accedi al server applicazioni.
-
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
-
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
-
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.
-
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
-
Installa dalla riga di comando. In questo esempio si presuppone che la directory di installazione sia denominata
magento2ee
, chedb-host
si trovi nello stesso computer (localhost
) e chedb-name
,db-user
edb-password
siano tuttimagento
: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
-
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.
-
Crea un nuovo host virtuale per il sito:
code language-bash vim /etc/nginx/conf.d/magento.conf
-
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. -
Sostituisci
www.magento-dev.com
con il tuo nome di dominio. -
Salva ed esci dall’editor.
-
Verifica che la sintassi sia corretta:
code language-bash nginx -t
-
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:
-
Installare gli strumenti di gestione SELinux:
code language-bash yum -y install policycoreutils-python
-
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/'
-
Installare il pacchetto firewalld:
code language-bash yum -y install firewalld
-
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
-
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.