sexta-feira, 31 de agosto de 2018

[WordPress] Criando cópia de um site wordpress

Frequentemente para trabalhar num site precisamos criar uma cópia dele localmente. Pretendo explicar nessa postagem como criar uma cópia de um site em Wordpress no seu computador para trabalhar como ambiente de desenvolvimento.

Copiar o banco de dados
Esse procedimento vai variar. Muitos servidores de hospedagem oferecem no seus painéis de controle um meio de fazer backup. Procure essa opção e faça download desse arquivo com o backup.

O MySql tem um programa específico onde poderá fazer isso (MySql Workbench).

Pronto, agora é entrar na sua nova pasta e editar os arquivos de configuração. Primeiro, se existir, editar o ".htaccess" trocando os nomes da pasta antiga. Segundo, trocar as informações de banco de dados no arquivo "wp-config.php", nele vai ter os dados de conexão e prefixo das tabelas.
Caso pense em mudar de banco, faça o backup no banco de origem e restaure no banco de destino, aí nem precisa alterar prefixo das tabelas.
A ideia minha é manter os dados de conexão e copiar as tabelas com prefixo diferente no mesmo banco de dados. Já veremos como fazer a cópia de tabelas.


Copiando as tabelas mudando apenas o prefixo.
Como mencionado acima, vou manter a mesma base de dados e vou copiar as tabelas mudando apenas o prefixo. Entre num terminal MySQL para executar os comandos.
Primeiro liste as tabelas do seu Wordpress:

  • show tables;

Por padrão, as tabelas do Wordpress tem o prefixo "wp_". Para cada tabela encontrada, faça uma cópia usando o seguinte comando:

  • create table wp_novo_posts select * from wp_posts;
No exemplo, para a nova tabela, eu usei o prefixo "wp_novo", porém use qualquer outro que quiser.


Modificações para acesso do usuário
Como alteramos os prefixos das tabelas, teremos erro de permissão ao tentar entrar no sistema administrativo do WordPress. Para resolver isso, precisamos substituir os prefixos de alguns registros nas seguintes tabelas:
  • select option_name from meuPrefixo_options where option_name like '%user_roles';
Nessa consulta, deverá aparecer um registro. Atualize-o usando o comando abaixo lembrando de substituir "meuPrefixo" pelo seu prefixo.
  • UPDATE meuPrefixo_options SET option_name = 'meuPrefixo_user_roles' WHERE option_name LIKE '%user_roles';

Trocar o option_name "antigo_user_roles" para "meuPrefixo_user_roles".
  • select umeta_id, meta_key from meuPrefixo_usermeta where meta_key like 'wp_%' ;
Substituindo...
  • UPDATE wpfb_usermeta SET meta_key = replace(meta_key, 'wpfb_eng_', 'wpfb_') where meta_key like 'wp_%' ;

Atualizando o link do Wordpress
Ainda utilizando um terminal para executar comandos no MySQL, vamos atualizar mais dois campos do banco de dados para que nossa cópia funcione.
Verificando...

  • select option_name, option_value from wpfb_options where option_name = 'siteurl' OR option_name = 'home';


Atualizando...

  • UPDATE wp_options SET option_value = 'http://localhost' where option_name = 'siteurl' OR option_name = 'home';



Atualizando os links das imagens

Baixar e instalar o plugin:
  • http://wordpress.org/plugins/velvet-blues-update-urls/
Na área administrativa, clique em Ferramentas -> Update URL
Marque todos os tipos de URL que deseja atualizar e aplique a configuração.


Nenhum comentário:

Postar um comentário