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
- Instalar Nginx no Ubuntu 18.04
- Instalar e Configurar PHP-FPM 7.1
- Instalar e Configurar o Servidor MySQL
- Instalar e Configurar o Magento 2 1. Instalar PHP Composer
- Baixar Magento 2
- Instalar Componentes do Magento
- Gerar SSL Letsencrypt
- Configurar o Host Virtual Nginx para Magento
- Pós-Instalação do Magento
- 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 upgradeAgora instale o servidor web Nginx usando o comando apt abaixo.
sudo apt install nginx -yApó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 nginxO 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
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
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 -yApó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
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.iniAltere o valor dessas linhas como abaixo.
memory_limit = 512M
max_execution_time = 180
zlib.output_compression = OnSalve 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-fpmA instalação e configuração do PHP-FPM 7.1 foram concluídas, verifique o serviço usando o comando netstat.
netstat -pl | grep phpE você verá o arquivo de soquete PHP-fpm como abaixo.

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 -yApó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 mysqlAgora configuraremos a senha root do MySQL usando o comando ‘mysql_secure_installation’.
mysql_secure_installationNesta 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.

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) : YA 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 -pAgora 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.

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 -yApós a conclusão da instalação, verifique a versão do composer instalada no sistema.
composer -VA 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.gzAgora 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 -vApó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 -yApós a conclusão da instalação, pare o serviço nginx.
systemctl stop nginxAgora gere os certificados SSL para o nome de domínio usando o comando certbot como abaixo.
certbot certonly --standalone -d magento.hakase-labs.pwDigite seu endereço de e-mail, aceite os TOS do Letsencrypt, em seguida, digite ‘N’ para compartilhamento de e-mail.

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

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 magentoCole 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 -tAgora reinicie o PHP-FPM e o serviço Nginx.
systemctl restart php7.1-fpm
systemctl restart nginxE 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’.

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.

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

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.

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

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

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

E quando a instalação estiver completa, você obterá o resultado de ‘sucesso’ como 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/etcO 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/

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/

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.

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 --forceAgora verifique a lista do script crontab para o usuário ‘www-data’.
crontab -u www-data -l
Referência
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.