Como instalar o Magento 2 no localhost

Publicados: 2021-04-12

Índice

Atualizado em 13 de abril de 2021 : Os usuários podem encontrar um erro 404 Not Found ao tentar instalar o Magento 2.4.2. Siga a solução sugerida no artigo para obter o melhor resultado.

Já faz muito tempo desde que o Magento introduziu sua versão 2.0. Com interface de usuário mais amigável e desempenho aprimorado, é provável que muitos usuários existentes do Magento 1 migrem para o Magento 2 mais cedo ou mais tarde. Seguindo a tendência, o SimiCart também lançou o aplicativo móvel Magento 2 em dezembro de 2016.

Hoje, vamos mostrar como instalar o Magento 2.4 localmente no Windows usando o servidor XAMPP. Este tutorial é direcionado aos usuários atuais do Magento 2 e também aos usuários completamente novos no Magento. Agora, vamos começar!

Parte 1: Instalar e configurar o XAMPP

Passo 1 : Baixe o XAMPP

Link para download: https://www.apachefriends.org/download.html

Recomendamos instalar o XAMPP com PHP versão 7.4.x, que é recomendado pelo Magento para M2.4. Ainda de acordo com o Magento, você pode instalar o Magento 2.4 com PHP 7.3, mas não é testado ou recomendado.

Passo 2 : Instale o XAMPP

Após baixar o XAMPP, clique duas vezes no arquivo para instalá-lo em seu computador.

Clique em Avançar .

etapa de configuração do xampp 1

Deixe a seleção padrão como na imagem. Clique em Avançar .

Etapa 2 de configuração do xampp

Escolha sua pasta de instalação. O local padrão é C:\xampp . Depois disso, clique em Avançar .

Etapa 3 de configuração do xampp

Clique em Avançar .

Etapa 4 de configuração do xampp

Clique em Avançar .

etapa de configuração do xampp 5

A instalação agora instalará o xampp em seu computador. Aguarde um pouco.

instalação do xampp

Após a conclusão da configuração, você verá a opção “Deseja iniciar o Painel de Controle agora?”. Mantenha-o selecionado. Clique em Concluir para sair da configuração e entrar no Painel de Controle do XAMPP.

finalização da configuração do xampp

Etapa 3 : configurar o XAMPP

No Painel de Controle do XAMPP, clique no botão Config na linha “Apache” e clique em “ PHP (php.ini) “.

configurar php.ini


No arquivo php.ini , localize essas linhas e remova ; antes de cada linha:

 ;extensão=intl
;extensão=sabão
;extensão=soquetes
;extensão=sódio
;extensão=xsl

Expanda memory_limit para 4G:

 memory_limit=4G

Depois de terminar, salve e feche o arquivo. Em seguida, clique no botão Iniciar em 2 linhas Apache e MySQL para iniciá-los. Não saia do XAMPP após esta etapa, apenas deixe-o rodar.

Etapa 4 : configurar o arquivo hosts

Abra C:\Windows\System32\drivers\etc\hosts . Adicione a seguinte linha à última linha:

 127.0.0.1 www.localhost.com

Etapa 5 : criar um banco de dados

Navegue pela URL http://localhost/phpmyadmin/ para acessar a página phpMyAdmin. Coloque um nome de banco de dados (“Magento2”, por exemplo) e clique em Criar .

phpmyadmin

Anote o nome do seu banco de dados, pois você desejará instalar o Magento mais tarde (usando o usuário root ).

Parte 2: Instalar o Elasticsearch

A partir da versão 2.4, o Magento exige que o Elasticsearch seja o mecanismo de pesquisa do catálogo.

Baixe o Elasticsearch 7.6.0: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x é testado apenas com o Elasticsearch 7.6.x. Você pode usar outros 7.x versões a seu critério, mas recomendamos usar a versão testada do Elasticsearch.)

Extraia o arquivo .zip que você acabou de baixar. Em uma janela de terminal, cd para o diretório extraído e execute este comando:

 .\bin\elasticsearch.bat

Quando a instalação estiver concluída, você poderá verificar se o Elasticsearch está instalado corretamente em http://localhost:9200 , que deve fornecer algo assim:

 {
   "nome": "Cp8oag6",
   "cluster_name" : "elasticsearch",
   "cluster_uuid": "AT69_T_DTp-1qgIJlatQqA",
   "versão" : {
     "número": "7.6.0",
     "build_flavor" : "padrão",
     "build_type" : "tar",
     "build_hash" : "f27399d",
     "build_date" : "2016-03-30T09:51:41.449Z",
     "build_snapshot": falso,
     "lucene_version" : "8.7.0",
     "minimum_wire_compatibility_version": "1.2.3",
     "minimum_index_compatibility_version": "1.2.3"
   },
   "tagline" : "Você sabe, para pesquisa"
 }

