logo

PRESTASHOP – Como migrar loja Prestashop para servidor local

Neste post farei o caminho inverso do tutorial anterior, onde migramos a loja de um servidor online para outro. Migraremos a loja Prestashop de um servidor online para um servidor local.

Primeiramente baixe o backup do servidor online para seu computador. Feito isso, vamos começar.

Transfira o conteúdo do backup para a pasta do servidor local (o local da pasta vai depender se você utiliza o Xaamp ou Wamp). No Wamp (que eu utilizo) a pasta é a “www/subpasta” (dê o nome que você preferir).

Em seguida faça o upload do banco de dados. Nesta etapa você poderá enviar automaticamente via phpMyAdmin. Acesse localhost/phpmyadmin, crie um novo banco de dados e importe a tabela que você fez backup anteriormente.

Agora um passo muito importante! Como o nome e acesso ao banco de dados será diferente, você deverá alterar algumas configurações de acesso. Para isso edite o arquivo:

/config/settings.inc.php

São apenas 4 itens a modificar, veja na imagem abaixo:

prestashop-migracao-servidor-1

Na área em destaque da foto você deve inserir as novas configurações do banco de dados (na área desfocada, que fiz por motivos óbvios!), sempre entre aspas simples:

  • _DB_SERVER_: caminho para o banco de dados, conforme instrução da sua nova hospedagem. Neste caso, use “localhost“;
  • _DB_NAME_ : nome do banco de dados. Utilize o nome do banco de dados que você criou e importou as tabelas do banco de dados que baixou do servidor online.
  • _DB_USER_ : usuário do banco de dados. Se você não fez nenhuma alteração de usuário, você deve colocar “root” neste campo.
  • _DB_PASSWD_ : senha do banco de dados. Se você não fez nenhuma alteração de senha, você deve colocar senha em branco (” “) neste campo.

Feito isso, o próximo passo é a configuração da tabela shop_url através do phpMyAdmin:

 

Acessando a tabela shop_url, verifique:

  • domain: insira “localhost”;
  • domain_ssl: insira “localhost”;
  • physical_url: pasta de instalação da loja, sempre entre “/” (ex.: “/subpasta/”).

Ainda no phpMyAdmin, acesse a tabela configuration e edite os valores de PS_SHOP_DOMAIN e PS_SHOP_DOMAIN_SSL para “localhost”, conforme imagem abaixo:

Após, acesse primeiramente a área de administração do site e configure o acesso SSL (desabilite-o se ele estava habilitado no servidor online), se necessário (este passo é importante).

Seguindo esses passos você completará a migração de sua loja Prestashop.

Gostou? Tem alguma sugestão? Deixe seu comentário!

