Nginx

O Adobe Commerce oferece suporte ao nginx 1.x (ou à versão principal mais recente). Você também deve instalar a versão mais recente do php-fpm.

As instruções de instalação variam de acordo com o sistema operacional que você está usando. Consulte PHP para obter informações.

Ubuntu

A seção a seguir descreve como instalar o Adobe Commerce 2.x no Ubuntu usando nginx, PHP e MySQL.

Instalar o nginx

sudo apt -y install nginx

Você também pode compilar nginx a partir da origem

Depois de concluir as seções a seguir e instalar o aplicativo, usaremos um exemplo de arquivo de configuração para configurar nginx.

Instalar e configurar o php-fpm

O Adobe Commerce requer várias extensões PHP para funcionar corretamente. Além dessas extensões, você também deve instalar e configurar a extensão php-fpm se estiver usando nginx.

Para instalar e configurar o php-fpm:

  1. Instalar php-fpm e php-cli:

    code language-bash
    apt-get -y install php7.2-fpm php7.2-cli
    
    note note
    NOTE
    Este comando instala a última versão disponível do PHP 7.2.X. Consulte requisitos do sistema para ver as versões do PHP suportadas.
  2. Abrir os arquivos php.ini em um editor:

    code language-bash
    vim /etc/php/7.2/fpm/php.ini
    
    code language-bash
    vim /etc/php/7.2/cli/php.ini
    
  3. Edite ambos os arquivos para corresponder às seguintes linhas:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    Recomendamos definir o limite de memória para 2 G ao testar o Adobe Commerce. Consulte Configurações PHP necessárias para obter mais informações.
  4. Salve e saia do editor.

  5. Reiniciar o serviço php-fpm:

    code language-bash
    systemctl restart php7.2-fpm
    

Instalar e configurar o MySQL

Consulte MySQL para obter mais informações.

Instalar e configurar

Há várias maneiras de baixar o Adobe Commerce, incluindo:

Este exemplo mostra uma instalação baseada no Composer usando a linha de comando.

  1. Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.

  2. Altere para o diretório docroot do servidor Web ou um diretório que você configurou como docroot do host virtual. Para este exemplo, estamos usando o padrão Ubuntu /var/www/html.

    code language-bash
    cd /var/www/html
    
  3. Instale o Composer globalmente. O Composer é necessário para atualizar dependências antes de instalar o Adobe Commerce:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crie um projeto do Composer usando o metapackage do 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 solicitado, insira suas chaves de autenticação. Sua chave pública é seu nome de usuário; sua chave privada é sua senha.

  5. Defina permissões de leitura e gravação para o grupo de servidores Web antes de instalar o aplicativo. Isso é necessário para que a linha de comando possa gravar arquivos no sistema de arquivos.

    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. Instalar da linha de comando. Este exemplo supõe que o diretório de instalação seja nomeado como magento2ee, o db-host esteja na mesma máquina (localhost) e que o db-name, db-user e db-password sejam todos 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. Alternar para modo de desenvolvedor:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Configurar nginx

Recomendamos configurar o nginx usando o arquivo de configuração nginx.conf.sample fornecido no diretório de instalação e no host virtual nginx.

Essas instruções supõem que você esteja usando o local padrão do Ubuntu para o host virtual nginx (por exemplo, /etc/nginx/sites-available) e o docroot padrão do Ubuntu (por exemplo, /var/www/html). No entanto, você pode alterar esses locais para atender ao seu ambiente.

  1. Crie um novo host virtual para seu site:

    code language-bash
    vim /etc/nginx/sites-available/magento
    
  2. Adicione a seguinte configuração:

    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
    A diretiva include deve apontar para a amostra do arquivo de configuração nginx no diretório de instalação.
  3. Substitua www.magento-dev.com pelo nome de domínio. Deve corresponder ao URL de base especificado ao instalar o Adobe Commerce.

  4. Salve e saia do editor.

  5. Ative o host virtual recém-criado criando um link simbólico para ele no diretório /etc/nginx/sites-enabled:

    code language-bash
    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. Verifique se a sintaxe está correta:

    code language-bash
    nginx -t
    
  7. Reiniciar o nginx:

    code language-bash
    systemctl restart nginx
    

Verificar a instalação

Abra um navegador e navegue até a URL base do site para verificar a instalação.

CentOS 7

A seção a seguir descreve como instalar o Adobe Commerce 2.x no CentOS 7 usando nginx, PHP e MySQL.

Instalar o nginx

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

Após a conclusão da instalação, inicie o nginx e configure-o para iniciar no momento da inicialização:

systemctl start nginx
systemctl enable nginx

Depois de concluir as seções a seguir e instalar o aplicativo, usaremos um arquivo de configuração de exemplo para configurar o nginx.

Instalar e configurar o php-fpm

O Adobe Commerce requer várias extensões PHP para funcionar corretamente. Além dessas extensões, você também deve instalar e configurar a extensão php-fpm se estiver usando nginx.

  1. Instalar php-fpm:

    code language-bash
    yum -y install php70w-fpm
    
  2. Abra o arquivo /etc/php.ini em um editor.

  3. Descomente a linha cgi.fix_pathinfo e altere o valor para 0.

  4. Edite o arquivo para corresponder às seguintes linhas:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    Recomendamos definir o limite de memória para 2 G ao testar o Adobe Commerce. Consulte Configurações PHP necessárias para obter mais informações.
  5. Remova o comentário do diretório de caminho da sessão e defina o caminho:

    code language-conf
    session.save_path = "/var/lib/php/session"
    
  6. Salve e saia do editor.

  7. Abra /etc/php-fpm.d/www.conf em um editor.

  8. Edite o arquivo para corresponder às seguintes linhas:

    code language-conf
    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. Remova o comentário das linhas de 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. Salve e saia do editor.

  11. Crie um diretório para o caminho da sessão PHP e altere o proprietário para o usuário e grupo apache:

    code language-bash
    mkdir -p /var/lib/php/session/
    
    code language-bash
    chown -R apache:apache /var/lib/php/
    
  12. Crie um diretório para o caminho da sessão PHP e altere o proprietário para o usuário e grupo apache:

    code language-bash
    mkdir -p /run/php-fpm/
    
    code language-bash
    chown -R apache:apache /run/php-fpm/
    
  13. Inicie o serviço php-fpm e configure-o para iniciar no momento da inicialização:

    code language-bash
    systemctl start php-fpm
    
    code language-bash
    systemctl enable php-fpm
    
  14. Verifique se o serviço php-fpm está em execução:

    code language-bash
    netstat -pl | grep php-fpm.sock
    

Instalar e configurar o MySQL

Consulte MySQL para obter mais informações.

Instalar e configurar

Há várias maneiras de baixar o Adobe Commerce, incluindo:

Este exemplo mostra uma instalação baseada no Composer usando a linha de comando.

  1. Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.

  2. Altere para o diretório docroot do servidor Web ou um diretório que você configurou como docroot do host virtual. Para este exemplo, estamos usando o padrão Ubuntu /var/www/html.

    code language-bash
    cd /var/www/html
    
  3. Instale o Composer globalmente. O Composer é necessário para atualizar dependências antes de instalar o Adobe Commerce:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crie um projeto do Composer usando o metapackage do 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 solicitado, insira suas chaves de autenticação. Sua chave pública é seu nome de usuário; sua chave privada é sua senha.

  5. Defina permissões de leitura e gravação para o grupo de servidores Web antes de instalar o aplicativo. Isso é necessário para que a linha de comando possa gravar arquivos no sistema de arquivos.

    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. Instalar da linha de comando. Este exemplo supõe que o diretório de instalação seja nomeado como magento2ee, o db-host esteja na mesma máquina (localhost) e que o db-name, db-user e db-password sejam todos 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. Alternar para modo de desenvolvedor:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Configurar nginx

Recomendamos configurar o nginx usando o arquivo de configuração nginx.conf.sample fornecido no diretório de instalação e no host virtual nginx.

Essas instruções supõem que você esteja usando o local padrão do CentOS para o host virtual nginx (por exemplo, /etc/nginx/conf.d) e o docroot padrão (por exemplo, /usr/share/nginx/html). No entanto, você pode alterar esses locais para atender ao seu ambiente.

  1. Crie um novo host virtual para seu site:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. Adicione a seguinte configuração:

    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
    A diretiva include deve apontar para a amostra do arquivo de configuração nginx no diretório de instalação.
  3. Substitua www.magento-dev.com pelo nome de domínio.

  4. Salve e saia do editor.

  5. Verifique se a sintaxe está correta:

    code language-bash
    nginx -t
    
  6. Reiniciar o nginx:

    code language-bash
    systemctl restart nginx
    

Configurar SELinux e Fireworld

O SELinux é ativado por padrão no CentOS 7. Use o seguinte comando para ver se está em execução:

sestatus

Para configurar o SELinux e o firewalld:

  1. Instale as ferramentas de gerenciamento do SELinux:

    code language-bash
    yum -y install policycoreutils-python
    
  2. Execute os seguintes comandos para alterar o contexto de segurança do diretório de instalação:

    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. Instale o pacote firewalld:

    code language-bash
    yum -y install firewalld
    
  4. Inicie o serviço de firewall e configure-o para iniciar no momento da inicialização:

    code language-bash
    systemctl start firewalld
    
    code language-bash
    systemctl enable firewalld
    
  5. Execute os seguintes comandos para abrir portas para HTTP e HTTPS para poder acessar o URL base de um navegador da 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
    

Verificar a instalação

Abra um navegador e navegue até a URL base do site para verificar a instalação.

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