Como migrar o subsite do multisite de desenvolvimento para o multisite de produção


12

Estou procurando a melhor e mais segura maneira de desenvolver localmente um número de subsite usando vários sites e movendo-os para o ambiente de produção quando estiverem prontos.

Eu já migrei a instalação multisite completa com o primeiro subsite que já está ativo. Eu preferiria desenvolver os outros sites no servidor local, então deixo o servidor de produção em paz, mas obviamente não posso fazer uma migração completa novamente.

Procurei uma solução, mas tudo o que encontrei foi sobre mudar um único site para um multisite ou o contrário, não "mover subsite de multisite para multisite".

Eu gostaria de manter tudo: configurações, widgets e assim por diante.


1
Acho que o plugin BackupBuddy comercial é capaz de fazer isso, mas eu estaria interessado em ver respostas mais genéricas para isso.
Rarst

Devido às seqüências serializadas no banco de dados, não é tão fácil fazê-lo. Eu não vi um plugin para uma migração pura até agora, mas isso absolutamente algo que deve ser feito. O único foi mover a "maioria" de partes de um blog para outro, através do mecanismo de exportação / importação XML, mas você ainda precisará corrigir muitos caminhos posteriormente.
2ndkauboy

1
A melhor opção que você tem é fazer isso com uma consulta sql direta. Já fiz isso mais de uma vez e funciona bem se você for cuidadoso o suficiente.
precisa saber é o seguinte

@ krembo99, você poderia explicar um pouco mais a sua técnica?
molokom

@Rarst, no que diz respeito ao BackupBuddy, isso está nas perguntas frequentes: "Não. O suporte ao BackupBuddy Multisite é experimental. Não é recomendado para sites de produção e não é oficialmente suportado."
molokom

Respostas:


4

Isso pode ser um pouco entediante, mas espero que isso ajude. Quanto menos mudar de um ambiente para outro, menos doloroso será esse processo. Particularmente, se o domínio, o ID do site e os caminhos de arquivo permanecerem os mesmos, menos doloroso será esse processo.

Este post pressupõe algum conhecimento de gerenciamento de banco de dados. Não é um passo a passo completo, pois você deve procurar nos fóruns e possivelmente criar um encadeamento específico para qualquer etapa com a qual esteja tendo problemas, por exemplo, se precisar de ajuda para exportar uma tabela de banco de dados.

A coisa mais importante a fazer é fazer backup de todo o banco de dados e arquivos do site de desenvolvimento local e do novo local, caso algo dê errado. Espere que algo dê errado. Seja agradavelmente surpreendido se não o fizer.

Mover seus arquivos de tema deve ser bem direto. Carregue seus arquivos de tema no diretório wp-content / themes e ative-o normalmente. Estou assumindo que este é um tema compartilhado ao qual todos os blogs têm acesso.

Faça o upload dos arquivos de plug-in para wp-content / plugins no novo local. Não os ative ainda.

Observe que qualquer conteúdo exclusivo para o blog que você está migrando estará localizado em um diretório que se parece com wp-content/blogs.dir/2/filesonde 2 é o ID do site. Se for possível manter esse ID do site no novo local, isso deve ajudar a minimizar conflitos no banco de dados após a migração para o novo local. Caso contrário, você precisará atualizar seu banco de dados para refletir o novo caminho.

Você precisará exportar as tabelas de vários sites relacionadas ao blog que você está tentando migrar e importá-las para o novo local. Você precisará editar as tabelas que armazenam dados relacionados ao blog que você está migrando. Verifique se o prefixo dessas tabelas é o mesmo no novo local.

Por exemplo, a tabela wp_blogs do seu blog contém a identificação do blog, a identificação do site, o domínio e o caminho que permitem que o multisite do WordPress reconheça e trabalhe com o seu blog. Edite qualquer um dos itens que não estão mais corretos para refletir o novo local, mas leia o restante desta postagem antes de tentar fazê-lo.

Consulte Visão geral da tabela multisite

Para migrar as configurações do WordPress e do plugin para o blog a ser transferido , você precisará desativar todos os plugins localmente e exportar as tabelas específicas do site (referência de codex), incluindo as dos plugins. Importe essas tabelas para o novo banco de dados do local.

Verifique se o novo local usa o mesmo prefixo de banco de dados que as tabelas que você está importando. O prefixo conterá o ID do site do seu blog e será algo parecido wp_2_options, wp_2_posts, wp_2_postmeta.
Consulte Explorando o Multisite do WordPress por Lisa Sabin-Wilson

Suponho que você saiba como importar / exportar via phpmyAdmin ou com o comando mysqldump no seu terminal. Isso está um pouco além do escopo deste post, mas aqui está um exemplo de exportação que deve ajudar.

De Como você mysqldump tabela específica (s)? (Sintaxe editada um pouco para ficar mais clara.):

Se você estiver descartando as tabelas t1, t2 e t3 do banco de dados chamado mydb

mysqldump -u <username> -p <password> mydb t1 t2 t3 > mydb_tables.sql

Antes de ativar plug-ins no novo site, acesse as configurações de link permanente no admin cp e salve as configurações para atualizar os arquivos de banco de dados no novo URL do site. Ative seus plugins e veja se há algum problema.

Um problema que você pode encontrar é com a serialização de dados em suas tabelas.

"[...] As referências ao antigo nome de domínio ou local permanecerão no banco de dados e podem causar problemas com links ou exibição do tema.

Se você pesquisar e substituir em todo o banco de dados para alterar os URLs, poderá causar problemas com a serialização de dados, devido ao fato de que alguns temas e widgets armazenam valores com o comprimento do seu URL marcado. " Quando o seu nome de domínio ou URLs mudança

Lembre-se de que a serialização de dados também pode causar um conflito nas tabelas do banco de dados relacionadas aos seus plug-ins. Em vez de executar uma pesquisa manual e substituir o URL armazenado no banco de dados, use o script de pesquisa e substituição do banco de dados recomendado no link do codex anterior. Se houver apenas algumas instâncias de serialização no banco de dados, você poderá editá-las manualmente via phpMyAdmin ou qualquer que seja sua preferência para gerenciar seu banco de dados.

Mais um problema que você pode encontrar é que quaisquer caminhos de arquivo incorretos armazenados nas tabelas do banco de dados precisarão ser atualizados para refletir o novo local. Pode ser o caso de diretórios de mídia ou diretórios usados ​​por plug-ins, dependendo de como o plug-in foi projetado. Novamente, convém usar o script de pesquisa e substituição para garantir que não haja conflitos de serialização ao atualizar os caminhos do arquivo. Como alternativa, você pode percorrer suas tabelas e atualizá-las manualmente.


Obrigado! Portanto, parece que não há benefício real em trabalhar dessa maneira: é um saco de mágoa. Seria melhor desenvolver um site local único e migrar para o ambiente multisite?
molokom

Você pode ter muitos dos mesmos problemas, mas deve exigir menos tabelas que você precisa migrar. Só para você ter uma idéia, aqui está um guia decente para o chamado Mover um Blog Existente para o WordPress em Vários Sites . Deixarei que você determine qual é mais eficiente para você como desenvolvedor.
22714 Iyrin

0

Você não poderia usar os recursos de exportação e importação do WordPress? Depois, basta mover o tema de uma instalação para a outra via FTP. Vai rapidamente e você pode migrar um site entre as instalações em menos de 5 minutos.

Você pode sincronizar credenciais do usuário usando um plugin bacana chamado Sincronização do Usuário .

Eu não o usei, mas o ManageWP possui uma ferramenta de implantação e clonagem fácil de usar para ir de um site existente para um novo ... vale a pena investigar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.