Parte 3: Baixe o Magento usando o Composer

Como alguns dos plugins do Magento 2 não funcionam com o composer 2.x, você vai querer usar uma versão estável do composer 1.x para baixar o Magento. A melhor maneira de fazer isso seria instalando o Composer-Setup.exe.

Essa configuração instalará a versão mais recente do composer e configurará as variáveis ​​de ambiente PATH para que você possa chamar o composer de qualquer diretório. Após terminar de instalar o composer, é necessário fazer o downgrade para uma versão 1.x anterior usando composer self-update --1 para garantir a melhor compatibilidade.

Em seguida, cd para C:\xampp\htdocs e execute o seguinte comando:

 composer create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <install-directory-name>

Deve demorar um pouco para o compositor baixar e instalar todos os módulos necessários. Quando tudo estiver concluído, isto é o que você deve ver:

compositor baixar Magento

Parte 4: Instale o Magento usando a linha de comando

A partir do Magento 2.4, a interface de linha de comando é o método de instalação padrão (e único) do Magento.

Durante a instalação do Magento 2.4, você pode encontrar alguns erros. Para evitar esses erros, primeiro você precisa fazer alguns ajustes nos arquivos Magento.

Para evitar esse erro:

erro gd2

Encontre a função validateURLScheme em \vendor\magento\framework\Image\Adapter\Gd2.php e substitua-a por:

 função privada validateURLScheme(string $filename): bool
   {
       $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($filename);
       if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
           retorna falso;
       }
       retorne verdadeiro;
 }

Em seguida, cd para o seu diretório Magento e execute este comando:

 php bin/magento setup:install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=yourdbname --db-user=yourdbuser --db-password=yourdbpassword - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- timezone=América/Chicago --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

Descrições :

  • base-url : o caminho em que seu diretório Magento está, que segue o seguinte formato: http[s]://<host ou ip>/<your Magento install dir>/
  • db-host : o nome do host ou endereço IP do seu host
  • db-name : mude para o nome do banco de dados Magento que você acabou de criar
  • db-user : um usuário de banco de dados com permissão total. Usaremos o usuário root padrão.
  • db-password : a senha do usuário do banco de dados. Deixe em branco se você estiver usando o usuário de banco de dados 'root'
  • admin-firstname : seu primeiro nome
  • admin-lastname : seu sobrenome
  • admin-email : seu endereço de e-mail
  • admin-user : o nome de usuário que você usará para fazer login no painel de administração
  • admin-password : a senha que você usará para fazer login no painel de administração
  • language : o idioma que você usará no painel de administração e na vitrine. Use o código de idioma como en_US .
  • admin-email : mude para seu e-mail
  • currency : defina a moeda padrão a ser usada em sua vitrine. Insira php bin/magento info:currency:list para obter uma lista de moedas suportadas junto com seus códigos
  • timezone : mude para o fuso horário em que você está. Consulte a lista de fusos horários suportados para ter uma ideia melhor sobre o que preencher.
  • url-rewrites : defina como 1 para habilitar a regravação do servidor Web. Isso ajudará na classificação do seu site.
  • backend-frontname : defina seu URL de administrador. A omissão deste parâmetro resultará em um URL gerado aleatoriamente para o caminho do Magento Admin (por exemplo, admin_jkhgdfq)
  • search-engine : defina a versão do Elasticsearch que você deseja usar para esta instalação do Magento. O padrão é elasticsearch7
  • elasticsearch-host : o nome do host ou endereço IP em que o Elasticsearch está sendo executado. O padrão é localhost
  • elasticsearch-port : o número da porta que o Elasticsearch está escutando. O padrão é 9200

Para mais opções configuráveis, consulte o guia oficial do Magento.

Após a instalação bem-sucedida, você verá esta mensagem:

 Verificação de permissões do arquivo pós-instalação…
 Por segurança, remova as permissões de gravação destes diretórios: 'C:/xampp/htdocs/magento24/app/etc'
 [Progresso: 1270 / 1270]
 [SUCESSO]: Instalação do Magento concluída.
 [SUCESSO]: URI do painel de administração: /admin
Nada para importar.

Depois disso, teremos que fazer alguns ajustes adicionais para que o Magento funcione com o Windows, assim:

Em app\etc\di.xml di.xml , substitua Symlink por Copy

 <virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
    <argumentos>
        <argument name="strategiesList" xsi:type="array">
            <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
            <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
        </argumento>
    </argumentos>
</virtualType>

Em vendor\magento\framework\View\Element\Template\File\Validator.php , substitua a linha 138 por:

 $realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));

Por fim, execute estes comandos:

 php bin/magento indexador:reindex
php bin/magento configuração: atualização
php bin/magento setup:static-content:deploy -f
php bin/cache magento:flush

Ajustes adicionais para Magento 2.4.2 e superior

A partir do Magento 2.4.2, agora é obrigatório servir o conteúdo da pasta /pub/ para garantir melhor segurança. É por isso que ajustes adicionais são necessários para que sua versão do Magento 2.4.2 funcione corretamente.

Etapa 1 : Copie os arquivos index.php e .htaccess de /pub/ para sua pasta raiz.

Passo 2 : Encontre a linha abaixo no index.php (na pasta raiz):

 requer __DIR__ . '/../app/bootstrap.php';

e substitua-o por

 requer __DIR__ . '/app/bootstrap.php';

Passo 3 : Vá para o banco de dados Magento 2 que você criou recentemente (em http://localhost/phpmyadmin ) e encontre a tabela core_config_data usando esta consulta SQL:

 SELECT * FROM core_config_data

Nesta tabela, você desejará inserir essas linhas em:

Caminho Valor
web/secure/base_static_url http://localhost/magento24/pub/static/
web/unsecure/base_static_url http://localhost/magento24/pub/static/
web/secure/base_media_url http://localhost/magento24/pub/media/
web/unsecure/base_media_url http://localhost/magento24/pub/media/
Substitua o magento24 pelo seu diretório de instalação do Magento
  • Inserir linhas manualmente:
Inserir novo banco de dados de tabela
Novo caminho e valor da linha do banco de dados localhost
  • Insira linhas com consultas SQL:
 INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

Suas linhas recém-adicionadas devem ficar assim:

Agora limpe o cache usando:

 php bin/cache magento:flush

E atualize seu frontend. Agora você deve ser capaz de ver uma página em branco como esta ao acessar seu frontend por meio base-url configurado:

Magento 2 sem dados de amostra

Agora você pode acessar seu frontend Magento com seu base-url configurado. Por exemplo, com nossa instalação do Magento 2.4.2, acessamos nosso novo site Magento em http://localhost/magento24/ e nosso backend em http://localhost/magento24/admin .

*Nota: se você enfrentar este erro ao tentar fazer login na sua conta Magento Admin: “Você precisa configurar a autorização de dois fatores…”

Erro de autenticação de dois fatores do backend Magento

Tente executar este comando:

 módulo php bin/magento: desabilite Magento_TwoFactorAuth

Parte 5: Importar dados de amostra (opcional)

Execute este comando para importar dados de amostra:

 php bin/magento sampledata:deploy

Quando solicitado, insira suas chaves de autenticação Magento. As chaves públicas e privadas são criadas e configuradas em sua conta do Magento Marketplace.

Chaves de acesso Magento

Após a conclusão da importação dos dados, execute:

 php bin/magento configuração: atualização
php bin/magento setup:static-content:deploy -f
php bin/cache do magento:limpo

Agora, atualize o frontend e você poderá ver o armazenamento padrão do Magento com o tema Luma e os dados de amostra.

Tema Magento 2 Luma

É isso! Você terminou de instalar o Magento 2 em seu localhost. Agora você pode acessar seu frontend/backend do Magento 2 e começar a explorar os recursos do Magento 2. Esperamos que você ache este post útil!


Leitura adicional

10 melhores temas e modelos gratuitos do Magento 2 em 2022
10 melhores temas e modelos gratuitos do Magento 2 em 2022
Perada 3 de janeiro de 2022 8 minutos de leitura
12 melhores provedores de hospedagem Magento 2
12 melhores provedores de hospedagem Magento 2
Heiley Nguyen 4 de junho de 2021 9 minutos de leitura
10 melhores sites Magento 2
10 melhores sites Magento 2
Perada 1 de setembro de 2020 9 minutos de leitura
10 melhores exemplos de PWA Magento
10 melhores exemplos de PWA Magento
Luke Vu 25 de dezembro de 2020 11 minutos de leitura