DEV Community

Cristiano Castro
Cristiano Castro

Posted on

Instalar Magento2 em Localhost sem Docker

Bom, instalar Magento2 em localhost, várias tentativas são necessárias e algumas lágrimas também. O Magento foi estruturado para ser montado em Adobe Cloud, porém devido ao alto valor do serviço aprender como rodar em qualquer servidor sempre é muito vantajoso e financeiramente mais rentável. Então segue abaixo uma tradução e correção de um tutorial para rodar Magento2 em localhost.

Video Tutorial
https://youtu.be/b7FVzZj8e2U

Nossos pré-requisitos são:

Depois que fizer os downloads, instale os mesmos, seguindo os passos abaixo:

  • Inicie o Apache e o MySql no painel do Xampp
  • Navegue até a pasta do htdocs dentro da pasta do Xampp
  • Então descompacte a pasta do elasticsearch dentro da htdocs, acesse a pasta elasticsearch>bin e rode o arquivo elasticsearch.bat para iniciar o serviço
  • Confirme se o serviço foi iniciado acessando o localhost:9200, deverá mostrar um JSON com alguns dados do serviço
  • Agora acessando http://localhost/phpmyadmin/, crie um banco de dados com o nome magento ou alguma a sua escolha guarde para mais tarde
  • Novamente no htdocs, crie uma pasta magento e descompacte os arquivos baixados do magento. Pode levar algum tempo

Modificando arquivos

Bom agora vamos modificar alguns arquivos:

  • Acessando os arquivos usando VsCode ou outro editor acesse: vendor\magento\framework\Image\Adapter e abra o arquivo Gd2.php e vamos alterar toda a função validateURLScheme, talvez esteja na linha #86:
private function 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)) 
    {
       return false;
     }
   return true; 
}
Enter fullscreen mode Exit fullscreen mode
  • Seguindo acesse a pasta vendor\magento\framework\View\Element\Template\File e abra o arquivo Validator.php vá até mais ou menos a linha #141 e modifique a linha:

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

  • Continuando na pasta do magento acesse vendor\magento\framework\Interception e abra o arquivo PluginListGenerator.php desça até a linha #158:

$cacheId = implode('-', $this->scopePriorityScheme) . "-" . $this->cacheId;

OBS: Sempre verifique as aspas simples e duplas, as mesmas podem ser copiadas erradas devido a plataforma

  • Agora vamos voltar no painel do Xampp e vamos editar o php.ini podemos descer até a linha 921 e também vamos olhar as linhas 943, 944, 945 e 949 e vamos descomentar as extenções:
extension=intl
...
extension=soap
extension=sockets
extension=sodium
...
extension=xsl
Enter fullscreen mode Exit fullscreen mode

Partil CMD

Bom agora vamos abrir o CMD na pasta do Magento para executar alguns comandos:

O primeiro comando é esse aqui bem grande

php bin/magento setup:install --base-url=http://127.0.0.1:8082 --db-host=localhost --db-name=magento2 --db-user=root --db-password="" --admin-firstname=Magento --admin-lastname=User --admin-email=user@example.com --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 --search-engine=elasticsearch7 --elasticsearch-host=http://localhost --elasticsearch-port=9200
Enter fullscreen mode Exit fullscreen mode

Explicando rapidinho, estamos setando a base-url para 127.0.0.1:8082, também colocamos os dados do banco de dados e colocamos os dados do elasticsearch para melhor identificar tudo, observe que o elasticsearch está setado como 7 isso porque o magento está configurado para o mesmo.

Execute e aguarde [Success]

OBS: Perceba que um nome estranho aparecerá ex: admin_wrr7yw, este é o link de acesso do painel. Guarde-o bem!

Após siga executando cada comando abaixo separadamente:

php bin/magento setup:di:compile

php bin/magento indexer:reindex

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy -f en_US en_GB

php bin/magento deploy:mode:set developer

php bin/magento cache:clean

php bin/magento cache:flush

php bin/magento module:disable Magento_Csp

php bin/magento module:disable Magento_TwoFactorAuth
Enter fullscreen mode Exit fullscreen mode

Sim eu sei demora muito mas calma está quase acabando. Agora você precisa voltar ao phpmyadmin para rodar uma pequena query

INSERT INTO `core_config_data`(`path`, `value`) VALUES ('dev/static/sign', 0) ON DUPLICATE KEY UPDATE `value`=0

Após rode novamente o comando de clean cache apenas para config

php bin/magento cache:clean config

para finalizar rode a aplicação com o seguinte comando:

php -S 127.0.0.1:8082 -t ./pub/ ./phpserver/router.php

Et Voila!!! Acesse o painel admin:
http://127.0.0.1:8082/admin_wrr7yw/

Você deverá ver o painel do Magento, se acaso alguma coisa não deu certo, não se desespere, seja persistente que tudo vai dar certo.

Acesse o video do youtube de seu like e se quiser me siga. Abraço e até a próxima.

Top comments (1)

Collapse
 
joabiovilela profile image
Joábio Vilela

Obrigado e Parabéns!