Magento é uma plataforma de comércio eletrônico poderosa e rica em recursos que permite às empresas criar e gerenciar lojas online.
Com uma ampla variedade de recursos integrados e a capacidade de personalizar e estender a funcionalidade por meio de extensões de terceiros, o Magento é uma escolha popular para empresas de todos os tamanhos.
Alguns dos benefícios e recursos do Magento incluem:
Uma plataforma flexível e personalizável que permite criar uma loja online única e de marca
Ferramentas avançadas de gerenciamento de catálogo que facilitam o gerenciamento do seu catálogo de produtos
Suporte para vários idiomas e moedas , permitindo que você venda para clientes em todo o mundo
Ferramentas poderosas de marketing e promoção que ajudam você a atrair e reter clientes
Recursos avançados de relatórios e análises que ajudam você a entender seus clientes e otimizar sua loja
Neste artigo, vamos ensinar como instalar o Magento usando a versão 2.4 em um servidor Ubuntu, siga nosso tutorial abaixo.
Etapas de instalação do Magento
Antes de começar, você precisará de um servidor Ubuntu ou equivalente instalado com no mínimo 2GB de memória .
E para este tutorial, usamos um servidor na Digital Ocean .
1. Instale o NGINX
Primeiro, vamos instalar o NGINX. Para isso use o comando abaixo:
sudo apt-get install nginx
2. Instale o MySQL
Em seguida, instale o MySQL usando o seguinte comando:
sudo apt-get install mysql-server
3. Instale o PHP
Agora instale o PHP e os módulos necessários usando o seguinte comando:
sudo apt-get install php8.0-fpm php8.0-cli php8.0-common php8.0-mbstring php8.0-gd php8.0-intl php8.0-xml php8.0-mysql php8.0-zip php8.0-curl
Este comando instalará o PHP 8 e os módulos necessários para o Magento 2, incluindo:
módulo FPM (FastCGI Process Manager),
módulo CLI (Command Line Interface),
módulo MBstring (Multibyte String Functions),
módulo GD (Graphic Library),
módulo Intl (Internationalization Functions),
módulo XML (Extensible Markup Language),
módulo MySQL (MySQL Database Functions),
módulo Zip (Zip File Functions)
e o módulo cURL (Client URL Library).
Depois de instalar o PHP 8 e os módulos necessários, você pode verificar a versão do PHP instalada usando o comando “php -v” .
Se a instalação foi bem-sucedida, você deverá ver a versão do PHP 8 sendo exibida.
Lembre-se de que o Magento 2 requer o PHP 8 ou uma versão posterior para funcionar corretamente.
Se você estiver usando uma versão anterior do PHP, pode ser necessário atualizar para o PHP 8 antes de instalar o Magento 2.
4. Configure o NGINX
Você pode configurar o Nginx para Magento criando um novo arquivo de configuração Nginx para seu site Magento.
Para fazer isso, execute o seguinte comando:
sudo nano /etc/nginx/sites-available/magento
Cole a seguinte configuração no arquivo, certificando-se de substituir your_domain.com pelo seu nome de domínio real:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php;
set $MAGE_ROOT /var/www/html;
set $MAGE_MODE developer;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/(app|bin|errors|lib|php.ini|setup|var)/ {
deny all;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=256M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Depois de colar a configuração no arquivo, salve-o e saia do editor Nano.
Para habilitar a nova configuração do Nginx, você precisa criar um link simbólico do diretório sites-available para o diretório sites-enabled .
Você pode fazer isso executando o seguinte comando:
sudo ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
Em seguida, teste a configuração do Nginx executando o seguinte comando:
sudo nginx -t
Reinicie o Nginx:
sudo systemctl restart nginx
Verifique se o Nginx está sendo executado usando o comando:
systemctl status nginx
Se o Nginx estiver sendo executado, você verá uma mensagem como “Active: active (running) “.
Mas se não estiver sendo executado, use o comando “systemctl start nginx ” para iniciá-lo.
5. Instale e configure um SSL da Let’s Encrypt
Para instalar um certificado SSL da Let’s Encrypt, você precisará usar o utilitário Certbot .
O Certbot é uma ferramenta que automatiza o processo de obtenção e renovação de certificados SSL da Let’s Encrypt.
Use os comandos abaixo instalar e configurar um certificado SSL da Let’s Encrypt usando o Certbot:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get install certbot python3-certbot-nginx
Obtenha um certificado SSL:
sudo certbot --nginx -d example.com -d www.example.com
Substitua “example.com ” pelo seu nome de domínio.
Atualize sua configuração do Nginx para usar o certificado SSL:
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
# SSL Settings
ssl_certificate /path/to/ssl/certificate.crt;
ssl_certificate_key /path/to/ssl/private.key;
# Gzip Settings
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml application/json application/javascript application/x-javascript image/svg+xml;
# Cache Settings
location ~* \.(?:css|js|svg|gif|png|html|ico|woff|ttf)$ {
expires 1y;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
# HTTPS Redirection
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Error Pages
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Este arquivo de configuração inclui configurações para habilitar SSL e também inclui a compactação gzip, cache, redirecionamento HTTPS e páginas de erro personalizadas.
6. Instale o Composer
Instale o Composer executando o seguinte comando:
php -r "readfile('https://getcomposer.org/installer');" | php
ou
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Este último comando é útil se você deseja instalar o Composer em um local específico ou se deseja usar um nome de arquivo diferente para o executável do Composer.
7. Crie um banco de dados MySQL
Chegou a hora de criar um banco de dados MySQL para o Magento 2.
Para isso, usaremos o seguinte comando para criar um banco de dados chamado “magento “:
mysql -u root -p
Digite a senha do usuário root quando solicitado.
Crie um novo banco de dados para o Magento 2 usando o seguinte comando:
CREATE DATABASE magento;
Crie um novo usuário para o Magento 2 com permissões de acesso ao banco de dados criado.
Por exemplo, você pode criar um usuário chamado “magento” com a senha “minhasenha” usando o seguinte comando:
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'minhasenha';
Conceda todas as permissões ao usuário para o banco de dados criado.
Por exemplo, você pode conceder todas as permissões ao usuário “magento” para o banco de dados “magento” usando o seguinte comando:
GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost';
Atualize as permissões para que as alterações entrem em vigor:
FLUSH PRIVILEGES;
Saia do MySQL:
exit
Agora você criou e configurou um banco de dados MySQL para o Magento 2. Você pode usar o usuário e senha criados para se conectar ao banco de dados a partir do Magento 2.
Quando você instalar o Magento 2, será solicitado que forneça essas informações de banco de dados para que o Magento 2 possa se conectar ao banco de dados e usá-lo para armazenar informações.
8. Instale o Elasticsearch
Para instalar o Elasticsearch, adicione o repositório Elastic ao seu servidor e instale o Elasticsearch usando o comando apt-get :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update
sudo apt-get install elasticsearch
Se preferir, você também pode usar o Composer para instalar o Elasticsearch:
composer require elasticsearch/elasticsearch
Por padrão, o Elasticsearch escuta no host local (127.0.0.1) e na porta 9200.
Se você deseja vincular o Elasticsearch a um endereço IP ou porta diferente , pode editar as configurações network.host e http.port no arquivo de configuração do Elasticsearch: /etc/elasticsearch/elasticsearch.yml
Uma vez instalado o Elasticsearch, você pode iniciá-lo executando o seguinte comando:
sudo service elasticsearch start
ou
sudo systemctl start elasticsearch
Verifique se o Elasticsearch está em execução:
curl -X GET "localhost:9200"
Isso deve retornar uma resposta JSON contendo informações e estatísticas do Elasticsearch.
9. Baixe a última versão do Magento 2
a) Baixe a última versão do Magento 2 a partir do site oficial. Você pode fazer isso usando o comando wget:
wget https://www.magentocommerce.com/downloads/assets/2.4.1/magento-2.4.1.tar.gz
Veja as instruções no site oficial (https://magento.com/tech-resources/download ).
b) Descompacte o arquivo baixado:
tar -xzvf magento-2.4.1.tar.gz
Ou use comando abaixo caso tenha baixado a última versão :
tar xvzf magento.tar.gz
c) Crie um diretório para a instalação do Magento e mova os arquivos extraídos para lá. Por exemplo, vamos criar um diretório chamado “magento” na raiz do documento do servidor Nginx :
sudo mkdir /var/www/html/magento
d) Use o comando mv para mover os arquivos:
sudo mv magento/* /var/www/html/magento
e) Defina as permissões corretas para os arquivos e diretórios do Magento. Você pode fazer isso executando os seguintes comandos:
sudo chown -R www-data:www-data /var/www/html/magento sudo chmod -R 775 /var/www/html/magento
f) Abra o seu navegador e vá para “http://seudominio.com ” usando seu nome de domínio para concluir a instalação do Magento 2.
Depois que o assistente de configuração terminar de instalar e configurar o Magento, você poderá acessar o back-end do Magento inserindo http://seudominio/admin seu navegador da Web.
Opção de instalação do Magento usando o Composer
Para instalar o Magento usando o Composer, pule a etapa 9 deste tutorial.
Navegue até o diretório onde deseja instalar o Magento, por exemplo /var/www/html
Execute o seguinte comando para criar um novo projeto Magento usando o Composer:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.1 magento
Para obter suas chaves de autenticação, siga estas etapas:
Vá para a página de login da conta Magento Commerce ( https: / /account.magento.com/customer/account/login/ ).
Faça login na sua conta do Magento Commerce.
Uma vez logado, vá para a página Magento Repository ( https://marketplace.magento.com/customer/accessKeys/ ).
Clique no botão “Gerar” ao lado da seção “Repositório do Compositor”.
Suas chaves públicas e privadas serão exibidas.
Você precisará usar essas chaves para autenticar quando acessar o repositório do Magento Commerce Composer.
Para adicionar ao arquivo auth.json localizado no diretório auth.json do projeto:
nano /path/to/auth.json
Aqui está um exemplo de como seu arquivo auth.json deve ficar:
{
"http-basic": {
"repo.magento.com": {
"username": "YOUR_PUBLIC_KEY ",
"password": "YOUR_PRIVATE_KEY "
}
}
}
Agora você tem o Magento (2.4.1) em um novo diretório chamado “magento” .
Não se esqueça de alterar o diretório na configuração do NGINX:
sudo nano /etc/nginx/sites-available/default
Dentro do arquivo, altere somente a parte destacada:
server {
listen 80;
server_name www.example.com;
root /var/www/html/magento/pub;
...
}
Mude para o diretório Magento (/var/www/html/magento ) e execute o seguinte comando para instalar o Magento :
php bin/magento setup:install
Este comando solicitará seus detalhes de conexão com o banco de dados e outras opções de configuração.
Quando a instalação estiver concluída, você terá uma loja Magento totalmente funcional.
Dicas de Otimização para Desempenho do Magento
Otimização para Desempenho do Magento
Existem algumas maneiras de otimizar o Magento para melhorar o desempenho da sua loja, veja algumas abaixo:
Ativar cache : o cache pode melhorar significativamente o desempenho de sua loja, reduzindo o número de consultas ao banco de dados e o processamento PHP necessário para gerar uma página. O Magento possui várias opções de cache integradas, incluindo cache de página inteira e cache de bloco.
Use um CDN : pode ajudar a reduzir a carga em seu servidor servindo ativos estáticos (como imagens e arquivos JavaScript) de uma rede de servidores em todo o mundo.
Otimize suas imagens : imagens grandes podem tornar sua loja mais lenta, por isso é importante otimizá-las para reduzir o tamanho do arquivo. Você pode usar ferramentas como ImageOptim ou Kraken.io para compactar suas imagens.
Ativar compactação Gzip : a compactação Gzip pode reduzir o tamanho dos dados transferidos entre seu servidor e o cliente, o que pode melhorar a velocidade de carregamento de sua loja.
Use um acelerador PHP : os aceleradores PHP, como OPcache ou APC, podem melhorar o desempenho do PHP armazenando em cache a versão compilada dos scripts PHP na memória.
Ativar a compactação Gzip
Para ativar a compactação Gzip no Nginx, você pode adicionar as seguintes linhas ao seu arquivo de configuração Nginx :
gzip on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Ativar um acelerador PHP
Para instalar e ativar um acelerador PHP , como OPcache ou APC, você precisará seguir as etapas abaixo.
Para instalar o OPcache , você precisará habilitar o módulo php-opcache .
Isso pode ser feito executando o seguinte comando:
sudo apt-get install php-opcache
Para instalar o APC , você precisará instalar o pacote php-apcu . Isso pode ser feito executando o seguinte comando:
sudo apt-get install php-apcu
Para habilitar qualquer um deles, acesse seu arquivo php.ini pelo comando (substitua php7.4 -fpm pela versão do seu PHP):
sudo nano /etc/php/7.4/fpm/php.ini
O OPcache , você pode habilitar ao adicionar as seguintes linhas ao seu arquivo php.ini :
zend_extension=opcache.so
opcache.enable=1
E o APC , você precisará adicionar as seguintes linhas ao seu arquivo php.ini :
extension=apcu.so
apc.enabled=1
Reinicie o serviço PHP-FPM (substitua php7.4 -fpm pela versão do seu PHP):
sudo systemctl restart php7.4-fpm
Instale o Varnish e o Redis
1. Siga as etapas abaixo para instalar e configurar o Varnish e Redis.
Instale o Varnish e o Redis com o comando abaixo:
sudo apt-get install varnish redis-server
Edite o arquivo de configuração do Varnish (geralmente localizado em /etc/varnish/default.vcl ) para especificar o servidor de back-end e outras configurações para a instalação do Magento.
sudo nano /etc/varnish/default.vcl
Localize o bloco backend no arquivo e atualize as configurações .host e .port para especificar o servidor de back-end para sua instalação do Magento:
backend default {
.host = "127.0.0.1";
.port = "8080";
...
}
Substitua 127.0.0.1 pelo endereço IP do seu servidor de back-end e 8080 pela porta na qual o servidor de back-end está escutando.
Atualize a função vcl_recv para especificar quaisquer configurações adicionais para o Varnish, como o cache TTL (time-to-live ) e a lista de URLs a serem excluídos do armazenamento em cache:
sub vcl_recv {
...
set req.grace = 15m;
if (req.url ~ "^/api") {
return (pass);
}
...
}
Este exemplo define o período de tolerância do cache para 15 minutos e exclui URLs que começam com /api do armazenamento em cache.
Salve as alterações no arquivo de configuração do Varnish e saia do editor de texto.
Reinicie o serviço Varnish para aplicar as alterações:
sudo service varnish restart
2. Atualize o arquivo de configuração NGINX (geralmente localizado em /etc/nginx/sites-available/magento ) para ouvir na porta 8080 em vez da porta 80 e incluir as diretivas proxy_cache_path e proxy_temp_path .
sudo nano /etc/nginx/sites-available/magento
3. Localize o bloco server no arquivo e atualize a diretiva listen para especificar a porta 8080 em vez da porta 80:
server {
listen 8080;
...
}
4. Adicione as diretivas proxy_cache_path e proxy_temp_path ao bloco do servidor:
server {
listen 8080;
...
proxy_cache_path /var/www/magento/var/cache/nginx levels=1:2 keys_zone=magento_cache:10m max_size=10g inactive=60m use_temp_path=off;
proxy_temp_path /var/www/magento/var/tmp;
...
}
OBS: Substitua /var/www/magento caso o caminho da sua instalação do Magento seja outro.
Reinicie o serviço NGINX para aplicar as alterações:
sudo service nginx restart
Configuração do Redis
Para configurar o Redis, edite o arquivo de configuração (geralmente localizado em /etc/redis/redis.conf ) para especificar as configurações de cache do Redis para sua instalação do Magento.
sudo nano /etc/redis/redis.conf
Localize as configurações de maxmemory e maxmemory-policy no arquivo e atualize-as para especificar a quantidade máxima de memória que o Redis pode usar para armazenamento em cache:
maxmemory 256mb
maxmemory-policy allkeys-lru
Substitua 256mb pela quantidade máxima de memória que você deseja permitir que o Redis use para armazenamento em cache.
A configuração maxmemory-policy especifica qual ação o Redis deve executar quando o limite máximo de memória for atingido.
E a política allkeys-lru significa que o Redis removerá as chaves usadas menos recentemente para liberar espaço para novas chaves.
Salve as alterações no arquivo de configuração do Redis e saia do editor de texto. Reinicie o serviço Redis para aplicar as alterações:
sudo service redis-server restart
Atualize o arquivo de configuração do Magento (geralmente localizado em app/etc/env.php ) para habilitar o cache Redis e especificar o servidor e a porta Redis .
sudo nano app/etc/env.php
Localize a seção cache no arquivo e atualize as configurações de front-end e back-end para especificar o cache do Redis:
'cache' =>
array (
'frontend' =>
array (
'default' =>
array (
'backend' => 'Cm_Cache_Backend_Redis',
'backend_options' =>
array (
'server' => '127.0.0.1',
'port' => '6379',
'database' => '0',
'password' => '',
),
),
'page_cache' =>
array (
'backend' => 'Cm_Cache_Backend_Redis',
'backend_options' =>
array (
'server' => '127.0.0.1',
'port' => '6379',
'database' => '1',
'password' => '',
),
),
),
'backend' =>
array (
'default' => 'Cm_Cache_Backend_Redis',
),
),
Substitua 127.0.0.1 pelo endereço IP do seu servidor Redis e 6379 pela porta na qual o Redis está escutando.
No Redis, a porta padrão é 6379 e no no Varnish, a porta padrão é 6081.
Você pode usar essas portas padrão em suas configurações de Redis e Varnish, a menos que haja um motivo específico para usar uma porta diferente.
Salve as alterações no arquivo de configuração do Magento e saia do editor de texto. Limpe o cache do Magento:
php bin/magento cache:clean
Agora sua Loja Magento está pronta para decolar!
Mas ainda falta uma coisa, um bom Tema !
Se quiser melhorar a aparência da sua Loja, temos um Artigo com os melhores Temas para Magento .
É basicamente isso! Se tiver dúvidas, deixe um comentário !