18 comentários em “PRESTASHOP – Como migrar loja Prestashop para servidor local”

  1. Olá, Jorge! Tudo bom?
    Sabe me dizer se isso funcionaria de uma versão online de uma loja que está em versão 1.5.6.1 para a versão atual (1.7.2)?
    É que queria dar um \”upgrade\” na loja para a nova versão, mas quero tentar manter todos os clientes e histórico já existente, pois sempre que tento atualizar pela Atualização 1 clique dá erro, a loja fica bugada…

    Estava tentando jogar para o localhost para fazer meus testes antes de mexer direto no servidor, mas quando tento fazer isso que você ensina aparece o seguinte no arquivo /config/settings.inc.php :

    <?php
    //@deprecated 1.7

    E apenas isso, ou seja, não tenho como editar e fazer as alterações que você indica.
    Pode me dar um help?

    Obrigado!

    • Boa tarde, Gabriel.

      Obrigado por sua participação no blog!

      Quando você diz \”versão online\” refere-se a uma loja rodando em um servidor comum ou aquela em que é hospedada no servidor do Prestashop? Caso seja essa versão, não há nada a fazer, certeza!

      Agora, quanto a migrar para a versão 1.7.2, ainda não fiz testes (tá faltando tempo, mas está em minha agenda!) e acredito que seja muito mais trabalhoso, pois pode haver diferença na estrutura de pastas e/ou banco de dados. Sem falar na compatibilidade de temas e módulos. Na minha opinião, não será um bom negócio! Caso queira trabalhar com a versão 1.7, que é diferente estruturalmente da 1.6, faça com novos projetos (estou iniciando um agora e farei exatamente isso!).

      Por enquanto vou te dar uma dica para você não ficar \”parado\” em seus projetos… Para usar o 1-click-upgrade, selecione \”NÃO\” em todas as caixas de seleção e faça backup através do CPanel de sua hospedagem (ou outro ambiente similar). Nunca faça backup pelo módulo de atualização! Para mim nunca deu certo, sempre gerando erros e excesso de uso do servidor.

      Quanto ao uso do servidor, coloque \”baixo\” e após colocar sua loja em manutenção, tente atualizar. A versão mais atual é a 1.6.1.17 e é certeza que \”pular\” versões não é um bom negócio!

    • Esqueci uma coisa… Quando você cita o erro:
      < ?php //@deprecated 1.7 Você não estaria com uma instalação da versão 1.7 no localhost e sobrepondo os arquivos do backup com uma versão anterior? Onde é mostrado o erro? No arquivo /config/settings.inc.php ou no front-end da loja?

      • Sim! No local estou com o 1.7 para construção da nova loja, e online, no alojamento, eu tenho a 1.5.6.
        O erro aparece no /config/settings.inc.php, que, pelo que entendi do seu tutorial, era onde tenho que entrar para alterar os 4 itens de acesso ao banco de dados

        • Mas isso só funcionará para uma migração de local, preservando a versão da loja. Se você instalar versão superior e migrar os arquivos, sobrepondo-os no destino, não irá funcionar!

          Já que você quer iniciar uma loja 1.7 do zero e manter o banco de dados (que não sei se tem a mesma estrutura), faça uma instalação manual. Baixe o arquivo oficial no site do Prestashop, crie um novo banco de dados e importe todas as tabelas do site antigo para este novo banco. Durante a instalação, indique este novo banco que você criou e importou todas as tabelas.

          Veja bem, isto é uma tentativa, pois não sei se a estrutura do banco é a mesma, ok?

  2. Ah, caso não seja possível por ser uma versão mais antiga, sabe me dizer como faço para manter pelo menos o cadastro dos clientes para que eles não percam suas contas?

    Obrigado!

    • O cadastro de clientes fica no banco de dados, mais precisamente nas tabelas: ps_address, assim como todas as tabelas ps_customer/ps_customer_X e ps_guest .

      Neste fim de semana devo fazer alguns testes em minhas lojas. Vou iniciar um novo projeto e colocarei a loja na versão 1.7.2, que ainda não experimentei.

      Caso eu descubra algo novo, certamente farei um post. Fique de olho aqui no blog.

      • Oi Jorge!
        Sim, estou trabalhando em localhost para a nove versão do site, mas se tiver que fazer tudo de novo, queria pelo menos conseguir manter o cadastro do clientes e tudo o que for relacionado a eles, para que eles não precisassem se recadastrar no site posteriormente, o que convenhamos, é bastante desagradável.

        Consegui encontrar estas entradas no banco de dados através do PHP my admin, só que quando tento salvar apenas estas, ele faz o save de toda a tabela o que gera um arquivo em CSV enorme, e se eu tento inserir este arquivo via php admin no localhost, ele passa a direcionar tudo para o site que está no alojamento, ou seja, online…

        Não sei se ficou claro a minha explicação. :/
        Não tenho experiência em PHP, nem nada, mas se puder dar um help, agradeço desde já!

        Obrigado!

  3. Oi Jorge!

    Desculpe a demora, mas por aqui está uma confusão com a minha troca de hospedagem e tal e só agora estou retornando a este projeto.

    Então, desisti do banco de dados e anterior e comecei a nova loja em localhost, agora enviei ela para ambiente de testes na hospedagem, e quando fui importar o banco de dados que estava no localhost e tive sucesso, mas quando vou abrir o arquivo config/settings.inc.php para editar, tudo o que tem nele é o seguinte:

    <?php
    //@deprecated 1.7

    • Olá, Gabriel

      Desculpe a demora em responder…

      Lembra que iniciei um projeto na versão 1.7? pois é… desisti! Nenhum módulo que usava anteriormente na versão 1.6 funcionou! Logo, voltei a usar a versão 1.6!

      Fiz uma pesquisa rápida e descobri que esses parâmetros agora estão em um novo arquivo que fica em: app/config/parameters.php.

      Não tenho nenhuma instalação da versão 1.7 para testar. Por favor poste um feedback…

      Abraço!

        • Oi Jorge!
          Obrigado pela atenção!
          É exatamente este o arquivo, fiz as alterações nele seguindo suas dicas e consegui, o único porém foi que nesta 1.7.2 não encontrei as entradas PS_SHOP_DOMAIN e PS_SHOP_DOMAIN_SSL na tabela cofiguration, mas com as alterações em SHOP_URL tudo ficou ok.

          Queria mesmo te agradecer bastante, pois não sabia absolutamente nada sobre este tema, que antes era puro grego para mim, mas agora já posso dizer que parece francês avançado (o meu nível de francês é básico! kkkk).

          Quando a loja estiver no ar de vez, acredito que pro início de dezembro, eu venho aqui e compartilho o link contigo para você ver. ^^

          Valeu cara, um grande abraço e tudo de bom!

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *