quinta-feira, 26 de setembro de 2013

Criando um ambiente de desenvolvimento para Magento

Instalou-se o Magento 1.7 no servidor do meu cliente para ver como funcionaria.
Foi então que precisei ter um ambiente de desenvolvimento de tudo isso que estava no servidor.
Infelizmente não é só copiar e trocar as informações de conexão, tem alguns macetes pois o tal Magento faz cache de tudo.

Vamos aos passos

  • Copiar todos os arquivos para a pasta que deseja no seu computador.
  • Fazer uma cópia do banco de dados, pode ser através do MySQL WorkBench.
  • Restaure essa cópia no seu banco de dados local.
  • No Magento, altere o arquivo "app/etc/local.xml" com os dados de conexão do seu banco.
  • Apague tudo dentro das pastas de cache "var/cache/" e "var/session/".
  • Na tabela core_config_data procure os seguintes registros:
SELECT config_id, path, value FROM core_config_data
where path in ('web/unsecure/base_url','web/secure/base_url');


  • Altere o campo path com o endereço do Magento local, exemplo:

update core_config_data set value = 'http://127.0.0.1/'
where config_id in (<numero>,<numero>);

Pronto, feito isso deverá funcionar. Caso não altere o banco ou limpe o cache, ao iniciar o Magento ele irá redirecionar para o site de origem no servidor.

O que me ferrou na versão que eu estava trabalhando, é que duplicaram as tabelas, existia core_config_data e a mesma com prefixo mgt_core_config_data, até descobrir isso, quase tive uma sincope.

Outro detalhe é que não entrava a página administrativa, dava erro 404. Na verdade o SEO configurado no .htaccess do Magento não estava funcionando pois meu Apache, de sacanagem, veio com o módulo  "Rewrite" desativado. Entrei na pasta do apache (/etc/apache2) e ativei manualmente

 sudo cp mods-available/rewrite.load mods-enabled/rewrite.load

E, para finalizar, ainda tive tela branca ao logar no administrativo. Percebi que faltou instalar o Curl, então:

sudo apt-get install php5-curl

É isso gente, detalhes de como fazer um backup/restauração de banco ou cópia do site por FTP, isso eu deixo com vcs.

Té + !