Magento Installation · 9 min read · Oct 14, 2025

Como Instalar o Magento 2 com Nginx e Letsencrypt no Ubuntu 18.04

Magento é um software de e-commerce de código aberto amplamente utilizado e um sistema de gerenciamento de conteúdo para sites de e-commerce baseado no PHP Zend Framework. Ele usa MySQL ou MariaDB como backend de banco de dados. O desenvolvimento do Magento começou em 2008 pela Varien.

Neste tutorial, eu vou mostrar como instalar o Magento 2 com Nginx, PHP 7.1 FPM e MySQL como o banco de dados. Eu vou usar o ubuntu 18.04 (Bionic Beaver) como sistema operacional do servidor. Se você ainda não tem uma configuração mínima de servidor, por favor, veja este tutorial para obter uma configuração base adequada.

Pré-requisitos

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

O que faremos

  1. Instalar Nginx no Ubuntu 18.04
  2. Instalar e Configurar PHP-FPM 7.1
  3. Instalar e Configurar o Servidor MySQL
  4. Instalar e Configurar o Magento 2 1. Instalar PHP Composer
  5. Baixar Magento 2
  6. Instalar Componentes do Magento
  7. Gerar SSL Letsencrypt
  8. Configurar o Host Virtual Nginx para Magento
  9. Pós-Instalação do Magento
  10. Testando

Passo 1 - Instalar Nginx no Ubuntu 18.04 LTS

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

Faça 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 toda vez que o sistema for inicializado.

systemctl start nginx  
systemctl enable nginx

O servidor web Nginx foi instalado, verifique usando o comando netstat e certifique-se de que a porta HTTP 80 está no estado ‘LISTEN’. Outra maneira é usando o comando curl como abaixo.

netstat -plntu  
curl -I localhost

Instalar servidor web Nginx

Passo 2 - Instalar e Configurar 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 pelo Magento 2.

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

  • bc-math
  • ctype
  • curl
  • dom
  • gd, ImageMagick 6.3.7 (ou posterior) ou ambos
  • intl
  • mbstring
  • mcrypt
  • hash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • soap
  • spl
  • libxml
  • xsl
  • zip
  • json
  • iconv

Para este guia, instalaremos os pacotes PHP-FPM do repositório PPA. Usaremos 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

Instalar PHP 7.1

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 PHP.

php -v  
php -me

Verificar instalação do PHP

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

Edite os arquivos php.ini usando vim.

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

Altere o valor dessas linhas como abaixo.

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

Salve e saia.

Agora reinicie o serviço PHP-fpm e habilite-o para iniciar toda vez que o sistema for inicializado.

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ê verá o arquivo de soquete PHP-fpm como abaixo.

Verificar soquete PHP-FPM

Passo 3 - Instalar e Configurar o Servidor MySQL

O software Magento requer MySQL 5.6.x, e o Magento 2.1.2 ou posterior requer o 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 toda vez que o sistema for inicializado.

systemctl start mysql  
systemctl enable mysql

Agora configuraremos 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 senhas do MySQL. Você precisa escolher a política de senhas - 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 é recomendado usar a política de senha ‘FORTE’ no servidor de produção.

Escolha o número ‘1’ e pressione Enter, em seguida, digite sua nova senha ‘root’ do MySQL.

Instalação segura do MySQL

 Remover usuários anônimos? (Pressione y|Y para Sim, qualquer outra tecla para Não) : Y  
 Proibir login root remotamente? (Pressione y|Y para Sim, qualquer outra tecla para Não) : Y  
 Remover banco de dados de teste e acesso a ele? (Pressione y|Y para Sim, qualquer outra tecla para Não) : Y  
 Recarregar tabelas de privilégios agora? (Pressione y|Y para Sim, qualquer outra tecla para Não) : 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 ‘Magento0463@#’.

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 magentouser@localhost identified by 'Magento0463@#';  
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';  
flush privileges;

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

Criar banco de dados e usuário MySQL para Magento

Passo 4 - Instalar e Configurar o Magento 2

Neste passo, instalaremos a versão mais recente do Magento 2.2.4 do repositório do Github. Instalaremos o PHP composer para instalar os componentes do Magento, baixar o Magento do repositório do Github, configurar o host virtual Nginx para o Magento e instalar o Magento usando a instalação pós-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 de archive do 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 do Magento foi baixado, e o diretório ‘/var/www/magento2’ será a raiz web para o site Magento.

- Instalar Componentes do Magento

Instale os componentes do Magento usando o PHP composer. Vá para o diretório ‘magento2’ e instale todos os componentes PHP necessários pelo 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

Vamos proteger nossa instalação do Magento usando SSL do Letsencrypt. Instale o Letsencrypt usando o comando apt abaixo.

sudo apt install letsencrypt -y

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

systemctl stop nginx

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

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

Digite seu endereço de e-mail, aceite os TOS do Letsencrypt, em seguida, digite ‘N’ para compartilhamento de e-mail.

Habilitar certificado SSL Let's encrypt

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

Certificado SSL emitido com sucesso

Os arquivos de certificado SSL do Letsencrypt 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 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 de host virtual Magento no diretório ‘sites-enabled’.

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

Teste o arquivo de configuração do nginx e certifique-se de que não há erro.

nginx -t

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

systemctl restart php7.1-fpm  
systemctl restart nginx

E mude o proprietário do diretório raiz web do Magento para o usuário e grupo ‘www-data’.

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

O host virtual nginx para o Magento foi adicionado.

- Pós-Instalação do Magento

Abra o navegador web e digite a URL do Magento. A minha é:

https://magento.hakase-labs.pw/

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

Instalador web do Magento

Agora verifique todas as configurações do sistema e do servidor para a ‘Verificação de Readlines’ do Magento, e certifique-se de que ‘passa’ todas as verificações do sistema e configuração como abaixo.

Verificar pré-requisitos

Agora clique no botão ‘Próximo’.

Configuração do banco de dados para o Magento - digite todas as informações do nosso banco de dados e clique em ‘Próximo’.

Configuração do banco de dados

Para a configuração da web, altere o ‘endereço da loja’ para HTTPS, ‘Endereço Admin do Magento’ com sua URL de caminho de admin e desmarque as ‘Reescritas do Apache’, porque estamos usando o servidor web Nginx.

Configuração da web

Clique novamente no botão ‘Próximo’.

Deixe o ‘Personalizar Sua Loja’ como padrão e clique em ‘Próximo’.

Personalizar loja Magento

Digite seu usuário e senha de admin, em seguida, clique em ‘Próximo’.

Configurar a conta de admin

E clique no botão ‘Instalar Agora’ para instalar o Magento.

Iniciar instalação do Magento

E quando a instalação estiver completa, você obterá o resultado de ‘sucesso’ como abaixo.

Instalação do Magento bem-sucedida

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 - Testando

Digite o endereço da URL inicial do Magento e certifique-se de que você obtém a página inicial padrão do Magento. A minha é: https://magento.hakase-labs.pw/

Página inicial do Magento

Agora faça login no painel de administração do Magento visitando a URL definida durante a instalação ‘admin_hakase’. A minha é:

https://magento.hakase-labs.pw/admin_hakase/

Login no backend do Magento

Digite o nome de usuário e a senha, em seguida, clique no botão ‘Entrar’.

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

Painel do Magento

O 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 de indexador do Magento ausente, então você pode resolver isso gerando o script crontab usando o comando abaixo.:

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

Agora verifique a lista do script crontab para o usuário ‘www-data’.

crontab -u www-data -l

Configurar cronjob de indexador do Magento

Referência

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.