Pesquisa de site

Como instalar Magento 2 com Nginx e Letsencrypt no Ubuntu 18.04


Este tutorial existe para estas versões do sistema operacional

  • Ubuntu 11.04 (Natty Narwhal)

Nesta página

  1. Pré-requisitos
  2. O que faremos
  3. Etapa 1 - Instale o Nginx no Ubuntu 18.04 LTS
  4. Etapa 2 - Instalar e configurar o PHP-FPM 7.1
  5. Etapa 3 - Instalar e configurar o servidor MySQL
  6. Etapa 4 - Instalar e configurar o Magento 2
    1. - Instalar PHP Composer
    2. - Baixar Magento 2
    3. - Instalar componentes do Magento
    4. - Gerar SSL Letsencrypt
    5. - Configurar host virtual Nginx
    6. - Pós-instalação do Magento

    1. Adicional:

    Magento é um software de comércio eletrônico de código aberto amplamente utilizado e um sistema de gerenciamento de conteúdo para sites de comércio eletrônico baseado no PHP Zend Framework. Ele usa MySQL ou MariaDB como backend de banco de dados. O desenvolvimento do Magento foi iniciado em 2008 pela Varien.

    Neste tutorial, mostrarei como instalar o Magento 2 com Nginx, PHP 7.1 FPM e MySQL como banco de dados. Usarei o ubuntu 18.04 (Bionic Beaver) como sistema operacional do servidor. Se você ainda não possui uma configuração mínima de servidor, consulte este tutorial para obter uma configuração básica adequada.

    Pré-requisitos

    • Ubuntu 18.04
    • 2 GB ou mais de memória RAM
    • Privilégios de root

    O que nos faremos

    1. Instale o Nginx no Ubuntu 18.04
    2. Instalar e configurar o PHP-FPM 7.1
    3. Instalar e configurar o servidor MySQL
    4. Instalar e configurar o Magento 2
      1. Instalar o PHP Composer
      2. Faça o download do Magento 2
      3. Instalar componentes do Magento
      4. Gerar SSL Letsencrypt
      5. Configurar host virtual Nginx para Magento
      6. Pós-instalação do Magento

      Passo 1 - Instale o Nginx no Ubuntu 18.04 LTS

      Neste tutorial, usaremos o servidor web Nginx para nossa instalação do Magento.

      Efetue login no servidor, atualize o repositório e atualize todos os pacotes.

      sudo apt update
      sudo apt upgrade

      Agora instale o servidor web Nginx usando o comando apt abaixo.

      sudo apt install nginx -y

      Após a conclusão da instalação, inicie o serviço Nginx e habilite-o para iniciar sempre na inicialização do sistema.

      systemctl start nginx
      systemctl enable nginx

      O servidor da Web Nginx foi instalado, verifique-o usando o comando netstat e certifique-se de que a porta HTTP 80 esteja no estado LISTEN. Outra maneira é usar o comando curl conforme abaixo.

      netstat -plntu
      curl -I localhost

      Etapa 2 - Instalar e configurar o PHP-FPM 7.1

      Após a instalação do servidor web Nginx, instalaremos o PHP 7.1 no servidor, pois o Magento ainda não suporta o PHP 7.2. Instalaremos o PHP-FPM com todas as extensões necessárias para o Magento 2.

      Lista de extensões PHP necessárias para a instalação do Magento 2:

      • bc-matemática
      • ctype
      • ondular
      • dom
      • gd, ImageMagick 6.3.7 (ou posterior) ou ambos
      • intl
      • mbstring
      • mcrypt
      • hash
      • openssl
      • PDO/MySQL
      • SimpleXML
      • sabão
      • spl
      • libxml
      • xsl
      • zip
      • json
      • iconv

      Para este guia, instalaremos pacotes PHP-FPM do repositório PPA. Estaremos usando o repositório ondrej/php.

      Instale o pacote software-properties-common e adicione o repositório ondrej/php usando os comandos abaixo.

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

      Agora instale o PHP-FPM 7.1 com todas as extensões necessárias.

      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

      Após a conclusão da instalação, verifique a versão do PHP e as extensões instaladas usando os comandos do PHP.

      php -v
      php -me

      Em seguida, configuraremos o arquivo php.ini para PHP-FPM e PHP-CLI.

      Edite os arquivos php.ini usando o vim.

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

      Altere o valor dessas linhas conforme abaixo.

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

      Salvar e sair.

      Agora reinicie o serviço PHP-fpm e habilite-o para iniciar toda vez na inicialização do sistema.

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

      A instalação e configuração do PHP-FPM 7.1 foram concluídas, verifique o serviço usando o comando netstat.

      netstat -pl | grep php

      E você obterá o arquivo de meias PHP-fpm conforme abaixo.

      Etapa 3 - Instalar e configurar o servidor MySQL

      O software Magento requer MySQL 5.6.x, e o Magento 2.1.2 ou posterior requer MySQL 5.7.x. Neste tutorial, instalaremos o servidor MySQL 5.8 mais recente no sistema Ubuntu 18.04.

      Instale o MySQL 5.8 usando o comando apt abaixo.

      sudo apt install mysql-server mysql-client -y

      Após a conclusão da instalação, inicie o serviço MySQL e habilite-o para iniciar sempre na inicialização do sistema.

      systemctl start mysql
      systemctl enable mysql

      Agora vamos configurar a senha root do MySQL usando o comando mysql_secure_installation.

      mysql_secure_installation

      Nesta versão do MySQL 5.8, há uma melhoria de segurança para a política de senha do MySQL. Você precisa escolher a política de senha - 0 para a política BAIXA, 1 para a política MÉDIA e 2 para uma política de senha FORTE.

      Para este guia, usaremos a política de senha MÉDIA e é recomendável usar a política de senha FORTE no servidor de produção.

      Escolha o número 1 e pressione Enter, depois digite sua nova senha root do 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

      A senha root do MySQL foi configurada.

      Em seguida, criaremos um novo banco de dados para nossa instalação do Magento. Criaremos um novo banco de dados chamado magentodb com o usuário magentouser e a senha é [email #.

      Faça login no shell do MySQL usando o usuário root.

      mysql -u root -p

      Agora execute as consultas MySQL abaixo para criar o banco de dados e o usuário.

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

      A instalação e configuração do servidor MySQL para a instalação do Magento foi concluída.

      Etapa 4 - Instalar e configurar o Magento 2

      Nesta etapa, instalaremos a versão mais recente do Magento 2.2.4 do repositório Github. Vamos instalar o compositor PHP para instalar os componentes do Magento, baixar o Magento do repositório Github, configurar o host virtual Nginx para o Magento e instalar o Magento usando a pós-instalação baseada na web.

      - Instalar PHP Composer

      Instale o PHP Composer no Ubuntu 18.04 usando o comando apt abaixo.

      sudo apt install composer -y

      Após a conclusão da instalação, verifique a versão do composer instalada no sistema.

      composer -V

      A versão mais recente do PHP Composer foi instalada.

      - Baixar Magento 2

      Vá para o diretório /var/www e baixe o código-fonte do arquivo Magento do Github usando o comando wget.

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

      Agora extraia o arquivo Magento e renomeie o diretório para magento2.

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

      O código-fonte Magento foi baixado e o diretório /var/www/magento2 será a raiz da web para o site Magento.

      - Instalar componentes do Magento

      Instale os componentes do Magento usando o compositor PHP. Vá para o diretório magento2 e instale todos os componentes PHP necessários para o Magento usando o comando composer.

      cd /var/www/magento2
      composer install -v

      Após a conclusão da instalação, você obterá o resultado conforme mostrado abaixo.

      - Gerar SSL Letsencrypt

      Protegeremos nossa instalação do Magento usando SSL da Letsencrypt. Instale o Letsencrypt usando o comando apt abaixo.

      sudo apt install letsencrypt -y

      Após a conclusão da instalação, interrompa o serviço nginx.

      systemctl stop nginx

      Agora gere os certificados SSL para o nome de domínio usando o comando certbot conforme abaixo.

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

      Digite seu endereço de e-mail, aceite o Letsencrypt TOS e digite N para compartilhamento de e-mail.

      Quando estiver completo, você obterá o resultado abaixo.

      Os arquivos de certificado Letsencrypt SSL foram gerados no diretório /etc/letsencrypt/live.

      - Configurar host virtual Nginx

      Vá para o diretório /etc/nginx/sites-available e crie um novo arquivo de host virtual magento usando o vim.

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

      Cole a seguinte configuração lá.

      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;
      }

      Salve a configuração e saia.

      Agora ative o host virtual criando o link simbólico para o arquivo do host virtual Magento para o diretório habilitado para sites.

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

      Teste o arquivo de configuração nginx e verifique se não há erro.

      nginx -t

      Agora reinicie o serviço PHP-FPM e Nginx.

      systemctl restart php7.1-fpm
      systemctl restart nginx

      E altere o proprietário do diretório web-root do Magento para o usuário e grupo www-data.

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

      O host virtual nginx para Magento foi adicionado.

      - Pós-instalação do Magento

      Abra o navegador da Web e digite a URL do Magento. O meu é:

      Para os Termos e Acordo, clique no botão Concordar e Configurar Magento.

      Agora verifique todas as configurações do sistema e do servidor para Magento Readlines Check e certifique-se de que ele passe em todas as verificações de sistema e configuração conforme abaixo.

      Agora clique no botão Avançar.

      Configuração do banco de dados para Magento - digite todas as informações do nosso banco de dados e clique em Avançar.

      Para a configuração da web, altere o endereço da loja para HTTPS, Magento Admin Address com o URL do caminho do administrador e desmarque o Apache Rewrites, porque estamos usando o servidor da web Nginx.

      Clique no botão Avançar novamente.

      Deixe Personalizar sua loja como padrão e clique em Avançar.

      Digite seu usuário administrador e senha e clique em Avançar.

      E clique no botão Instalar agora para instalar o Magento.

      E quando a instalação estiver concluída, você obterá o resultado de sucesso conforme abaixo.

      Agora precisamos desabilitar o acesso de gravação para o diretório /var/www/magento2/app/etc. Execute o comando abaixo.

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

      O Magento foi instalado no servidor Ubuntu 18.04 Bionic Beaver.

      Passo 5 - Teste

      Digite o endereço inicial da URL do Magento e certifique-se de obter a página inicial padrão do Magento. O meu é: https://magento.hakase-labs.pw/

      Agora faça login no painel de administração do Magento visitando o URL definido durante a instalação admin_hakase. O meu é:

      Digite o nome de usuário e a senha e clique no botão Entrar.

      E você obterá o painel de administração do Magento conforme abaixo.

      Magento 2 foi instalado no Ubuntu 18.04 com servidor web Nginx, banco de dados MySQL e PHP-FPM 7.1.

      Adicional:

      Se você receber um erro sobre um cronjob do indexador Magento ausente, poderá resolvê-lo gerando o script crontab usando o comando abaixo:

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

      Agora verifique o script crontab da lista para o usuário www-data.

      crontab -u www-data -l

      Referência

      • https://devdocs.magento.com/

Artigos relacionados: